I occasionally download MP4 files and have the connection terminate in the middle of the download. You are left with a corrupted file that will not play in VLC. There are instructions online about using the VLC "Convert/Save" function to repair such files, but I have never had that work. VLC goes into an endless loop. Are there reliable utilities that will scan an MP4 for obvious damage and patch up the file to make it playable?
+ Reply to Thread
Results 1 to 8 of 8
It depends on the structure of the MP4 file. If all the relevant header information was at the end of the aborted file, it is close to impossible to reconstruct them. Only MP4 files with header information at their beginning can be fixed by truncating them at a last clean position. Creating MP4 files with "fast start" structure requires either an already existing file or some efforts during the creation of a new file (like keeping most of its content in RAM until all important header details are known).
From what I can tell, the header is being read by MediaInfo. The download froze on just the final part where the file is closed. So how would you repair such a file?
Last edited by pone44; 8th May 2019 at 19:43.
See this info about the h264 moov atom.
Some of the video repair utilities here at videohelp may help, but they all depend on a "good" file being available,
created with the same parameters; for example created in the same camera @ same settings as the damaged file
Untrunc & recover-mp4 is CLI, free; Untrunc is Linux, but works from a 64 bit Live DVD if you want to try it.
Video-repair-tool has a basic GUI and will recover 50% for free if it is able to.
1. the "good file" approach by davexnet above is more suited to people who have lost data from a single source like he said e.g. a camera and you can use the "good file" to reconstruct your video.
2. If VLC won't play it at all, it is unlikely it can be recovered by any other methods besides the good file approach. You can try opening it using mkvmerge and remuxing to an mkv. Barring this the file is lost.