Background
I have recovered some large videos as explained here:
There are 3 videos of almost the same size with the same content, apparently:
> ls recoverit-Wondershare/ -lh
total 23G
-rw-r--r-- 1 m3 users 3.7G Nov 25 20:03 00000084.mp4
-rw-r--r-- 1 m3 users 3.3G Nov 25 18:10 39289942016.mp4
-rw-r--r-- 1 m3 users 3.3G Nov 25 20:30 5142605824.mp4
Problem
The problem is all of the 3 videos could only be played up to 27m. I'm playing by VLC media player. But the video duration according to reported duration by ffprobe is 1h27m:
> ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 -sexagesimal recoverit-Wondershare/00000084.mp4
1:27:14.640000
Also, right-click details/properties menu shows that the 1h27m is the duration.
No fatal erros
I double-check video integrity by the method here:
https://superuser.com/a/100290/571029
By this command:
> ffmpeg -v fatal -i recoverit-Wondershare/00000084.mp4 -f null - 2>error-fatal.log
But there are no fatal error reported in error-fatal.log.
Question
What else can I do to fix/play the videos?
Update
Opening the video by Avidemux, frame analysis continues to around %32 and then suddenly jumps to finish. Indicating that something goes wrong at around %32 of video duration.
MPV log
Trying to play the video by MPV, the video plays fine, but if I jump to frames after 27m, this log is received:
> mpv recoverit-Wondershare/00000084.mp4
(+) Video --vid=1 (*) (h264 1920x1080 50.000fps)
(+) Audio --aid=1 --alang=eng (*) (aac 2ch 48000Hz)
AO: [pulse] 48000Hz stereo 2ch float
VO: [gpu] 1920x1080 yuv420p
AV: 00:23:54 / 01:27:14 (27%) A-V: 0.000
[ffmpeg/video] h264: Found reference and non-reference fields in the same frame, which is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[ffmpeg/video] h264: If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. (ffmpeg-devel@ffmpeg.org)
[ffmpeg/video] h264: decode_slice_header error
AV: 00:23:54 / 01:27:14 (27%) A-V: 0.000
[ffmpeg/video] h264: mmco: unref short failure
AV: 00:23:56 / 01:27:14 (27%) A-V: 0.000
Exiting... (End of file)
Re-saving file with Avidemux
By Avidemux, I re-saved the video with MKV suffix. The saving goes to around 32% and then jumps to finish. The main point is that the re-saved file size is the same as the input file!
> ls -lh recoverit-Wondershare/
total 26G
-rw-r--r-- 1 m3 users 3.7G Nov 26 00000084.mkv
-rw-r--r-- 1 m3 users 3.7G Nov 25 00000084.mp4
Analyzing with FFMPEG
I tried to analyze the video file by this command:
> ffmpeg -i recoverit-Wondershare/00000084.mp4 -f null -
The analysis is fine up to 27m time. Then these errors are thrown:
[aac @ 0x560ec12d36c0] channel element 0.0 is not allocated
Error while decoding stream #0:1: Invalid data found when processing input
[aac @ 0x560ec12d36c0] channel element 0.0 is not allocated
Error while decoding stream #0:1: Invalid data found when processing input
[aac @ 0x560ec12d36c0] channel element 0.0 is not allocated
Error while decoding stream #0:1: Invalid data found when processing input
[aac @ 0x560ec12d36c0] channel element 0.0 is not allocated
Error while decoding stream #0:1: Invalid data found when processing input
Error while decoding stream #0:0: Invalid data found when processing input
[h264 @ 0x560ec12d6ac0] Invalid NAL unit size (0 > 124102).
[h264 @ 0x560ec12d6ac0] Error splitting the input into NAL units.
Error while decoding stream #0:0: Invalid data found when processing input
[h264 @ 0x560ec19a5180] Invalid NAL unit size (-1676108775 > 73339).
[h264 @ 0x560ec19a5180] Error splitting the input into NAL units.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x560ec12a1cc0] Packet corrupt (stream = 0, dts = 84810).
recoverit-Wondershare/00000084.mp4: corrupt input packet in stream 0
Error while decoding stream #0:0: Invalid data found when processing input
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x560ec12a1cc0] stream 0, offset 0xe8d711da: partial file
recoverit-Wondershare/00000084.mp4: Invalid data found when processing input
[h264 @ 0x560ec12dd240] Invalid NAL unit size (2013396992 > 15690).
[h264 @ 0x560ec12dd240] Error splitting the input into NAL units.
Error while decoding stream #0:0: Invalid data found when processing input
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x560ec12a1cc0] stream 0, offset 0xe8d7ec2d: partial file
recoverit-Wondershare/00000084.mp4: Invalid data found when processing input
Error while decoding stream #0:0: Invalid data found when processing input
Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x560ec12a1cc0] stream 0, offset 0xe8db8bd3: partial file
recoverit-Wondershare/00000084.mp4: Invalid data found when processing input
frame=40826 fps=129 q=-0.0 Lsize=N/A time=00:27:13.06 bitrate=N/A speed=5.16x
video:21370kB audio:306204kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
FFMPEG copy
Running this command:
> ffmpeg -i 00000084.mp4 -c copy 00000084--copy-by-ffmpeg.mp4
Gives this output:
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x557f3798ecc0] Packet corrupt (stream = 0, dts = 84810).speed=20.5x
00000084.mp4: corrupt input packet in stream 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x557f3798ecc0] stream 0, offset 0xe8d711da: partial file
00000084.mp4: Invalid data found when processing input
frame=84813 fps=1028 q=-1.0 Lsize= 3808738kB time=00:28:16.20 bitrate=18394.8kbits/s speed=20.6x
video:3727528kB audio:79510kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.044648%
moov atom not found
In addition to 3 videos of around 3 GB recovered before:
One more video is recovered which is around 11 GB in size. It's not played whatsoever. When running this command on 11 GB vide:
> ffmpeg -i za.mp4 -c copy za--output.mp4
I receive this error:
moov atom not found
My plan is to try to fix the moov atom not found error of 11 GB video. Let's forget about 3 GB videos.






