vobStreamer——网络DVD播放器应用程序
ffmpeger 发布于 2021-05-17

vobStreamerTM-一个网络DVD播放器应用程序,通过局域网传输DVD内容

“vobStreamer”是一个命令行程序,它从一个或多个“.vob”文件(如DVD)读取音频和视频曲目,并使用开放标准RTSP和RTP协议通过多播对其进行流式传输。它最适合在高比特率(有线或无线)局域网(LAN)上传输DVD内容。

重要提示!

此程序适用于流媒体DVD—例如“内部”公司培训视频和个人“家庭视频”DVD—您拥有这些DVD的内容。它不适用于流式播放商业电影DVD;这些DVD是加密的,“vobStreamer”无法传输它们(请注意,“vobStreamer”不包含解密、媒体解码或DVD特定功能。)请使用此应用程序仅流式传输法律允许分发的内容。

基本操作

运行此程序的最简单方法是:

vobStreamer foo.vob

其中foo.vob是单个vob文件的名称。或者,命令行可以包含多个VOB文件的名称,“vobstream”将按顺序读取每个文件。例如,如果您的DVD安装在目录“/dev/DVD”中,则可以通过运行

vobStreamer/dev/dvd/video_ts/vts_*.vob

(假设是标准的Unix shell)。

“vobstream”将跳过(而不是流式传输)任何它无法读取的文件,或包含格式错误的内容(如加密数据)的文件。一旦到达参数文件列表的末尾,“vobStreamer”将从列表的开头重新开始。

启动时,“vobstream”创建一个内部RTSP服务器,并打印出一个URL(以“RTSP://”开头),接收媒体播放器(在同一个支持多播的网络上)可以用来播放流。

使用不同的RTSP服务器端口号

默认情况下,“vobstream”使用默认的RTSP端口号554作为其内置的RTSP服务器。但是,大多数Unix系统需要“root”权限才能使用该端口号。

要使用不同的端口号,请使用“-p<RTSP server port number>”选项-例如。,

vobStreamer-p 8554/dev/dvd/video_ts/vts_*.vob

接收和播放流

现有的几个播放器只能接收和播放视频流。这些播放器包括QuickTime播放器(带有MPEG-2解码器插件)、RealOne(和/或“Helix”)播放器(同上)和Cisco的IP/TV播放器。

目前已知只有两个播放器能够同时接收和播放音频和视频:

“VLC”媒体播放器(推荐)

“MPlayer”,内置RTSP/RTP支持。

另一种接收音频和视频流的方法是使用“openRTSP”工具,它将传入的流记录到两个文件中:一个用于音频;另一个是视频。

低带宽网络上的流媒体

“vobStreamer”最适合于局域网,如100 Mbps(或更高)以太网(802.11a或802.11g无线局域网(但不是802.11b)也可以工作。)在较低带宽网络上进行流式传输时,您可能希望使用“-i”选项。这个选项告诉“vobstream”只传输“I”(即“key”)帧,通常每秒发生两次。使用此选项,将不发送“P”和“B”帧。

注意:如果使用“MPlayer”接收/播放仅I帧流,则应使用“-fps 2”选项运行“MPlayer”,否则可能会混淆视频流的实际帧速率。

其他选择

要仅传输视频(而不是音频),请使用“-v”选项。同样,要仅传输音频(而不是视频),请使用“-a”选项(“-a”选项当然是在低带宽网络上使用“vobstream”的另一种可能方式。)

源代码

此程序使用“liveMedia”库中的“RTSPServer”、“MPEGDemux”、“MPEGVideoRTPSink”和“AC3AudioRTPSink”(以及相应的“framer”)模块,这些模块作为“LIVE555流媒体”源代码包的一部分分发。

程序本身的源代码也与这个包捆绑在一起,如“testProgs”目录中的文件“vobstream.cpp”。有关如何从源代码构建此程序的说明,请参阅“LIVE555流媒体”文档。

支持和定制

如果您有兴趣看到添加到程序中的新功能(例如,支持额外的RTP有效负载格式(编解码器)),或者有兴趣自定义此程序的功能和/或将其嵌入到您自己的应用程序或设备中,请发送电子邮件至support(at)live555.com

命令行选项摘要

-仅传输音频流

-i仅流式传输“关键”视频帧-即i帧(以降低输出比特率)

-p<RTSP server port number>指定内置RTSP服务器的端口号(默认值:554)

-v仅传输视频流

ffmpeger
关注 私信
文章
63
关注
0
粉丝
0