Avatar

One possible method. (Off-Topic)

by narcogen ⌂ @, Andover, Massachusetts, Sunday, January 21, 2018, 18:48 (2285 days ago) @ Funkmon

I was recording a video today of us shoveling snow off the roof at night of the observatory. My phone died, and I am wondering how I can take the video and reencode it to be watchable. Any video repair stuff that's free out there? I use Windows.

Here is the file, IDK if that helps.

https://drive.google.com/file/d/1NMDLdFonk6AIJtkUx8dWQA3GP1zSIUdz/view?usp=drivesdk

Also I hope to God that's the right file

Broken mp4s are very often unrecoverable. Nothing I've used can even identify the tracks in this file.

This is one of the primary reason why, when using screen recorders or streaming programs like OBS, users are advised to use either the flv container (for single audio tracks) or mkv containers (for multiple discrete audio tracks) because in the case of interrupted recording, either due to power failure or a filesystem error, tracks from these files can usually be recovered.

Unlike with mp4.

This is academic, of course, since I assume you don't have any choice of what container your phone uses to record.


Just an FYI:

MPEGStreamclip couldn't open it.

VLC and MPV couldn't play it. VLC couldn't convert or stream it.

Remux couldn't open it.

FCPX and iMovie couldn't import it.

FFMpeg could not copy the content to another stream:

MacPro32:Downloads dmjossel$ ffmpeg -i VIDEO0024.mp4 -c copy output.mp4
ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7feb09800000] moov atom not found
VIDEO0024.mp4: Invalid data found when processing input

The reason for this is that mp4 containers put the headers at the end. These programs can't parse the file without the headers.

THAT SAID, there is apparently a program called untrunc that can restore the missing headers if you have an example of a working file recorded in the same manner.

So if you also upload an unbroken mp4 from your phone, it may be possible to recover the broken one by duplicating the headers from the working one, on the assumption that your phone is using the same codecs every time it records, which makes sense.


Complete thread:

 RSS Feed of thread