问题
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