ffmpeg: конвертируем и сжимаем видео mp4 в webm и ogv

среда, 22 марта 2017 г.

Появилась задача – сделать HTML5-видео, которое стало бы фоновым в блоке на сайте.
Само mp4 видео так или иначе нарезано в каком-нибудь Adobe Premiere или другой программе, но нам надо: во-первых, уменьшить размер mp4 видео, то есть пожать; во-вторых, сконвертировать его в два других формата webm и ogv. Поможет нам в этом ffmpeg.

Давайте по порядку, но без лишнего.
1. Скачать ffmpeg можно с оф. сайта  – https://ffmpeg.org/. В моем случае - под Windows x64.
2. Дальше либо прописываете путь (англ.) в переменные окружения и вызываете в консоли просто ffmpeg, либо запускаете через ffmpeg.exe из папки bin, где вы сохранили и распаковали архив. Я буду показывать на втором примере.

Сразу условимся – html5-видео на фон для сайта будет без звука и в моем случае исходник не более 10Mb. Пожать мне его надо до 2.8-3 Mb, иначе качество будет совсем никаким.

Конвертировать видео из mp4 в webm со сжатием


C:\ffmpeg\bin>ffmpeg.exe -i source-video.mp4 -c:v libvpx -b:v 1450K output-video.webm

-i - файл с исходным видео
-c:v - указываем кодек для видео
-b:v - указываем битрейт видео выходного файла.

За компрессию отвечает битрейт. Чем он ниже, тем хуже качество и наоборот. Можно указать 2M, вместо 2000K. Для конвертации в webm лучше всего использовать кодек libvpx.

Настроек у ffmpeg масса и на любой вкус, но сейчас мы решает иную задачу.

Конвертировать видео из mp4 в ogv со сжатием


C:\ffmpeg\bin>ffmpeg.exe -i source-video.mp4 -c:v libtheora -b:v 1470K output-video.ogv

Тут используем другой кодек - libtheora.

Сжатие mp4 видео


C:\ffmpeg\bin>ffmpeg.exe -i source-video.mp4 -c:v h264 -b:v 1450K output-video.mp4

Фактически нам надо уменьшить битрейт видео до приемлемого. Кодек – h264.


После этих нехитрых манипуляций видео из 10Mb стало 2.8Mb в каждом случае и вполне нормального для веб качества. Кроме этого я получил все 3 формата, что мне нужны.

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

Copyright © 2010 WEB IT blog