Гид по технологиям

Кодирование видео в WebM для HTML5

• 5 min read • Видео • Обновлено 23 Nov 2025
Кодирование видео в WebM для HTML5
Кодирование видео в 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 — пошаговое кодирование

  1. Установите ffmpeg с поддержкой libvpx и libvorbis. Проверьте доступность библиотек через ffmpeg -codecs и ffmpeg -encoders.
  2. Проверьте, есть ли пресет libvpx-720p в /usr/share/ffmpeg.
  3. Если нет — создайте файл /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
  1. Выполните две последовательные команды (замените input.mp4 и output.webm на свои файлы):
ffmpeg-i input.mp4 -s 1280x720 -vpre libvpx-720p -b 3900k -pass1-an-f webm -y output.webm
ffmpeg-i input.mp4 -s 1280x720 -vpre libvpx-720p -b 3900k -pass2-acodec libvorbis -ab 100k -f webm -y output.webm
  1. После завершения обоих проходов проверьте файл в MPlayer или другом плеере, поддерживающем WebM.

Ключевые рекомендации:

  • Экспериментируйте с -b (целевая скорость) и -ab (аудио) для баланса качество/размер.
  • Для мобильных устройств используйте меньшие разрешения и битрейты.

Arista Transcoder — графический вариант

Интерфейс Arista Transcoder при кодировании WebM

Arista Transcoder предоставляет понятный графический интерфейс для пакетной обработки и быстрого кодирования в WebM.

Шаги:

  1. Выберите исходный файл.
  2. Укажите тип устройства или предустановку качества.
  3. Выберите предустановку «WebM».
  4. Нажмите «Добавить в очередь» и запустите кодирование.

Предпросмотр кодирования WebM в Arista Transcoder

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)

  1. Проверить версии и наличие библиотек.
  2. Подготовить пресет и тестовый файл 30–60 секунд.
  3. Запустить двухпроходную кодировку для теста.
  4. Оценить качество и размер, скорректировать параметры.
  5. Применить к полной библиотеке и выполнить контроль качества.

Резюме

WebM — практичный выбор для открытых проектов и HTML5-видео. ffmpeg даёт максимальный контроль и лучшее качество при оптимизации, а Arista Transcoder ускоряет работу и упрощает пакетную конвертацию. Выбирайте инструмент по задаче: контроль и качество — ffmpeg; скорость и удобство — Arista. Обязательно проверяйте воспроизведение в целевых браузерах и храните резервные пресеты для повторяемости.

Важно: экспериментируйте с битрейтом и пресетом на коротких тестовых клипах, прежде чем кодировать большие объёмы.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро