如何在 ubuntu 中播放 rtsp 流?

yar*_*160 9 mplayer vlc streaming rtsp

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

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

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

mpv --http-header-fields='authstring:sOm3StrIN2==','param:3' \rtsp://some.server.name:554/video_file.wmv
Run Code Online (Sandbox Code Playgroud)

并尝试添加该--rtsp-transport=lavf|tcp|udp|http选项,但没有任何效果。

不幸的是,我知道这样的链接(如上面所写)适用于 windows 媒体播放器,但我不想使用 wine 或转到 windows(我有决斗引导)只是为了观看流。

小智 16

对我来说最好的播放器是 ffmpeg:

ffplay rtsp://username:password@server:554/path
Run Code Online (Sandbox Code Playgroud)

如果不需要认证,

ffplay rtsp://server:554/path
Run Code Online (Sandbox Code Playgroud)


elg*_*cse 6

您是否尝试遵循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 个路由器)。

  • 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)


Ana*_*Das 3

你可以尝试一下mplayer。

sudo apt-get install mplayer
Run Code Online (Sandbox Code Playgroud)

rtsp://在命令行上将 URL传递给 mplayer。有些服务器rtsp://通过 HTTP 提供包含 URL 的文件,然后以 MMS 协议提供内容。这是为了与一些较旧的微软播放器兼容(我的细节记忆模糊),但它打破了客户认为 RTSP 是 RTSP、MMS 是 MMS 的观点。如果您获得的rtsp://URL 根本不起作用,请尝试将方案替换为mms://.