Wowza Community

VOD: File is missing 'moov' atom Module

Hi All

My wowza instance is trans-rating an incoming stream into 3 mutliple(H.264) bit rates . I am able to play them live using FlashRTMPPlayer.

I am also recording the transrated stream and moving the recorded file, in 10 minutes schdule, using ModuleMediaWriterFileMover to my s3. But when I try to play them for vod, it is not playing and error is thrown as “java.lang.Exception: QTUtils.parseQTMediaContainer: File is missing ‘moov’ atom ModuleMediaWriterFileMover” in error log.

Note: Only the first recorded video is being played

Thanks in Advance

Birendra

Hello there,

Here is what the Wowza documentation says about this issue, take a look and see if this might fix it:

Code:

server    WARN    404    [path-to-video-file]     MediaReaderH264.open[2]: java.lang.Exception: QTUtils.parseQTMediaContainer: File is missing 'moov' atom.

Cause: Attempt to stream a file while it’s being recorded. When the stream is unpublished, Wowza Media Server will write the moov atom data to the end of the file. You can use the IMediaWriterActionNotify listener to listen for files to be completed. If you use the nDVR AddOn, then you can record while playing back a live stream.

You may also get this error if you try to playback a file that has H.264 content but isn’t an mp4 file and you use the mp4 prefix. Example, you have published H.264 video from your encoder and Wowza Media Server has recorded it as an FLV file. If you use the mp4 prefix in this case, you’ll get this error. The correct way is to treat the file as a standard FLV file.

Salvadore

What version of Wowza are you using?

Are you using the HTTPLiveStreamRecord to record 10 minute segments?

Are there any streamname.tmp files in the content folder where the videos are recorded?

Can you try disabling ModuleMediaWriterFileMover and test?

Richard

Birendra,

Use the “Custom Output and Filename” feature of HTTPLivestreamRecord instead.

Richard

Let me see how that works, if recorded then moved or recorded direct to.

Richard

That feature writes directly to the outputPath, unfortunately in this case.

I will test ModuleWriteFileMover with HTTPLiveStreamRecord with 3.5.2.08. This might have been fixed. Something similar did come up before.

Richard

Try this: Re-enable the ModuleMediaWriterFileMover with Property settings like this:

		<Property>
			<Name>fileMoverDestinationPath</Name>
			<Value>[FuseS3FS_mount]</Value>
		</Property>
		<Property>
			<Name>fileMoverDeleteOriginal</Name>
			<Value>false</Value>
			<Type>Boolean</Type>
		</Property>
		<Property>
			<Name>fileMoverVersionFile</Name>
			<Value>true</Value>
			<Type>Boolean</Type>
		</Property>
		<!-- Value should be: mp4 or flv -->
		
		<Property>
			<Name>fileMoverFileExtension</Name>
			<Value>mp4</Value>
			<Type>String</Type>
		</Property>

And HTTPLiveStreamRecord options like this:

Notice that the Custom Output is enabled, but only to check the Stream Format “mp4”, the location is the default content location. Then the module moves the file, versions, it and preserves mp4 container.

My test was with Wowza 3.5.2.08, but I think this will work in 3.5.2.00. You can patch up to same version here;

https://www.wowza.com/docs/wowza-streaming-engine-software-updates

And my test was moving to local drive not to s3fs mount, but that shouldn’t matter. Let me know if that works.

Richard

Hi Birendra,

You can use the “Custom Output and Filename” feature to save the recorded files to your desired location instead of the ModuleMediaWriterFileMover.

Salvadore

What version of Wowza are you using?

Are you using the HTTPLiveStreamRecord to record 10 minute segments?

Are there any streamname.tmp files in the content folder where the videos are recorded?

Can you try disabling ModuleMediaWriterFileMover and test?

Richard

I am using 3.5.2 build3747.

Yes I am using HTTPLiveStreamRecord for recording.

Yes there are streamname.tmp in the content folder, but I am using ModuleMediaWriterFileMover to move the recorder video and I am doing the vod from the moved location.

I tried it by disabling ModuleMediaWriterFileMover, and it is working fine.

Thanks in advance

Birendra

In Reply to Salvadore

Hi,

I have gone through the about article also and the video is in mp4 format.

Thanks in Advance

Birendra

Hi,

“Custom Output and Filename” , I am already using that, I am using it for renaming the Filename whereas the stream format is mp4.

Thanks,

Birendra

Hi Birendra,

You can use the “Custom Output and Filename” feature to save the recorded files to your desired location instead of the ModuleMediaWriterFileMover.

Salvadore

Hi Salvadore,

I am running the wowza in EC2 and I want to save the recorded files in s3 for vod. Isn’t it better to save the videos locally in EC2 and then move them to s3?

Thanks,

Birendra

Let me see how that works, if recorded then moved or recorded direct to.

Richard

First it is recorded at local EC2 then moved to s3… Help me out…

Thanks,

Birendra