Сжатие видео¶
Сжатие видео — это процесс уменьшения объёма цифровых видеоданных с сохранением приемлемого качества изображения и звука. Сжатие применяется для экономии места на носителях, ускорения передачи файлов по сети и обеспечения воспроизведения на слабых устройствах. Различают сжатие без потерь (lossless), при котором данные восстанавливаются точно, и сжатие с потерями (lossy), при котором часть информации необратимо отбрасывается ради более высокой степени компрессии.
¶Принципы сжатия видео
Видеопоток состоит из последовательности кадров, каждый из которых описывается множеством пикселей. Сжатие основано на двух эффектах: избыточности пространственной (соседние пиксели часто похожи) и временной (соседние кадры часто почти идентичны). Алгоритмы удаляют эту избыточность, сохраняя только значимые изменения.
Ключевые параметры, определяющие размер файла:
- Битрейт — количество данных, приходящихся на секунду видео, измеряется в мегабитах в секунду (Мбит/с). Чем выше битрейт, тем выше качество и больше размер файла.
- Разрешение — число пикселей по горизонтали и вертикали (например, 1920×1080).
- Частота кадров — количество кадров в секунду (24, 25, 30, 60).
- Кодек — алгоритм сжатия и распаковки (H.264/AVC, H.265/HEVC, AV1, VP9).
- Тип GOP (Group of Pictures) — структура ключевых и промежуточных кадров.
¶Кодеки
| Кодек | Год | Особенности |
|---|---|---|
| H.264/AVC | 2003 | Широко распространён, хорошая совместимость |
| H.265/HEVC | 2013 | Сжатие примерно вдвое эффективнее H.264 при том же качестве |
| AV1 | 2018 | Бесплатный, открытый, эффективнее HEVC, но требователен к ресурсам |
| VP9 | 2013 | Разработан Google, используется в YouTube |
¶Способы сжатия видео
¶Перекодирование
Перекодирование — основной способ уменьшить размер файла. Видео декодируется в несжатый поток, затем кодируется заново с другими настройками. Перекодирование выполняется с помощью программ: HandBrake, FFmpeg, VLC, Adobe Media Encoder, XMedia Recode и других.
Типичные действия при перекодировании:
- Снижение разрешения (например, с 4K до 1080p или 720p).
- Снижение битрейта с сохранением разрешения.
- Переход на более эффективный кодек (H.264 → H.265 или AV1).
- Снижение частоты кадров (с 60 до 30 fps).
- Отключение ненужных дорожек (субтитров, лишних звуковых потоков).
¶Сжатие без перекодирования
Существуют инструменты, уменьшающие размер контейнера без перекодирования видеопотока — например, удаление дублирующихся данных, перепаковка (remux) в более эффективный контейнер (MKV, MP4). Такой метод не влияет на качество, но даёт выигрыш лишь в пределах нескольких процентов.
¶Пакетное сжатие
Для обработки большого числа файлов применяется пакетное перекодирование. FFmpeg позволяет скриптовать обработку целых каталогов, задавая единый профиль кодирования.
¶Оценка качества
После сжатия качество оценивают по объективным метрикам:
- PSNR (Peak Signal-to-Noise Ratio) — отношение сигнала к шуму, измеряется в дБ; чем выше, тем лучше.
- SSIM (Structural Similarity Index) — мера структурного сходства с оригиналом, значения ближе к 1 указывают на высокое качество.
- VMAF — метрика, разработанная Netflix, учитывающая особенности восприятия человеком.
¶Практические рекомендации
Для большинства задач оптимальным считается кодек H.264 при битрейте 5–10 Мбит/с для 1080p и 15–25 Мбит/с для 4K. Для хранения архивов предпочтителен H.265 или AV1 с CRF (Constant Rate Factor) 18–23 — режим переменного битрейта, где кодер сам распределяет данные по сложности сцен.
Для стриминга и видеозвонков важна не только степень сжатия, но и задержка кодирования, поэтому применяются быстрые профили (например, H.264 с низкой задержкой).
¶Исторический контекст в России
В России разработкой видеокодеков занимается компания «Нетпикс» (бывший «Радио-софтвер»), создавшая кодек H.266/VVC-совместимый «Нетпикс H.266». Также в стране развивается экосистема вокруг отечественных стандартов цифрового телевидения, в частности стандарта «Цифровое телевидение России» (ЦТР), использующего кодек H.264 и его расширения.
¶Источники
- «Цифровая обработка сигналов» — учебник по основам сжатия мультимедиа
- Спецификации ITU-T H.264, H.265, H.266
- Документация проекта FFmpeg
- Стандарты AV1 Alliance for Open Media
