开发者

Android MP4 moov mdat problem

I am developing app where I have to play progressive steaming video of mp4 file. But I faced the PVMFErrContentInvalidForProgressivePlayback error. I think that those videos are not satisfing any of those requirements - "For 3GPP and MPEG-4 containers, the moov atom must precede any mdat atoms." How can I convert those file w开发者_如何学Gohich will satsfy that format? Is there any converter for that?


Use MP4Box with the -hint switch to fix this issue.


For GUI version, Under options menu i selected "hint for rtp/rtsp". Then in Mux tab, I added mp4 file with add button. After that pressed Mux button in the right bottom corner.

It creates the muxed version in the same directory path of your mp4 file. You can use save as for different location.

The newly created file worked for me and didnt give PVMFErrContentInvalidForProgressivePlayback error.


Adding the -hint just add interleaving at the end of the file (which is not enough).

You may use a program called Handbrake (here), where you can select "Web Optimize" option to switch/re-arrange moov and mdat atoms places for progressive download.

The idea is to switch places between the MP4 container headers and the actual movie data, so you may start streaming immediately

You can further read about the solution here: How to correctly encode .mp4 files for streaming

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜