Оптимизация видео с помощью 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
, может существенно упростить этот процесс и избежать искажений. Если вы хотите получить качественное и правильно масштабированное видео, обязательно экспериментируйте с параметрами и проводите тестирование на различных видеофайлах. Чтобы изучить подробности и загрузить видеофайлы, вы можете посетить эту ссылку.