Я пытался закодировать коллекцию видео, я должен удалить ненужные логотипы с самого начала и уменьшить размер файла. Я использую FFmpeg, чтобы начать примерно через 6,2 секунды или 186 кадров после начала видео. Когда я закончил, я увидел горизонтальные линии, которые казались показательными для чересстрочной развертки, поэтому я попытался добавить -vf yadif в мой скрипт bash. Вот мой скрипт для кодирования:

if [[ $PWD = *"show_name"* ]]; then
    for i in {1..7}; 
        do ffmpeg -ss 6.2 -i "./show name - s2e$i.mkv" -c:v libx264 -preset slow -crf 16 -vf yadif -c:a copy "/blah/blah/show name - s2e$i.mkv";
    done
fi

Когда сценарий будет завершен, у меня останется видео, которое выглядит не очень хорошо, учитывая, что оно должно быть «визуально без потерь». Вот несколько наглядных примеров.

Сравнение изображений

Верхнее изображение - оригинальный носитель. Нижнее изображение - это новый закодированный носитель. Обратите внимание на высокий уровень ошибочных пикселей вокруг слегка заштрихованных областей. Это результат чересстрочного фильтра? Как улучшить качество изображения? Все, что я на самом деле пытаюсь сделать, это удалить несколько секунд из начала клипа.

Первоначально, когда я использовал -c copy для моих настроек ffmpeg, он копировал носитель напрямую, что, похоже, приводило к тому, что проигрыватели пропускали первые десятки кадров на носителе, так как, я полагаю, у него не было ключевого кадра для продолжения (?). Вот видеоинформация MediaInfo об оригинальном видеофайле.

Как удалить первые 6,2 секунды или 186 кадров каждого клипа, сохранив исходное качество видеофайла?

0