dev_android
dev_android

Reputation: 8818

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 which will satsfy that format? Is there any converter for that?

Upvotes: 1

Views: 2778

Answers (3)

drtf
drtf

Reputation: 1976

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

Upvotes: 0

efeyc
efeyc

Reputation: 2130

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.

Upvotes: 1

CommonsWare
CommonsWare

Reputation: 1007349

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

Upvotes: 2

Related Questions