![Обрезанное видео ffmpeg не поддерживает переход к нужной временной позиции](https://rvso.com/image/1314326/%D0%9E%D0%B1%D1%80%D0%B5%D0%B7%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5%20%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE%20ffmpeg%20%D0%BD%D0%B5%20%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D0%B2%D0%B0%D0%B5%D1%82%20%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%20%D0%BA%20%D0%BD%D1%83%D0%B6%D0%BD%D0%BE%D0%B9%20%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9%20%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D0%B8.png)
Послевидео вырезано, плеер (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. Удачи — если это не работает, вам, вероятно, лучше перекодировать исходное видео после обрезки.