我有这个视频:Google Drive 链接,无法在任何视频播放器上播放。我尝试使用各种工具(如 VLC、ffmpeg 和 gpac 的 mp4box)修复它,但都不起作用。更具体地说,当我尝试ffmpeg -i 0002201.mp4 -c copy e.mp4
重新编码视频时,我得到了以下输出:
ffmpeg version n6.0 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.1 (GCC) 20230201
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libjxl --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55d06173fdc0] Packet corrupt (stream = 1, dts = 0).
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55d06173fdc0] stream 1, offset 0x13008: partial file
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55d06173fdc0] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none(bt709), 1920x1080, 33673 kb/s): unspecified pixel format
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '0002201.mp4':
Metadata:
major_brand : qt
minor_version : 537331968
compatible_brands: qt CAEP
com.apple.quicktime.make: Canon
com.apple.quicktime.model: Canon PowerShot SX50 HS
com.apple.quicktime.rating.user: 0.000000
com.apple.quicktime.copyright:
com.apple.quicktime.author:
creation_time : 2015-12-27T09:09:28.000000Z
Duration: 00:00:09.80, start: 0.000000, bitrate: 60 kb/s
Stream #0:0[0x1](eng): Video: h264 (avc1 / 0x31637661), none(bt709), 1920x1080, 33673 kb/s, 23.98 fps, 23.98 tbr, 24k tbn (default)
Metadata:
creation_time : 2015-12-27T09:09:28.000000Z
vendor_id : [0][0][0][0]
Stream #0:1[0x2](eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
Metadata:
creation_time : 2015-12-27T09:09:28.000000Z
vendor_id : [0][0][0][0]
[mp4 @ 0x55d061752a40] Could not find tag for codec pcm_s16le in stream #1, codec not currently supported in container
[out#0/mp4 @ 0x55d061751600] Could not write header (incorrect codec parameters ?): Invalid argument
[aost#0:1/copy @ 0x55d0617575c0] Error initializing output stream:
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Last message repeated 1 times
据我所知,错误出现在视频的标题部分,这表明内容没有损坏,视频仍然可以恢复。您成功使用了哪些工具来修复 mp4 文件?也许有人遇到过类似的错误并知道解决方案?非常欢迎任何建议,但如果这些工具在 (arch) linux 上可用,我将不胜感激。提前致谢。
(还,这里这是另一个视频供参考。在这种情况下,它会播放到第 7 秒左右,然后冻结。)