Page 1 of 1

Fix an output MP4 file broken in crash

Posted: 25 Feb 2006 01:55
by jdmuys
Hi,

I recordered an important TV program with VLC, by saving the streams to an MP4 container. It usually works fine. But this time, VLC crashed right at the end, when I stopped the save. The resulting file is damaged and cannot be played by anything, not even VLC. I suppose this is because at close time, VLC needs to fix some header structure or something. So I have the file with "raw" data, which I know the characteristics, but I cannot play it. Can I fix it?

For info, here is the debugging output from VLC:

Code: Select all

[00000249] main playlist debug: creating new input thread [00000313] main input debug: waiting for thread completion [00000313] main input debug: thread 61197312 (input) created at priority 37 (src/input/input.c:230) [00000313] main input debug: `/Volumes/MiniCat/TVFree/Calais.mp4' gives access `' demux `' path `/Volumes/MiniCat/TVFree/Calais.mp4' [00000313] main input debug: creating demux: access='' demux='' path='/Volumes/MiniCat/TVFree/Calais.mp4' [00000314] main demuxer debug: looking for access_demux module: 1 candidate [00000252] macosx interface debug: input has changed, refreshing interface [00000313] main input debug: creating access '' path='/Volumes/MiniCat/TVFree/Calais.mp4' [00000315] main access debug: looking for access2 module: 4 candidates [00000315] vcd access debug: trying .cue file: /Volumes/MiniCat/TVFree/Calais.cue [00000315] access_file access debug: opening file `/Volumes/MiniCat/TVFree/Calais.mp4' [00000036] main module debug: using access2 module "access_file" [00000316] main private debug: pre buffering [00000316] main private debug: received first data for our buffer [00000316] main private debug: prebuffering done 1114078 bytes in 0s - 6339 kbytes/s [00000313] main input debug: creating demux: access='' demux='' path='/Volumes/MiniCat/TVFree/Calais.mp4' [00000317] main demuxer debug: looking for demux2 module: 39 candidates [00000316] mp4 private debug: found Box: ftyp size 20 [00000316] mp4 private debug: found Box: wide size 8 [00000316] mp4 private debug: skip box: "wide" [00000316] mp4 private debug: found Box: mdat size 1332018939 [00000316] mp4 private debug: skip box: "mdat" [00000316] mp4 private debug: found Box: ??? size 3938399354 [00000316] mp4 private warning: unknown box type ??? (uncompletetly loaded) [00000316] mp4 private debug: dumping root Box "root" [00000316] mp4 private debug: | + ftyp size 20 [00000316] mp4 private debug: | + wide size 8 [00000316] mp4 private debug: | + mdat size 1332018939 [00000316] mp4 private debug: | + ??? size -356567942 [00000317] mp4 demuxer debug: ISO Media file (isom) version 0. [00000317] mp4 demuxer error: MP4 plugin discarded (no moov box) [00000317] ps demuxer warning: this does not look like an MPEG PS stream, continuing anyway [00000178] main module debug: using demux2 module "ps" [00000313] main input debug: looking for a subtitle file in /Volumes/MiniCat/TVFree/ [00000313] main input debug: `/Volumes/MiniCat/TVFree/Calais.mp4' successfully opened [00000317] ps demuxer warning: garbage at input, trying to resync... [00000317] ps demuxer warning: found sync code [00000317] ps demuxer debug: es id=0xf1 format unknown [00000317] ps demuxer warning: garbage at input, trying to resync... [00000313] main input debug: EOF reached [00000313] main input debug: closing input [00000178] main module debug: unlocking module "ps" [00000036] main module debug: unlocking module "access_file"
I am a programmer, I know my way in a hex editor, so even a kludge will be OK. I can provide the files obviously (or their dumps).

TIA

Jean-Denis

Posted: 06 Oct 2006 10:42
by Sound
Did you manage to recover the file? I'd be very interested in such a solution.

Where are the MPEG specs?

Posted: 09 Oct 2006 09:30
by jdmuys
Hi,

Short answer: no progress to recover the file.

I didn't have any answer. I tried to locate some information on the web regarding the file format of MPEG containers, but what I found was confusing. There are a number of files formats, and I could not find clear specs (.TS, .PS, .mp4, .mpg...).

So for the time being, my recovery efforts have stalled. But I still have the file, and I still hope I can recover something eventually. I might dive into VLC code to understand the file it outputs.

Would anybody know where I can get the MPEG specs for free?

Regards,

JD