更具体地说,问题是如何播放带有问号的地址的 rtsp 流。
IE:rtsp://some.server.name:554/video_file.wmv?authstring=sOm3StrIN2==¶m=3
我尝试了各种媒体播放器,但无法播放文件。我确信这不是服务器问题,因为我可以在不需要身份验证的服务器上播放测试视频。令
我惊讶的是甚高频无法处理这样的网址,所以我尝试了播放器但它也无法播放流媒体。
乘用车是我成功播放上述测试视频的第一款播放器,但我无法播放上述格式的网址。使用乘用车我尝试了这个命令行:
mpv --http-header-fields='authstring:sOm3StrIN2==','param:3' \rtsp://some.server.name:554/video_file.wmv
并且还尝试添加--rtsp-transport=lavf|tcp|udp|http
选项,但是没有任何效果。
不幸的是,我知道这样的链接(如上所述)可以与 Windows Media Player 一起使用,但我不想使用 wine 或转到 Windows(我有双重启动)只是为了观看流媒体。
答案1
对我来说最好的播放器是 ffmpeg:
ffplay rtsp://username:password@server:554/path
如果不需要身份验证,
ffplay rtsp://server:554/path
答案2
你是否尝试过关注这些Videolan 文档中的说明(向下滚动到视频点播部分)?
如果您提供想要流式传输的测试 rtsp url,它将会很有用。
编辑:上述链接中的说明如下:
首先启动 vlc:
vlc --ttl 12 -vvv --color -I telnet --telnet-password videolan --rtsp-host 0.0.0.0:5554
在哪里:
12是您的 IP 数据包的 TTL(生存时间)值(这意味着该流将能够跨越 11 个路由器)。
远程登录启动vlc的telnet接口。
视频局域网是连接telnet接口的密码。
0.0.0.0 是主机地址。
5554 是您进行流式传输的端口。
然后连接到 vlc telnet 接口并创建视频点播目的:
new Test vod enabled
setup Test input my_video.mpg
您可以使用以下方式访问该流:
vlc rtsp://server:5554/Test
在哪里服务器是流媒体服务器的地址(IP 或 DNS)
答案3
您可以尝试一下 mplayer。
sudo apt-get install mplayer
在命令行上将 URL传递rtsp://
给 mplayer。有些服务器rtsp://
通过 HTTP 提供包含 URL 的文件,但随后以 MMS 协议提供内容。这是为了与一些较旧的 Microsoft 播放器兼容(我对细节的记忆模糊了),但它会破坏那些认为 RTSP 是 RTSP 而 MMS 是 MMS 的客户端。如果您获得的 URLrtsp://
根本不起作用,请尝试用 替换该方案mms://
。