File is missing 'moov' atom

Hi,

I am using WOWZA with Flowplayer.

Today I have encountered a problem with some of the mp4 files.

When I try to play these files I am getting this error:

WARN server comment demo2_0.mp4 MediaReaderH264.open[2]: java.lang.Exception: QTUtils.parseQTMediaContainer: File is missing ‘moov’ atom.

WARN server comment demo2_0.mp4 MediaReaderH264.open[2]: java.lang.Exception: QTUtils.parseQTMediaContainer: File is missing ‘moov’ atom.

I have read some of the discussion here and applied … patch but this does not help.

These files are not static files (that means content of these files are not getting changed or recorded live).

Please suggest an way-out.

Note: I have uploaded one such video in youtube.Please check that for reference.

[video=youtube;4Ge_YwaUxos]http://www.youtube.com/watch?v=4Ge_YwaUxos&feature=youtu.be[/video]

How were these files recorded, exactly? With Wowza? What recording method? What is the source?

Richard

I can’t get to those files because my anti-virus program says that site is known spyware site.

Try using flv: prefix instead of mp4:

Richard

I tested demo2.mp4. It appears to be h.264 video/AAC audio in a FLV container with a .mp4 prefix.

I opened it in VLC and looked at Tools > Codec info, which shows h.264 and AAC. Good so far, however…

Then I played it back in Wowza SimpleVideoStreaming RTMP client with vod application and stream name “mp4:demo2.mp4”, which resulted in no playback and this error in Wowza logs:

QTUtils.parseQTMediaContainer: File is missing ‘moov’ atom.

Then I played it back in Wowza SimpleVideoStreaming RTMP client with vod application and stream name “fly:demo2.mp4”, and it played back fine without error in client or Wowza server.

I was able to fix it with ffmpeg:

ffmpeg -i demo2.mp4 -acodec copy -vcodec copy new.mp4

Richard

That file is using vp6 video and mp3 audio, according to VLC.

You will have to transcode the video to h.264.

Richard

Hi dbhattacharjee,

You would have to re-encode to create the moov atom. Perhaps: ffmpeg -i input.mp4 -c:v copy -c:a copy output.mp4

More info here: understanding-the-moov-atom-once-and-for-all

Hi Richard,

These files are not recorded but they are downloaded from different sites to test playback with WOWZA and Flowplayer.

You can get one of the source file from here:

http://www.freefilehosting.net/demo2

I can’t use fixed prefix as ‘flv:’ as file extensions are dynamic in my case and I am targeting Ipad,Iphone etc.

This also does not help.

I have uploaded sample file to Google Drive.

https://docs.google.com/open?id=0B5KSS9HUjGcDemVSTnQ2cEVtVlU

https://docs.google.com/open?id=0B5KSS9HUjGcDYkpuOFZBbVU3a0k

Please download files from here and have a look.

BTW,if these are corrupt files then how google is able to play them ?

Thanks for the detailed answer. :slight_smile:

I am now able to play demo2.mp4.

But when I try to apply same technique to demo.mp4 it fails. It seems there is some problem with codecs.

can you please check ?