使用FFMPEG播放MPEG-dash流媒体

时间:2015-03-04 07:38:58

标签: ffmpeg mpeg-dash

使用ffmpeg播放MPEG-dash流时遇到问题。我知道有很多工具可以播放像OSMO4,DASH.js这样的MPEG-dash。但是,我想知道我是否可以用FFMPEG播放MPEG-dash? 还有一个问题,我怎样才能确定播放MPEG-dash流媒体时的启动时间?这意味着,我从服务器请求MPD文件的持续时间,直到我在屏幕上显示第一个视频显示图片? 谢谢!

3 个答案:

答案 0 :(得分:2)

ffmpeg现在可以(已修复票务:52697382)播放MPEG DASH,但是您需要确保已启用二进制文件中的支持(这似乎并不常见,因为DASH多路分解支持不会似乎通常没有默认启用)。如@aergistal的评论中所述,您可以检查是否支持破折号脱胶(根据DASH MPD,您还需要适当的编解码器支持,但通常会启用大多数常用的解码器):

ffmpeg -formats | grep dash

它应该显示(D表示支持解复用,E表示支持复用):

DE dash            DASH Muxer

如果看不到DASH Demuxing支持,则需要(重新)编译ffmpeg。 Download的源代码,解压缩并进入src代码目录,然后使用configure启用破折号脱胶支持(如果没有,还需要安装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中执行操作所需的时间确定-通常,它需要下载初始化段,然后获取第一个媒体段才能开始播放。

答案 1 :(得分:1)

ffplay可能可以播放单独的表示形式,但展示DASH的好处可能并没有用。

答案 2 :(得分:-1)

据我所知,不可能将FFMPEG用于MPEG-DASH播出 - 无论如何它都不会派上用场!

你有没有使用dash.js,bitdash或ExoPlayer的原因?