Any way to fix MLV header?

Started by dubzeebass, April 21, 2014, 05:42:05 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

dubzeebass

Hi there,

I shot a bunch of MLV today and when I try to play it back in camera, it tells me that the header is invalid at offset (hexadecimal).

When I try to extract with MLV_DUMP on OSX 10.9 I get

Mode of operation:
   - Input MLV file: 'm20-2058.mlv'
   - Convert to DNG frames
   - Output into 'm20-2058_frame_'
File m20-2058.mlv opened
File m20-2058.m00 not existing.
Processing...
[ERROR] Invalid block size at position 0x00377170
Processed 1 video frames
Done


April 17 build, 5D mark 3.

g3gg0

Using a recent mlv_dump you can fix that.
Btw, the 17.04. version has bugs, get the latest nightly for v1.1.3 and use the module from there
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

dubzeebass

Thanks - what's the command to fix it? I just downloaded the 03/28 version of MLV_DUMP.

g3gg0

Can you get the latest source from bitbucket?
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

dubzeebass

I can however IDK how to compile

g3gg0

Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

dubzeebass

Thanks, even with the new build ...

Bens-iMac:m20-2003 ben$ mlv_dump --dng m20-2003.mlv

MLV Dumper v1.0
-----------------

Mode of operation:
   - Input MLV file: 'm20-2003.mlv'
   - Convert to DNG frames
   - Output into 'm20-2003_frame_'
File m20-2003.mlv opened
File m20-2003.m00 not existing.
Processing...
[ERROR] Invalid block size at position 0x00377184
Processed 1 video frames
Done

dubzeebass

Bens-iMac:M20-2058 ben$ ./mlv_dump --dng m20-2058.mlv

MLV Dumper v1.0
-----------------

Mode of operation:
   - Input MLV file: 'm20-2058.mlv'
   - Convert to DNG frames
   - Output into 'm20-2058_frame_'
File m20-2058.mlv opened
File m20-2058.m00 not existing.
Processing...
[ERROR] Invalid block size at position 0x00377170
Processed 1 video frames
Done

dubzeebass

Yet it sees that there are frames ...

File Header (MLVI)
    Size        : 0x00000034
    Ver         : v2.0
    GUID        : 17728414037807572612
    FPS         : 23.976000
    File        : 0 / 0
    Frames Video: 452
    Frames Audio: 97

g3gg0

the version of mlv_rec you used is unfortunately some buggy one and could cause corrupted frames.
is it some important footage i should recover manually?

if so, please upload it.
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

dubzeebass

Just me messing around with Zeiss cp.2 lenses with my nephew playing piano. I remember it in the MLV player in my head so... So be it! Danke schoen for the kind offer.

g3gg0

you can try the latest mlv_dump version to fix those issues.

mlv_dump -F 1 --dng in.mlv    (preferred)
or
mlv_dump -F 1 -o out.mlv in.mlv    (MLV will contain buggy frames twice, which could cause trouble)

the output file will then only contain some corrupted frames - some of those where the errors occured.
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

Rush

Please, help, I am in a trouble...

Unknown Block: ┤С, skipping
BUG_ID_BLOCKSIZE_WRONG: Invalid block at 0x75ce0160, trying to fix it
[ERROR] BUG_ID_BLOCKSIZE_WRONG: Failed to fix
Processed 544 video frames


Full video is 95 seconds, but I can extract only 20 secs...
Is there a way to fix it? I can change MLV with WinHEX but I don't know what should I change. I see that MLV is full of data.
Greetings from Russia!

g3gg0

show me what there is at around offset 0x75ce0160
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

Rush

g3gg0, thank you for your reply!!

Here is HEX content at 0x75ce0160


And here is the last visible frame, how it looks:

All frames after can't be viewed or exported.

Hope you can give me advice of what should I try to fix it...
Greetings from Russia!

g3gg0

search for the next and previous VIDF string (uppercase)
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

Rush

Greetings from Russia!

g3gg0

change the bytes 00 6F 37 00 at 0x75969260 to 00 50 A6 00
and the bytes C0 6E 37 00 at 0x75969260 to C0 4F A6 00

can you upload some area of this file?
i am interested in 100 MiB starting from 0x75969160.
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

Rush

Thank you very much, g33g0!!!
I see, I need to point to the beginning of next frame...
Did that and fixed, but only one frame (right after half-corrupted frame from the screenshot posted earlier, sadly it remained corrupted) - after it there is again half-corrupted frame and black frames after...
Will try to fix it too, now I know what to do... But it will be hell lot of work if there is corrupted every other frame  :(

Here is uploaded 100mb fragment:
http://dropmefiles.com/Q6AuK

Do you know is it possible to recover half-corrupted frames? Which looks like I posted earlier

---
Yeee! Fixed MLV, it now plays till the end, just some random black frames in the end, but that 8GB footage is rescued. Thank you, g33g0!
Greetings from Russia!

g3gg0

good to hear :)

i wonder if you had some old buggy build...
which version did you use? please try to use a recent one.
Help us with datasheets - Help us with register dumps
magic lantern: 1Magic9991E1eWbGvrsx186GovYCXFbppY, server expenses: [email protected]
ONLY donate for things we have done, not for things you expect!

dubzeebass

I have another issue that's popped up. 1.2.3, Aug 7 build. When the MLVs split into m01, m02, etc the audio jumps around - when I render it using either MLVFS or MLRawViewer the audio jumps around in the file and loses sync, replaying parts of it. Tough to explain. Does anyone know what I mean? I'll upload a sample if required.

Rush

Quotewhich version did you use?
It is MLV_rec with build date about middle of August 2014
Greetings from Russia!

luke2578

Hi, I had a similar problem back in 2014. I had used an old build for my Canon 50D and the MLVs couldn't be processed past 1 frame. Having gone through these forums I have managed to figure out that the headers are bad but I have since sold my Canon 50D. I have only got one "donor" MLV file from the past which is 25fps 1920 x 1080 and that fixed one file that had the same settings. So I have only been able to fix one file out of the 12 I shot whilst on holiday in Santorini. I am therefore appealing to anyone to send through a random MLV file recorded with 1568 x 882 resolution and shot at 25 fps (precisely 25.048fps) with around 550 frames in duration. I would then only need the first 10MB of the MLV file so that I can replace the header in my corrupt files with the donor file.

I hope someone can help! Thanks, Luke

luke2578

Just wanted to say thanks very much for all the information here. I was able to retrieve some footage of Santorini when it was raining because I experimented with the information above. Here's what I managed to get back from files that I hadn't been able to open for nearly 2 years: