Обрезанное видео ffmpeg не поддерживает переход на временную позицию

После того, как видео обрезано, проигрыватель (mplayer) больше не может переходить на определенную временную позицию. При щелчке по временной шкале воспроизведение обычно заканчивается. Как это можно исправить?

1 ответ

Обрезанное видео, вероятно, имеет неверный индекс AVI. idx1 Тег в формате файла AVI указывает, где находятся фрагменты данных, поэтому, если индекс отсутствует, проигрыватель не будет знать, где искать фрагменты данных в заданную временную метку.

Это несколько ожидаемо, поскольку необработанный поток битов где-то обрезается с помощью FFmpeg -c:v copy вариант в вашем связанном вопросе.

Я не знаю ни одной команды FFmpeg для исправления индекса, но mencoder должен иметь это.

-forceidx

Восстановление индекса силы. Полезно для файлов с поврежденным индексом (A/V десинхронизация и т. Д.). Это позволит искать в файлах, где поиск был невозможен.

Если вы загрузите эту неофициальную сборку mencoder из блога Stef Pause, вы можете попробовать исправить AVI.

cd ~/Downloads
unzip mencoder.zip
chmod +x mencoder
mv mencoder /usr/local/bin/

Затем введите:

mencoder -forceidx input.avi -o output.avi -oac copy -ovc copy

Это восстановит индекс для вашего файла AVI. Удачи - если это не работает, возможно, вам лучше перекодировать оригинальное видео после обрезки.

Другие вопросы по тегам