我们在处理 Camtasia 创建的大型 AVI 文件时遇到了一个非常奇怪的问题。我们用 Camtasia 录制了两天的会议;两天都长达约 8 小时,而且人们每天都使用两个不同的用户帐户。最后,我们找到了第一天录制的视频,但没有找到第二天的。而且这里它变得有趣。
其中C:\Users\Day1\Local Settings\Temp
有两个 .avi 文件,每个约 32 GB,播放时间为 8 小时,其中包含第一天的屏幕截图。它们看起来完全相同。C:\Users\Day2\Local Settings\Temp\
我们只有一个文件:
ls -l FileWriter8a82d8.avi
-rwxrwxrwx 2 user user 233022109429 Oct 28 16:42 FileWriter8a82d8.avi
(是的,它就是233 GB!
mplayer FileWriter8a82d8.avi
Playing FileWriter8a82d8.avi.
libavformat version 54.20.4 (external)
Mismatching header version 54.20.3
libavformat file format detected.
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang eng
VIDEO: [H264] 1920x1080 24bpp 15.000 fps 2753.6 kbps (336.1 kbyte/s)
Clip info:
major_brand: mp42
minor_version: 1
compatible_brands: M4V mp42isom
creation_time: 2014-10-27 09:20:13
Load subtitles in ./
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 54.35.0 (external)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 22050 Hz, 2 ch, floatle, 39.0 kbit/2.76% (ratio: 4873->176400)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
AO: [pulse] 22050Hz 2ch floatle (4 bytes per sample)
该文件的运行时间(你可以用 mplayer 查找,它看起来就像一个普通文件)也是 8 小时,内容还是第一天的截图。完全没有第二天的截图。
根据指示进行快速计算: (39 kbps (音频) + 2753 kbps (视频)) × 8 × 3600 = ~10 GB。因此,8 小时应该适合文件的前 10 GB。
那么,该文件中似乎有 223 GB 的数据不属于任何地方。即使我们假设第 1 天的实际数据部分为 32 GB,仍有大约 200 GB 的数据未记录在案。
能以某种方式恢复这个不可见的部分吗?我怀疑丢失的 Day 2 数据可能就在那里。是否有工具或程序可以扫描 .AVI 并输出完整的部分信息(带有偏移量)并恢复文件中这些未说明的部分?
另一个提示是,当我收到机器时,磁盘空间已耗尽;可用空间不足 200 MB。Camtasia 可能在第二天的某个时间点用完了可用空间,并且可能无法正常关闭文件或写入索引。
发布的输出来自 Ubuntu,但 Windows 工具也可以。