Я пытаюсь исправить испорченное видео GoPro. Сначала я попытался с ffmpeg, где я получаю сообщение, что атом moov не найден. После некоторых исследований я нашел решение с помощью unrrunc. У меня есть второй видеофайл с такими же настройками и длиной, но я получаю следующую ошибку, пытаясь исправить поврежденное видео:
[aac @ 0x18c0180] channel element 2.3 is not allocated
Полный консольный вывод:
user@VM:~/untrunc-master$ ./untrunc /home/user/Videos/GOPR6634.MP4 /home/user/Videos/GOPR6564.MP4
Reading: /home/user/Videos/GOPR6634.MP4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/user/Videos/GOPR6634.MP4':
Metadata:
major_brand : mp41
minor_version : 538120216
compatible_brands: mp41
creation_time : 2015-01-26 20:59:57
Duration: 00:02:58.43, start: 0.000000, bitrate: 45115 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709), 2704x1520 [SAR 1:1 DAR 169:95], 44969 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
Metadata:
creation_time : 2015-01-26 20:59:57
handler_name : GoPro AVC
encoder : GoPro AVC encoder
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
Metadata:
creation_time : 2015-01-26 20:59:57
handler_name : GoPro AAC
Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2015-01-26 20:59:57
handler_name : GoPro TCD
timecode : 20:58:51:11
Stream #0:3(eng): Data: none (fdsc / 0x63736466), 9 kb/s (default)
Metadata:
creation_time : 2015-01-26 20:59:57
handler_name : GoPro SOS
avc1: failed for not particular reason
mp4a: Success because of large s value
[aac @ 0x18c0180] channel element 2.3 is not allocated
Invalid length. -1094995529. Wrong match in track: 1
Found 0 packets
Изменить: я нашел решение, которое работало для меня: http://slydiman.me/eng/mmedia/recover_mp4.htm
На странице довольно хорошо объяснено, как им пользоваться.