Closed landross closed 4 years ago
If you send me the files (healthy+broken) I will take a look.
You can upload them on wetransfer.
If you think they are too big, try untrunc -sh file.mp4
.
Any pointers will be appreciated
I found this: https://wiki.multimedia.cx/index.php/Apple_Intermediate_Codec
I have sent two files through wetransfer, one good one bad. I think these files are HDV tapes ingested through an old version of Final Cut hence the Apple Intermediate Codec.
Detection and size-prediction of the new 'icod' track was straight forward. However your files contain random data sequences at (seemingly) random locations. Luckily they have a purpose: pad the next chunk so it's offset is a multiple of 4096. So their length is predictable.
try https://github.com/anthwlock/untrunc/commit/bf5727bc970c8b52e487bec1e80bac957081e477, good luck!
Thank you so much. I used the latest Windows 64 build and was able to recover all the videos, which is great, however wasn't able to recover audio.
Info: Found 33075 packets ( icod: 1374 sowt: 0 tmcd: 1 ) Info: Duration of icod: 45s 845ms (45845 ms) Info: Duration of sowt: (0 ms) Warning: Unknown sequences: 1 Warning: Bytes NOT matched: 3.95KiB (0.0003829%) Info: pruned empty 'sowt' track Info: saving file000575.mov_fixed-dyn.mov
I believe sowt is the audio track, just wondering if there is any chance to recover that. When using MediaInfo on the healthy file: Format : PCM Format settings : Little / Signed Codec ID : sowt
Many thanks again.
Oh right, didn't even notice that.. The problem was that the sowt-chunk-starts have no predictable pattern, neither do the icod-chunk-ends. But since your file only has two main tracks, one can use "inverted matches": If no other track matches, it's considered a match. Current implementation of this is not too robust, and only works for fixed size chunks. But that should work in your case. See 389983a55484b29902b5896270510def3d339bb6.
But be aware of some rare, but loud audio distortions. They are caused by "garbage data" inside of the mdat atom. In your case, this garbage data (probably) consists of misplaced mp4-atoms.
Have tried many methods and finally found this branch that runs on Windows, thank you! I'm stuck though with the below. Any pointers will be appreciated. Thanks.