playing MPEG-dash streaming with FFMPEG [closed]

有些话、适合烂在心里 提交于 2019-12-07 07:29:21
Pierz

ffmpeg can now (tickets:5269,7382 were fixed) play MPEG DASH but you need to make sure that support is enabled in the binary (which appears to be uncommon as DASH demuxing support doesn't seem to be normally enabled by default). As mentioned in the comments by @aergistal you can check for dash demuxing support (you will also need appropriate codec support according to the DASH MPD but most of the usual ones are usually enabled):

ffmpeg -formats | grep dash

It should show (D indicates support for Demuxing and E for muxing):

DE dash            DASH Muxer

If you don't see DASH Demuxing support then you'll need to (re)compile ffmpeg. Download the sources, unpack and enter the src code directory, then enable dash demuxing support using configure (you'll also need to install libxml2 support if you don't have it):

ffmpeg-X.X.X$ ./configure --enable-demuxer=dash --enable-libxml2
ffmpeg-X.X.X$ make

Once supported is enabled you should be able to play a test stream like this:

ffplay  http://dash.edgesuite.net/dash264/TestCases/1a/netflix/exMPD_BIP_TC1.mpd

To answer your second question - the startup delay is determined by the time taken to download the MPD and then perform the actions in the MPD - typically it needs to download the initialisation segment and then get the first media segment before playback can begin.

ffplay might be able to play individual representations but it may not really be useful to showcase the benefits of DASH.

To the best of my knowledge it is not possible to use FFMPEG for MPEG-DASH playout - and it would not be to handy anyway!

Is there a reason why your are not using dash.js, bitdash or ExoPlayer?

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!