使用 ffmpeg 播放 MPEG-dash 流时出现问题。我知道有很多工具可以播放 MPEG-dash,例如 OSMO4、DASH.js。但是,我想知道我是否可以使用 FFMPEG 播放 MPEG-dash?还有一个问题,播放 MPEG-dash 流时如何确定启动时间?这意味着,从服务器请求 MPD 文件直到我在屏幕上获得第一张视频显示的持续时间?谢谢!
问问题
11535 次
1 回答
6
ffmpeg 现在可以(门票:5269 , 7382已修复)播放 MPEG DASH,但您需要确保在二进制文件中启用了支持(这似乎不常见,因为默认情况下似乎通常不启用 DASH 解复用支持)。正如@aergistal 在评论中提到的,您可以检查破折号解复用支持(根据 DASH MPD,您还需要适当的编解码器支持,但通常启用大多数常用编解码器):
ffmpeg -formats | grep dash
它应该显示(D
表示支持 Demuxing 和E
muxing):
DE dash DASH Muxer
如果您没有看到 DASH Demuxing 支持,那么您需要(重新)编译 ffmpeg。下载源代码,解压并进入 src 代码目录,然后使用 configure 启用 dash demuxing 支持(libxml2
如果没有,还需要安装支持):
ffmpeg-X.X.X$ ./configure --enable-demuxer=dash --enable-libxml2
ffmpeg-X.X.X$ make
启用支持后,您应该能够播放这样的测试流:
ffplay http://dash.edgesuite.net/dash264/TestCases/1a/netflix/exMPD_BIP_TC1.mpd
要回答您的第二个问题 - 启动延迟取决于下载 MPD 然后执行 MPD 中的操作所花费的时间 - 通常它需要下载初始化段,然后在开始播放之前获取第一个媒体段。
于 2018-10-17T10:47:37.090 回答