Кодирование видео в WebM для HTML5
Что такое WebM — кратко
WebM — это открытый формат видео, созданный Google для HTML5. Компоненты: VP8 (видео), Vorbis (звук) и контейнер Matroska. WebM свободен в использовании: нет роялти и ограничений на кодирование и воспроизведение в поддерживаемых браузерах.
Определения (в одну строку):
- VP8 — видеокодек с открытой спецификацией, оптимизированный для интернета.
- libvpx — реализация кодека VP8/VP9, используемая ffmpeg.
- libvorbis — аудиокодек Vorbis, свободная альтернатива AAC/MP3.
Почему стоит переходить на WebM
Важно: Google объявил об отказе от H.264 в Chrome на стороне разработчика, поэтому WebM будет основным форматом для HTML5-видео на YouTube и в свободном ПО. H.264 патентован, что делает открытые форматы предпочтительными в Linux и у сторон, которые избегают закрытых лицензий.
Замечание: Apple и Microsoft долгое время ориентировались на H.264 и пока не включают нативную поддержку WebM во все свои решения, но для сайтов и платформ с открытым стеком WebM — логичный выбор.
Подходы в статье
Основные методы, которые мы разберём:
- Кодирование через ffmpeg (двухпроходная схема, пресет libvpx)
- Графическое кодирование через Arista Transcoder
Требования и советы по качеству
- Для ffmpeg нужна версия 0.6 или новее с поддержкой libvpx. Если в репозитории дистрибутива старая версия, соберите из исходников или установите сборки из стороннего репозитория.
- Пресеты упрощают повторяемость настроек. В примере используется 720p, но параметры можно менять под 1080p или другие разрешения.
- Двухпроходная схема обеспечивает лучший битрейт-распределение и качество при ограниченном размере файла.
FFMPEG — пошаговое кодирование
- Установите ffmpeg с поддержкой libvpx и libvorbis. Проверьте доступность библиотек через
ffmpeg -codecsиffmpeg -encoders. - Проверьте, есть ли пресет
libvpx-720pв/usr/share/ffmpeg. - Если нет — создайте файл
/usr/share/ffmpeg/libvpx-720p.ffpresetи добавьте содержимое (как root):
vcodec=libvpx
g=120
rc_lookahead=16
level=216
profile=0
qmax=42
qmin=10
vb=2M
#ignored unless using -pass 2
maxrate=24M
minrate=100k- Выполните две последовательные команды (замените
input.mp4иoutput.webmна свои файлы):
ffmpeg-i input.mp4 -s 1280x720 -vpre libvpx-720p -b 3900k -pass1-an-f webm -y output.webmffmpeg-i input.mp4 -s 1280x720 -vpre libvpx-720p -b 3900k -pass2-acodec libvorbis -ab 100k -f webm -y output.webm- После завершения обоих проходов проверьте файл в MPlayer или другом плеере, поддерживающем WebM.
Ключевые рекомендации:
- Экспериментируйте с
-b(целевая скорость) и-ab(аудио) для баланса качество/размер. - Для мобильных устройств используйте меньшие разрешения и битрейты.
Arista Transcoder — графический вариант

Arista Transcoder предоставляет понятный графический интерфейс для пакетной обработки и быстрого кодирования в WebM.
Шаги:
- Выберите исходный файл.
- Укажите тип устройства или предустановку качества.
- Выберите предустановку «WebM».
- Нажмите «Добавить в очередь» и запустите кодирование.

Arista показывает ускоренный предпросмотр по мере кодирования и позволяет ставить несколько задач в очередь, что удобно для пакетной обработки.
Преимущества Arista:
- Удобство для пользователей, не желающих работать в терминале.
- Быстрее в большинстве сценариев, но качество может уступать тонкой настройке ffmpeg.
Когда один метод лучше другого
- Нужен максимальный контроль над качеством и битрейтом — используйте ffmpeg и двухпроходную кодировку.
- Нужна быстрая конвертация нескольких файлов без глубоких настроек — Arista удобнее.
- На слабых машинах Arista может работать быстрее, но итоговое качество и размер файла будут отличаться.
Контроль качества и тесты приёмки
Критерии приёмки для выходного WebM-файла:
- Видео воспроизводится в целевом браузере/плеере без артефактов.
- Звук синхронизирован с картинкой и не содержит искажений.
- Размер файла соответствует целевому диапазону (по согласованию).
- Для потокового использования — нет резких падений качества при перемещении по таймлайну.
Мини-тесты:
- Открыть файл в Chrome и Firefox.
- Прокрутить несколько участков: начало, середина, конец.
- Проверить полноту субтитров и метаданных (если требуются).
Чек‑лист перед загрузкой на YouTube/веб
- Кодек: libvpx (VP8) и libvorbis
- Разрешение и соотношение сторон проверены
- Битрейт адекватен целевой платформе
- Прошёл тест воспроизведения в основных браузерах
- Название и метаданные корректны
Альтернативы и переходные стратегии
- Ogg Theora — тоже открытый формат; устаревающий по сравнению с VP8/VP9, но всё ещё имеет поддержку в некоторых проектах.
- VP9 / AV1 — современные кодеки с лучшей компрессией; для них потребуются соответствующие сборки ffmpeg и время на кодирование.
- Если требуется совместимость с устаревшими устройствами, можно хранить как WebM, так и H.264-версию и динамически отдавать нужную.
Практические советы и эвристики
- Mental model: думайте о двух проходах как о «замерах» качества и последующей «распределительной оптимизации» битрейта.
- Если файл слишком большой — снижайте
-bили применяйте CRF/качественные режимы, если они поддерживаются вашей сборкой libvpx. - Для пакетной обработки автоматизируйте вызовы ffmpeg в скриптах и храните пресеты в репозитории.
Краткая методология (mini SOP)
- Проверить версии и наличие библиотек.
- Подготовить пресет и тестовый файл 30–60 секунд.
- Запустить двухпроходную кодировку для теста.
- Оценить качество и размер, скорректировать параметры.
- Применить к полной библиотеке и выполнить контроль качества.
Резюме
WebM — практичный выбор для открытых проектов и HTML5-видео. ffmpeg даёт максимальный контроль и лучшее качество при оптимизации, а Arista Transcoder ускоряет работу и упрощает пакетную конвертацию. Выбирайте инструмент по задаче: контроль и качество — ffmpeg; скорость и удобство — Arista. Обязательно проверяйте воспроизведение в целевых браузерах и храните резервные пресеты для повторяемости.
Важно: экспериментируйте с битрейтом и пресетом на коротких тестовых клипах, прежде чем кодировать большие объёмы.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента