背景

背景

背景

我已经恢复了一些大型视频,如下所述:

许多较小的图像/视频都从格式化的驱动器中恢复,但有一个特定的大于 2 或 3 GB 的大视频除外

有三个视频,大小几乎相同,内容也相同,看起来:

> 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

问题

问题是这 3 个视频最多只能播放 27 分钟。我用 VLC 媒体播放器播放。但根据报告的时长,视频时长为ffprobe1 小时 27 分钟:

> ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 -sexagesimal recoverit-Wondershare/00000084.mp4 
1:27:14.640000

此外,右键单击详细信息/属性菜单显示持续时间为 1h27m。

没有致命错误

我通过此处的方法仔细检查视频的完整性:

https://superuser.com/a/100290/571029

通过此命令:

> ffmpeg -v fatal -i recoverit-Wondershare/00000084.mp4 -f null - 2>error-fatal.log

但没有报告致命错误error-fatal.log

问题

我还能做什么来修复/播放视频?

更新

用 Avidemux 打开视频,帧分析持续到 %32 左右,然后突然跳转到结束。这表明在视频时长 %32 左右出现了问题。

Avidemux:处理视频帧

MPV日志

尝试通过 MPV 播放视频,视频播放正常,但如果我跳到 27 分钟后的帧,则会收到此日志:

> 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. ([email protected])
[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)

MPV 日志

使用 Avidemux 重新保存文件

通过 Avidemux,我重新保存了视频,后缀为 MKV。保存到 32% 左右,然后就完成了。重点是重新保存的文件大小与输入文件相同!

> 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

使用 FFMPEG 进行分析

我尝试通过以下命令分析视频文件:

 > ffmpeg -i recoverit-Wondershare/00000084.mp4 -f null - 

直到 27 分钟时分析都没有问题。然后抛出了这些错误:

[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 分析日志

FFMPEG 复制

运行此命令:

> ffmpeg -i 00000084.mp4 -c copy 00000084--copy-by-ffmpeg.mp4

给出以下输出:

[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%

FFMPEG 复制输出

未找到 moov atom

除了之前恢复的3个约3GB的视频外:

许多较小的图像/视频都从格式化的驱动器中恢复,但有一个特定的大于 2 或 3 GB 的大视频除外

又恢复了一个视频,大小约为 11 GB。它根本没播放。在 11 GB 的视频上运行此命令时:

> ffmpeg -i za.mp4 -c copy za--output.mp4

我收到此错误:

未找到 moov atom

未找到 moov atom

我的计划是尝试修复moov atom not found11 GB 视频的错误。让我们忘掉 3 GB 视频吧。

答案1

我已经用过了万兴恢复专家恢复丢失的视频。因此,我尝试万兴修复专家修复视频!

Wondershare Repairit 处理了 3 GB 的视频。它的输出预览是一段 28 分钟的视频。我只能以低质量预览。要真正保存它,我必须购买许可证。

此外,Wondershare Repairit 处理了 11 GB 的视频。常规流程还不够。因此,通过提供示例视频完成了高级流程。我使用 3 GB 的视频作为 11 GB 视频的示例视频!效果很好。该过程已完成,输出预览是 43 分钟的视频。好吧,令人失望的是:43 分钟的视频只是 28 分钟视频的一个子集,重复了两次!

因此,最终我手上有大约 27 或 28 分钟的可观看视频。我不知道我继续观看的几率有多大。我将查看 @Silbee 建议的其他方法。

加工

处理完成

答案2

我之前恢复过程的方式不对。现在有了更好的恢复方法,1 小时 27 分钟的视频中的 1 小时 17 分钟已经恢复。这意味着只有最后 10 分钟是不是已恢复。详情如下:

https://superuser.com/a/1691027/571029

相关内容