问题:
我可以通过 SSH 获取本地 VLC 实例来从远程计算机流式传输媒体吗?
这是在我观看视频的本地计算机上运行 VLC 的情况,而不是通过 X11-over-SSH 远程观看。
VLC 是否有任何额外的访问模块可以启用 SSH 源?
不幸的是,本地计算机运行的是 Windows 7,如果可能的话,我想避免双重启动。
可能不需要——我的设置:
我有一台在英国的计算机,它通过 SSH 自动连接到 VPS 并设置反向端口转发。
对于那些有兴趣这样做的人来说,英国计算机使用:
ssh -nNTP *:9000:localhost:22 user@vps
其中
9000
和tunnel@vps
应该根据您的设置进行相应的更改。我从世界任何地方通过 SSH/PuTTY 连接到 VPS 上的映射端口,以便访问英国计算机。我通过 SSH 隧道从本地计算机连接到英国计算机,然后在本地执行:
ssh user@vps -p 9000
这对于在英国计算机上获取 shell 非常有用。我想将媒体从它流式传输到我的本地 PC 上,不幸的是,我的本地 PC 运行的是 Windows 7。这排除了 SSHFS,也排除了 win-sshfs,后者在 Windows 7 上有很多错误。
目前,我使用 win-ssh 开始复制文件,然后使用 VLC 播放(不完整的)文件。只要复制速率高于媒体比特率,并且 win-ssh 不会失败(大多数文件都会失败),这种方法就很好用。我正在寻找更强大的解决方案。
答案1
尝试 SFTP。这是 SSH 用于传输文件的协议,VLC 在“打开网络流”菜单中输入sftp://<server>/<path to file>
并进行身份验证即可支持该协议。
答案2
三个步骤:
- 生成一个新的 SSH 密钥,以便于进行身份验证
ssh-kegen
。 - 用于
ssh-copy-id
将密钥复制到服务器。 在命令行中输入
vlc sftp://user@host:/path/to/file
答案3
当我输入文件位置时,我也遇到了让 VLC 播放的问题。然后我在文件浏览器中打开 sftp,双击视频以在 VLC 中启动它,一切正常。我检查了播放列表属性下的 URL 是什么样子的,它的格式如下:
/run/user/1000/gvfs/sftp:host=HOSTNAME/PATH/TO/FILE.EXT
我假设您需要将 1000 替换为远程用户的 uid,并分别替换 HOSTNAME 和 '/PATH/TO/FILE.EXT'。
希望这对某些人有帮助。不过,最终最简单的解决方案是通过文件浏览器浏览文件,然后从那里使用 VLC 打开。
答案4
我也遇到了同样的问题,但我想要流式传输的文件仍在被修改(因为这是现场录制,但如果您使用 ssh 服务器下载电影,也可能发生这种情况)。在这种情况下,Mark 的方法不起作用,因为当文件大小达到下载开始时的大小时,下载就会停止。
但是我写了一个 Java 程序,基本上只要文件变大,它就会恢复下载。如果有人感兴趣,这个程序在那里: