PDA

View Full Version : How to detect corrupt frames in the mp4 file?


jeffy
1st April 2007, 19:37
Well, I don't have much experience with longer, self-created H264 video files. So I started, as per another thread, some speed-quality related experiments.

I've taken a longer MPEG-2 file (41:32), encoded it with these options:
x264 - core 54 svn-635M - H.264/MPEG-4 AVC codec - Copyleft 2005 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:-2:-2 analyse=0x3:0x112 me=hex subme=1 brdo=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 chroma_qp_offset=0 threads=2 nr=0 decimate=0 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=1 wpredb=1 bime=1 keyint=250 keyint_min=25 scenecut=40(pre) rc=crf crf=24.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 ip_ratio=1.40 pb_ratio=1.30

This file is fully seekable.

I encoded the audio separately, with Nero AAC, then I did:
mp4box -add audio.mp4 filename.mp4. It crashes in the second part, in module ntdll.dll.

R:\AUTOMKV_LATEST\exe\Matroska>mp4box -add F:\dcv\ok\1\audio.MP4 F:\dcv\ok\1\fil
ename.mp4
IsoMedia import - track ID 1 - Audio (SR 48000 - 2 channels)
Saving F:\dcv\ok\1\filename.mp4: 0.500 secs Interleaving

MP4Box - GPAC version 0.4.3-DEV
GPAC Copyright: (c) Jean Le Feuvre 2000-2005
(c) ENST 2005-200X

Yamb 2.0, created the file, but it is not seeekable anymore, probably after the first 20 minutes (1/2).

Please, what can I do now?

I would like to:
- check the MP4 video only if there are any corrupt frames
- check the AAC audio if there are any corrupt frames
- try another muxer, or
- even get the raw H264 stream from the MP4 and do the above mentioned
Everything must be able to run on Windows XP Professional, no Linux/Unix only please, command line utils are okay.

Thank you for the links and suggestions. The only other option is redoing it all :rolleyes:

EDIT:
Highlighted in blue, how to check for erroneous a/v frames?
/EDIT

Warpman
1st April 2007, 20:08
does muxing to mkv work?

jeffy
1st April 2007, 20:31
does muxing to mkv work?
R:\AUTOMKV_LATEST\exe\Matroska>mkvmerge -o F:\dcv\ok\1\filename.mkv F:\dcv\ok\1\
audio.MP4 F:\dcv\ok\1\filename.mp4
mkvmerge v2.0.2 ('You're My Flame') built on Feb 21 2007 23:40:43
'F:\dcv\ok\1\audio.MP4': Using the Quicktime/MP4 demultiplexer.
'F:\dcv\ok\1\filename.mp4': Using the Quicktime/MP4 demultiplexer.
'F:\dcv\ok\1\audio.MP4' track 1: Using the AAC output module.
'F:\dcv\ok\1\filename.mp4' track 1: Using the MPEG-4 part 10 (AVC) video output
module.
The file 'F:\dcv\ok\1\filename.mkv' has been opened for writing.
progress: 100%
The cue entries (the index) are being written...
Muxing took 82 seconds.

The MKV file is fully seekable :confused:
I would like to know the answer to the questions above (I would like to...) anyway, so if anyone is reading this thread, MKV muxing is not the solution I want as a final, it is MP4 and all the details above as well. Thank you to all in advance.

jeffy
2nd April 2007, 07:03
I downloaded 20070327 version of MP4Box here:
http://www.afterdawn.com/software/video_software/video_tools/mp4box.cfm

Then, after some fiddling, I have found out that you MUST HAVE enough free space on the drive partition, where the MP4Box is, possibly, just for temporary files. When I freed up more than a target filesize, it went flawlessly and the file is fully seekable.

jeffy
4th April 2007, 12:01
I downloaded 20070327 version of MP4Box here:
http://www.afterdawn.com/software/video_software/video_tools/mp4box.cfm

Then, after some fiddling, I have found out that you MUST HAVE enough free space on the drive partition, where the MP4Box is, possibly, just for temporary files. When I freed up more than a target filesize, it went flawlessly and the file is fully seekable.

Unfortunately this is not true: you MUST HAVE enough free space on the drive partition, from where you start the command line... which might be different from the actual location of MP4Box.exe and which might even be different from the file being processed.