Исправление проблемы: ffmpeg — как избежать растягивания видео при конкатенации

Оптимизация видео с помощью FFmpeg: проблематика соотношения сторон

Когда вы работаете с видеофайлами, особенное внимание следует уделять соотношению сторон. Часто возникают ситуации, когда формат видео может не соответствовать формату воспроизведения, что приводит к искажению изображения. В этой статье мы разберём использование параметров FFmpeg для управления соотношением сторон видео и обсудим возможные проблемы.

Разница между режимами соотношения сторон: decrease и increase

При работе с FFmpeg вы можете использовать параметры, влияющие на соотношение сторон. Два ключевых параметра — force_original_aspect_ratio=decrease и force_original_aspect_ratio=increase — ведут себя по-разному.

  • force_original_aspect_ratio=decrease: Этот параметр позволяет сохранить оригинальное соотношение сторон видео, уменьшая его при необходимости. В результате видео сконцентрировано, и вы не увидите растяжения изображения.

  • force_original_aspect_ratio=increase: При использовании этого параметра высота видео будет увеличена, чтобы соответствовать экрану, но ширина останется прежней. Это приводит к тому, что изображение может растягиваться, что выглядит неестественно и может испортить восприятие контента.

Пример кода и использованные видеофайлы

Для того чтобы продемонстрировать применение этих параметров, я использовал следующий код:

ffmpeg -i test1-.mp4 -r 30 -video_track_timescale 1000k -vf setsar=1 -q:v 1 -f mpegts -c:a copy test1.mp4
ffmpeg -i test3.mkv -r 30 -video_track_timescale 1000k -vf setsar=1 -q:v 1 -f mpegts -c:a copy test3.mp4
ffmpeg -f concat -i mylist1.txt -vf scale=720:1280:force_original_aspect_ratio=increase,setsar=1 merged_video2.mp4

Содержимое файла mylist1.txt

Файл для конкатенации содержал следующие строки:

file test1.mp4
file test3.mp4

Проблема растяжения видео

Следует обратить внимание на видео под названием test3.mp4, которое растягивается при использовании параметра force_original_aspect_ratio=increase. Это видео имеет пользовательское соотношение сторон (запись экрана), что делает его особенным и может привести к плохому качеству изображения при его неправильной обработке.

Заключение

Работа с видео и управление его соотношением сторон может быть сложной задачей. Понимание параметров FFmpeg, таких как force_original_aspect_ratio=decrease и force_original_aspect_ratio=increase, может существенно упростить этот процесс и избежать искажений. Если вы хотите получить качественное и правильно масштабированное видео, обязательно экспериментируйте с параметрами и проводите тестирование на различных видеофайлах. Чтобы изучить подробности и загрузить видеофайлы, вы можете посетить эту ссылку.

Источник

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *