рекомендации

среда, 17 июня 2020 г.

Как уменьшить размер видеофайла в консоли Linux с помощью FFMPEG

Сохранение видео на своих переносных накопителях, в облачных сервисах или на жестких дисках может оказаться непростым делом при ограниченном пространстве. Уменьшение размера файлов облегчает хранение больших файлов и растущих коллекций, но есть способы сделать это более эффективно.

В области обработки видео можно выбирать из множества инструментов, способных оптимизировать размеры файлов. Однако многие из них, включая VLC, Cinelerra и Blender, используют один и тот же механизм - утилиту командной строки под названием FFMPEG. Здесь мы покажем вам, как вы можете уменьшить размеры видеофайлов с помощью FFMPEG из терминала Linux.


Что такое FFMPEG?

FFMPEG, пожалуй, самая мощная утилита для обработки мультимедиа в командной строке в программной экосистеме Linux. Среди множества функций, этот инструмент может в том числе создавать GIF-файлы, нарезать/редактировать и записывать видео.

Что наиболее важно, FFMPEG может конвертировать видео на удивительно детальном уровне, позволяя поддерживать хорошее качество, в то время как размеры файлов положительно уменьшаются вдвое (или даже в четыре раза в крайних случаях).

Установка

Установить FFMPEG в Ubuntu достаточно просто, выполнив следующую команду:

sudo apt install ffmpeg


Когда установка закончится, вы готовы начать.

Использование

Использование FFMPEG может быть простым:

ffmpeg -i input.video output.video


Однако, чтобы действительно уменьшить размеры файлов видео оптимальным способом, нам нужно принять во внимание определенные атрибуты.

Уравнение оптимизации

Когда дело доходит до видеофайлов, не все их типы создаются одинаково. Например, файлы с расширением AVI, как правило, намного больше, чем файлы MP4.

Это сводится к логике, встроенной в предполагаемую среду контейнера, но даже ее можно изменить, выбрав правильный кодек для кодирования вашего файла, отдавая предпочтение качеству с большим размером файла, или переносимости с меньшим размером.

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

Интересно, однако, что формат mp4 не самый лучший, чтобы достичь идеального крошечного размера файла. В настоящее время коронованными чемпионами по качеству сохраняемых типов видеофайлов являются различные контейнеры, доступные для флеш-видео и Windows медиа (FLV и WMV). Они составляют часть простого уравнения, которое мы можем использовать для получения очень маленьких, но высококачественных видеофайлов:

маленький контейнер + эффективный кодек + низкий fps + низкий битрейт = крошечный/высококачественный видеофайл

Примечание. Для целей данной статьи высокое качество означает минимальную видимую пикселизацию или потерю цвета. Снижение качества в некоторой степени неизбежно, если мы действительно хотим оптимизировать размер файла; однако насколько оно заметно, зависит от того, что мы оптимизируем. Скорость движения, разнообразие цветов и качество/плотность звука играют роль в определении того, насколько низкими могут быть наши настройки качества.

Опций в мире видеокодеков и контейнеров огромное количество, поэтому мы упростим задачу, просто используя WMV 8 (FFMPEG пока не полностью поддерживает WMV 9).

Оптимизация видео

Когда мы запускаем FFMPEG, он преобразует наше входное видео в тип файла, который мы задаем, используя параметры, которые мы устанавливаем с помощью специальных флагов. Вот наш код:

ffmpeg -i input.mp4 -b 1000k -vcodec wmv2 -acodec wmav2 -crf 19 -filter:v fps=fps=24  output.wmv



Приведенный выше код преобразует наш входной файл в файл с битрейтом 1 Мбит/с, частотой кадров 24 кадр/с, коэффициентом постоянной скорости 19 и расширением .wmv. Измените «input.mp4» в соответствии с вашими потребностями и настройте значение -crf на большее значение для меньшего размера файла (с постепенно снижающимся качеством).

Комментариев нет:

Отправить комментарий