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

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

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

решение1

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

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

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

-forceidx

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

Если вы скачаетеэта неофициальная сборка mencoderотБлог Стефа Пауза, вы можете попробовать исправить 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. Удачи — если это не работает, вам, вероятно, лучше перекодировать исходное видео после обрезки.

Связанный контент