如何在Ubuntu中播放rtsp流?


9

更具体地说,问题是如何从其中带有问号的地址播放rtsp流。

IE:rtsp://some.server.name:554 / video_file.wmv?authstring = sOm3StrIN2 ==&param = 3

我尝试了各种媒体播放器,但无法流式传输文件。我确定这不是服务器问题,因为我可以在不需要身份验证的服务器上流式传输测试视频。 vlc无法处理此类网址令我
感到惊讶,因此我尝试了mplayer,但它也无法播放流。 mpv是我第一个设法播放上面提到的测试视频的播放器,但是我无法流式传输上面编写的形式的url。使用mpv我尝试了以下命令行:

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一起使用,但是我不想使用酒或转到Windows(我有对决启动程序)只是为了观看视频流。

Answers:


6

你有没有试图按照这些从VideoLAN的文件(向下滚动到说明视频点播节)?

如果您提供要流式传输的测试rtsp url,这将很有用。

编辑:以上链接的说明是:

首先启动vlc:

vlc --ttl 12 -vvv --color -I telnet --telnet-password videolan --rtsp-host 0.0.0.0:5554

哪里:

  • IP数据包的TTL(生存时间)值是12(这意味着该流将能够通过11个路由器)。

  • telnet启动vlc的telnet接口。

  • videolan是连接到telnet界面的密码。

  • 0.0.0.0 是主机地址。

  • 5554 是您在其上流式传输的端口。

然后连接到vlc telnet界面并创建vod对象:

new Test vod enabled

setup Test input my_video.mpg

您可以通过以下方式访问流:

vlc rtsp://server:5554/Test

其中server是流服务器的地址(IP或DNS)


1
我不确定这应该如何工作。在我看来,这会让我进入rtsp服务器,但我需要找到一个可以与需要某些参数的服务器进行通信的客户端(用于身份验证)
yaron160

3

您可以尝试使用mplayer。

sudo apt-get install mplayer

rtsp://在其命令行上将URL 传递给mplayer。那里有一些服务器,它们rtsp://通过HTTP 提供包含URL的文件,但是随后以MMS协议提供内容。这是为了与某些较旧的Microsoft播放器兼容(我的记忆模糊不清),但是它破坏了认为RTSP是RTSP而MMS是MMS的客户端。如果您获得的rtsp://网址根本无法使用,请尝试用替换该方案mms://


尝试了您的建议,但没有成功。
yaron160

0

对我而言,最好的播放器是ffmpeg:

ffplay rtsp://username:password@server:554/path

如果不需要身份验证,

ffplay rtsp://server:554/path
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.