Форматы видеофайлов и их преобразование¶
Формат видео — это контейнер, определяющий способ хранения видеопотока, звуковых дорожек и метаданных в одном файле. Термин охватывает две составляющие: тип контейнера (расширение файла, например MP4, AVI, MKV) и видеокодек — алгоритм сжатия, которым закодирована картинка (H.264, HEVC, VP9, AV1). Изменение формата видео — это перекодирование (транскодирование) содержимого файла в другой контейнер и/или другой кодек, что выполняется специализированным программным обеспечением.
¶Основные видеоформаты
Современные контейнеры различаются по назначению, степени сжатия и поддержке дополнительных дорожек.
| Контейнер | Расширение | Особенности |
|---|---|---|
| MPEG-4 Part 14 | .mp4 | Универсальный формат, поддерживается большинством устройств и плееров |
| Matroska | .mkv | Открытый контейнер, вмещает множество дорожек и субтитров |
| AVI | .avi | Устаревший формат Microsoft, ограниченный функциональностью |
| WebM | .webm | Оптимизирован для веб-воспроизведения, кодеки VP9/AV1 |
| MOV | .mov | Контейнер Apple QuickTime |
| FLV | .flv | Флеш-контейнер, используется для стриминга |
| TS | .ts | Транспортный поток, применяется в цифровом телевидении |
¶Видеокодеки
Кодек определяет, каким алгоритмом сжимается изображение. Выбор кодека влияет на размер файла, качество и аппаратную поддержку:
- H.264 (AVC) — наиболее распространённый кодек, поддерживается практически всеми устройствами последних 15 лет.
- H.265 (HEVC) — наследник H.264, обеспечивает сжатие примерно на 25–50 % лучше при том же качестве, но требует больше вычислительных ресурсов.
- VP9 — открытый кодек Google, основа формата WebM.
- AV1 — бесплатный кодек联盟 AOMedia, обеспечивает лучшее сжатие среди перечисленных, но аппаратная поддержка появилась только в устройствах 2020-х годов.
- MPEG-2 — применяется в DVD и цифровом телевещании.
¶Способы изменения формата
¶Программное перекодирование
Основной способ — использование конвертеров. Наиболее известные инструменты:
- FFmpeg — бесплатная консольная утилита, фактический стандарт для обработки мультимедиа. Пример команды:
ffmpeg -i input.avi -c:v libx264 -c:a aac output.mp4. - HandBrake — бесплатный графический конвертер на базе FFmpeg-подобных библиотек, предлагает готовые пресеты (YouTube, 1080p, мобильные устройства).
- VLC Media Player — помимо воспроизведения, умеет конвертировать файлы через меню «Конвертер / Сохранить».
- Массовые онлайн-сервисы — CloudConvert, Online-Convert и аналоги позволяют загрузить файл и получить результат в браузере без установки ПО.
¶Аппаратное ускорение
Современные видеокарты NVIDIA (NVENC), AMD (AMF) и процессоры Intel (Quick Sync) содержат специализированные блоки кодирования, которые перекодируют видео быстрее центрального процессора ценой незначительного снижения качества при том же битрейте.
¶Изменение контейнера без перекодирования
Если требуется лишь поменять расширение файла (например, MKV на MP4) без потери качества, поток можно «перепаковать» (remux). FFmpeg выполняет эту операцию командой ffmpeg -i input.mkv -c copy output.mp4. Ограничение — выбранный контейнер должен поддерживать исходные кодеки.
¶Параметры, которые меняются при конвертации
При изменении формата обычно задают:
- Разрешение — например, 1920×1080 (Full HD), 3840×2160 (4K).
- Битрейт — скорость передачи данных, влияет на размер и качество.
- Частоту кадров — 24, 25, 30, 60 кадров в секунду.
- Аудиокодек — AAC, Opus, MP3, AC-3.
- Количество дорожек и субтитров.
¶Когда требуется изменение формата
- Воспроизведение на устройстве, не поддерживающем исходный кодек (например, старый телевизор без поддержки HEVC).
- Загрузка на видеохостинг: YouTube принимает широкий набор форматов, но рекомендует MP4 с H.264.
- Уменьшение размера файла для отправки по почте или мессенджеру.
- Редактирование в видеомонтажной программе: некоторые NLE работают только с определёнными контейнерами.
- Стриминг: RTMP-протокол традиционно требует FLV, HLS — MPEG-TS или fMP4.
¶Ограничения и особенности
Потери качества при перекодировании неизбежны, если исходный файл сжат с потерями (а практически все современные форматы используют именно такое сжатие). Каждое перекодирование из одного lossy-формата в другой приводит к деградации изображения. Для сохранения качества рекомендуется использовать исходник с максимально высоким битрейтом или хранить мастер-копию в lossless-формате (FFV1, HuffYUV).
Источники:
- Документация FFmpeg (ffmpeg.org)
- HandBrake Documentation (handbrake.fr)
- ISO/IEC 14496-14 (MP4)
- ITU-T H.264, H.265 Recommendations
- AOMedia AV1 specification
