Как уменьшить размер видео без потери качества с помощью FFMPEG
В современном мире видеоконтента, часто возникает необходимость сократить размер видеофайлов без ущерба для качества. В данной статье мы рассмотрим, как преобразовать видео из формата H264 в H265, и как избежать проблемы с переплетением (interlacing) при этом.
Проблема переплетения видео
Переплетение – это метод отображения видеоматериала, где каждая последовательность состоит из чётных и нечётных строк, отображаемых поочередно. При конвертации такого видео важно сохранять его качество, иначе вы столкнетесь с неприятными визуальными артефактами. Когда вы используете кодек hevc_nvenc
в FFMPEG или аналогичный кодек в HandBrake, вы можете заметить, что результат оказывается переплетённым, как показано на следующих изображениях.
Анализ исходного видео
Исходное видео, как видно из вывода FFProbe, закодировано в формате H264 и имеет спецификацию «yuv420p(top first)». Это указывает на то, что видео является переплетённым (interlaced).
Stream #0:0(eng): Video: h264 (High), yuv420p(top first), 1920x1080 ...
Решение проблемы с использованием FFMPEG
Чтобы решить проблему с переплетением, необходимо использовать фильтр yadif
, который позволяет преобразовать переплетённое видео в прогрессивное. Это можно сделать с помощью следующей команды:
ffmpeg -i input.mkv -vf yadif -c:v libx264 -preset slow -crf 19 -c:a aac output.mp4
Данный код выполнит декодирование и конвертацию видео, избегая проблемы переплетения. Важно отметить, что фильтр yadif
по умолчанию настраивается на обработку «top first», что соответствует типу вашего видео.
Оптимизация с использованием GPU
Если вас беспокоит время, необходимое для обработки видео, можно использовать фильтр yadif_cuda
, который позволяет разгрузить задачи обработки на графическом процессоре NVIDIA. Команда будет выглядеть следующим образом:
ffmpeg -i input.mkv -vf yadif_cuda -c:v h264_nvenc -c:a aac output.mp4
Такой подход позволит существенно ускорить процесс кодирования, так как обработка будет проходить на GPU, что значительно быстрее, чем использование центрального процессора.
Итоговые мысли
При работе с видео важно своевременно распознавать и устранять проблемы, такие как переплетение. Используя правильные фильтры и кодеки в инструментах, таких как FFMPEG, вы можете эффективно уменьшить размер файла и улучшить его качество. Благодаря этим методам, вы сможете обрабатывать ваши видеоматериалы быстрее и с меньшими потерями в качестве.