Что такое профиль?
Профиль H.264 более или менее определяет, какие «навороты» кодер может использовать при сжатии вашего видео - и есть множество функций H.264, которые кодировщик может включить. Какие из них разрешено включать, определяется профилем. Профили обеспечивают совместимость между устройствами, которые имеют разные возможности декодирования. Что касается профилей, кодер и декодер согласовывают набор функций, который они оба могут обрабатывать.
Что делают разные профили?
Подробный список см. В разделе Профили H.264 в Википедии.
Как правило, базовый профиль ограничивает кодер только некоторыми базовыми функциями. Видео, закодированные с базовым профилем, можно легко воспроизводить даже на устройствах с меньшей вычислительной мощностью, таких как старые смартфоны. Например, телефоны Android и iOS официально воспроизводят только видео, закодированное с базовым профилем, но не High или Main . Это немного изменилось за последние годы, когда все больше и больше телефонов могут воспроизводить основное или громкое видео, но официальные рекомендации не упоминают об этом .
В основном для недорогих приложений, этот профиль чаще всего используется в видеоконференцсвязи и мобильных приложениях. Он соответствует подмножеству функций, общих для базового, основного и верхнего профилей.
Main и High просто добавляют к этому новые функции. Особенно высокий профиль часто используется в вещании:
Основной профиль для приложений вещания и хранения дисков, особенно для телевизионных приложений высокой четкости (например, это профиль, принятый форматом хранения дисков Blu-ray и службой вещания DVB HDTV).
Например, срезы B разрешены только в главном профиле и выше. Их можно использовать для экономии пропускной способности, но их сложнее декодировать, поэтому некоторые устройства могут их не поддерживать.
Какое это имеет отношение к качеству?
Профиль только косвенно влияет на качество. Некоторые функции более высоких профилей могут позволить вам получить то же качество с меньшими размерами файлов по сравнению с более низкими профилями.
Например, энтропийное кодирование CABAC ( Main и High ) более эффективно, чем CAVLC ( Baseline ). Это также вычислительно более интенсивно. Таким образом, если вы предоставите кодировщику определенную скорость передачи в битах, он сможет создавать видео лучшего качества с CABAC, чем с CAVLC, поскольку он обеспечивает гораздо лучшее сжатие.
Это также объясняет, почему вы достигли меньшего размера файла с Высоким профилем - очевидно, вы каким-то образом установили постоянный уровень качества, и кодировщик мог бы использовать более продвинутые методы сжатия для создания видеофайла, который имеет то же качество, что и базовый профиль, но с меньшим размером размер.
Итак ... какой из них вы должны использовать?
Некоторые основные правила:
- Базовый профиль, если вы ориентируетесь на старые мобильные устройства
- Основной или высокий профиль, если вы ориентируетесь на веб-трансляцию, долгосрочное хранение, ПК или Mac, авторизацию Blu-ray и т. Д.