Много раз случалось так, что я мог оказаться в поврежденных видеофайлах:
- видео скачано с официальных источников но с торрента и почему-то не все кусочки есть в .mkv, .ts или .mp4
- записи в формате .ts, где в определенный момент отсутствуют данные
- скопировал видео со старого жесткого диска с поврежденными секторами
Когда я играю это видео с VLC или другими игроками, они воспроизводятся до определенного момента, а затем сразу же выходят. Иногда я могу попытаться пропустить плохую часть, но я могу встретиться с другим плохим сектором и снова получить инсталляцию.
Вопрос:
Могу ли я решить эту проблему (я полагаю, связанные с потоком и ключевыми кадрами) с помощью ffmpeg и, возможно, с помощью -c-копии, чтобы мне не приходилось все заново сжимать?
Чего я хочу добиться, так это полнометражного видео, где пропущены недостающие части, я предпочитаю сбой, а не падение моих видео.
Ответы:
Если части файла находятся в физически поврежденных секторах или по какой-либо причине ОС не может передать весь файл FFmpeg, то, естественно, FFmpeg ничего не может с этим поделать. Вы должны получить утилиту, которая может игнорировать эти части и записать подлежащие восстановлению части в новый файл, например ddrescue .
Теперь, если файл протокола не является причиной ошибок, вы можете попробовать
источник
-c copy
. Удивительно, что это не работает во время перекодирования.Invalid data found when processing input
- и ffmpeg сдается.В поисках лучшего ответа возможный путь может быть:
Однако я уверен, что есть несколько дополнительных опций, которые могут сделать результат еще лучше.
источник