Problem with Android MP4 moov mdat

I am developing an application where a progressive steam mp4 video file should play. But I ran into a PVMFErrContentInvalidForProgressivePlayback error. I think that these videos do not satisfy any of these requirements: "For 3GPP and MPEG-4 moov atom must precede any mdat atoms mdat " How can I convert files that will be satsfy in this format? Is there a converter for this?

+1
source share
3 answers

For the GUI version, in the options menu I have selected "hint for rtp / rtsp". Then, on the Mux tab, I added a mp4 file with an add button. After that, click the Mux button in the lower right corner.

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

A recently created file worked for me and did not throw a PVMFErrContentInvalidForProgressivePlayback error.

+1
source

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

+2
source

Adding -hint simply adds striping to the end of the file (this is not enough).

You can use the Handbrake program ( here ), where you can select the "Web Optimize" option to switch / reconfigure moov and mdat atoms for progressive loading.

The idea is to switch places between the headers of the MP4 container and the actual movie data, so you can start streaming right away

Read more about the solution here: How to properly encode .mp4 files for streaming

0
source

Source: https://habr.com/ru/post/1346192/


All Articles