playing MPEG-dash streaming with FFMPEG [closed]

那年仲夏 提交于 2019-12-08 04:23:45

问题


I'm having a problem when playing MPEG-dash streaming with ffmpeg. I know there are a lot of tools can play MPEG-dash like OSMO4, DASH.js.. However, I am wondering if I can play MPEG-dash with FFMPEG? And one more question, How can I determine startup time when playing MPEG-dash streaming? It means, the duration time when I request a MPD file from a server until I get the first picture of video display on a screen? Thanks!


回答1:


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.




回答2:


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




回答3:


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?



来源:https://stackoverflow.com/questions/28848917/playing-mpeg-dash-streaming-with-ffmpeg

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