Выпущена новая версия библиотеки SVT-AV1 4.0.0 — высокопроизводительного программного кодировщика и декодировщика для формата AV1. Это одно из ключевых решений для тех, кто хочет получить максимально эффективное сжатие видео без потери качества при использовании ресурсов процессора, а не видеокарты.
Технология SVT (Scalable Video Technology) изначально была разработана Intel в сотрудничестве с Netflix как основа для промышленных сценариев: перекодирование видео «на лету», массовая обработка контента для видеосервисов, работающих по модели VOD (video on demand). Сегодня развитие SVT-AV1 курируется альянсом AOMedia — организацией, которая отвечает за развитие самого стандарта AV1 и экосистемы вокруг него.
Код SVT-AV1 распространяется под лицензией BSD, что делает библиотеку привлекательной для интеграции в коммерческие и облачные решения. Её можно встраивать в медиасервера, кодировочные фермы, системы видеохостинга, офлайн-пайплайны постпродакшена и даже настольные приложения, если требуется гибкий и управляемый по качеству энкодер.
Поддерживаемые архитектуры и оптимизации
SVT-AV1 может быть собран практически для любой платформы, где есть компилятор с поддержкой стандарта C99. Однако наибольший выигрыш в производительности достигается на системах x86_64: под них реализованы ассемблерные оптимизации с использованием SIMD-инструкций.
Для максимальной эффективности желательно наличие в процессоре набора инструкций AVX2, но минимальным требованием остаётся поддержка SSE2. Это означает, что даже относительно старые процессоры x86_64 смогут запускать SVT-AV1, хотя скорость кодирования в этом случае будет ниже.
Поддержка ARM также присутствует, что важно для серверов на базе ARM и встраиваемых решений. На этих платформах активно используются механизмы аппаратного распараллеливания вычислений, позволяющие эффективно задействовать большое количество ядер.
Масштабируемость и потребление памяти
Одно из ключевых преимуществ SVT-AV1 — отличная масштабируемость по числу потоков. Библиотека умеет эффективно использовать многоядерные процессоры, распределяя нагрузку между всеми доступными ядрами. Это особенно актуально для серверных систем с десятками и сотнями ядер.
Потребление памяти напрямую зависит от количества задействованных ядер при кодировании. Этот параметр регулируется опцией `--lp` (logical processors). Чем больше логических ядер вы разрешаете использовать энкодеру, тем выше скорость обработки, но тем заметнее вырастает объём потребляемой RAM. Для больших кодировочных ферм это критичный параметр планирования ресурсов: приходится балансировать между скоростью, одновременным числом задач и объёмами памяти на узел.
Почему AV1 такой «тяжёлый» для процессора
Формат AV1 проектировался как максимально эффективный по сжатию стандарт следующего поколения, который должен превосходить по компрессии H.264/AVC и VP9. Этого удалось добиться за счёт значительно более сложных алгоритмов: продвинутые предсказания, больше режимов разделения блоков, расширенные варианты компенсации движения и множество дополнительных инструментов для снижения битрейта при сохранении качества.
Но за всё приходится платить вычислительными ресурсами. Для наглядности используются оценки: штатный эталонный кодировщик AV1 требует в среднем:
- в 5721 раз больше вычислений по сравнению с x264 (профиль «main»);
- в 5869 раз больше вычислений по сравнению с x264 (профиль «high»);
- в 658 раз больше вычислений по сравнению с libvpx-vp9.
Это не опечатка — разница действительно достигает тысячекратных значений относительно классических H.264-энкодеров. SVT-AV1 как раз и пытается снизить эту вычислительную «ненасытность» за счёт глубокой оптимизации, умного распараллеливания и гибких настроек качества/скорости.
Что нового даёт ветка SVT-AV1 4.0
Версия 4.0 — это крупное обновление, нацеленное прежде всего на повышение практической пригодности энкодера в реальных рабочих нагрузках. В фокусе разработки:
- улучшение производительности при многопоточном кодировании;
- оптимизация качества при тех же битрейтах;
- повышение стабильности и предсказуемости результата на разных пресетах;
- доработка декодера для более уверенной и быстрой обработки потоков AV1.
Обновление ориентировано как на крупных провайдеров контента, так и на энтузиастов, собирающих собственные кодировочные системы: новый релиз позволяет либо сэкономить вычислительные ресурсы при том же уровне качества, либо получить чуть более высокое качество при привычных настройках и скоростях.
SVT-AV1 (CPU) против аппаратного AV1 (GPU)
Вопрос, который сегодня возникает почти всегда: стоит ли использовать программный энкодер AV1 на CPU, если современные видеокарты уже умеют аппаратно кодировать AV1?
Здесь важно понимать принципиальную разницу подходов.
SVT-AV1 (CPU):
Использует сложные программные алгоритмы с множеством параметров и режимов. Это даёт более тонкий контроль над процессом кодирования и, как правило, более качественное изображение при том же битрейте. Но за счёт этого энкодер получается относительно медленным и очень требовательным к CPU, особенно на «тяжёлых» пресетах качества.
Аппаратный AV1 (GPU):
Видеокарты используют специальные блоки с фиксированной логикой — ASIC (Application-Specific Integrated Circuit). Это отдельные чипы внутри GPU, которые заточены только под кодирование/декодирование видео. Они работают на порядки быстрее и почти не нагружают основную часть системы.
На практике:
- программный SVT-AV1 обычно даёт лучшее качество при одинаковом битрейте и гибко настраивается;
- аппаратные энкодеры AV1 в среднем в 10–15 раз быстрее, часто почти не нагружают CPU, но слегка уступают по эффективности сжатия (при том же размере файла качество немного ниже).
Какие аппаратные AV1-энкодеры доступны
Если цель — использовать именно видеокарту, а не загружать процессор, тогда выбор смещается в сторону встроенных в GPU решений. Сегодня актуальны следующие аппаратные реализации AV1:
- NVENC AV1 — в видеокартах NVIDIA серий RTX 40 и 50;
- QuickSync AV1 — в видеоядрах Intel (Intel Arc и встроенная графика в процессорах Core последнего поколения, начиная примерно с 14-го);
- VCE/VCN AV1 — в линейке Radeon RX 7000 от AMD.
Эти энкодеры идеальны для стриминга, видеоконференций, записи геймплея и любых задач реального времени. Они не конкурируют напрямую с SVT-AV1, а дополняют его: CPU-энкодер — для максимального качества архива, GPU — для скорости.
Когда выбирать SVT-AV1, а когда — аппаратное кодирование
Ответ зависит от приоритета: качество или скорость.
SVT-AV1 стоит выбирать, если:
- вы готовите мастер-версии для долгосрочного хранения или архивации;
- создаёте библиотеку контента для VOD-сервиса, где каждый мегабит экономии важен;
- у вас есть мощные многопроцессорные сервера, и вы готовы потратить больше времени на кодирование ради меньшего битрейта и лучшего визуального качества;
- нужен детальный контроль параметров: пресеты качества, профили, особенности обработки разных типов контента (анимация, динамичное видео, кино и т. д.).
Аппаратный AV1 на видеокартах лучше, если:
- нужна работа в реальном времени: стриминг, живые трансляции, конференции;
- вы занимаетесь игровой трансляцией и не хотите терять FPS из-за нагрузки на CPU;
- важно минимально нагружать систему — особенно в мобильных и компактных конфигурациях;
- качество «чуть хуже, чем максимум» вас устраивает, а скорость критична.
Иными словами, если цель — сделать идеальный архив или выкрутить эффективность сжатия до предела, логичен выбор SVT-AV1. Если же критична скорость и отзывчивость системы — стоит использовать кодек AV1, встроенный в GPU.
Практические сценарии использования SVT-AV1 4.0
1. Онлайн-платформы с большим объёмом контента.
Сервисы, хранящие гигантские видеотеки, могут с помощью SVT-AV1 существенно снизить расход полосы пропускания и объём хранения, особенно при повторном перекодировании старого каталога в AV1.
2. Постпродакшен и студийная работа.
Для финального мастеринга фильмов, сериалов, анимации имеет смысл прогонять материал через SVT-AV1 на высококачественных пресетах. Время кодирования здесь не столь критично, важнее визуальный результат и стабильность.
3. Облачные кодировочные фермы.
В средах, где доступно множество CPU-ядер, SVT-AV1 способен масштабироваться и эффективно задействовать всю выделенную вычислительную мощность, обеспечивая оптимальный баланс между скоростью, качеством и стоимостью инфраструктуры.
4. Тестирование и исследование качества видео.
Исследователи и разработчики медиатехнологий используют SVT-AV1 как базовую платформу для оценки возможностей AV1, сравнения с другими кодеками и настройки внутренних параметров компрессии.
Как подходить к настройке и оптимизации
SVT-AV1 предоставляет множество параметров, с помощью которых можно настроить энкодер под конкретную задачу. Основные подходы:
- Выбор пресета (скорость/качество):
Быстрые пресеты подходят для массового перекодирования, где важен высокий throughput, но можно пожертвовать частью качества. Медленные — для финальных версий.
- Настройка числа потоков (`--lp`):
На многоядерных системах разумно постепенно увеличивать значение и следить за ростом производительности и потребления памяти. Слишком большое количество логических процессоров может привести к непропорциональному росту RAM и снижению общей эффективности.
- Выбор целевого битрейта или визуального качества:
Можно фиксировать битрейт (CBR/VBR) под ограничения канала связи или играть с кривой качества (CRF-аналог) для получения максимально хорошей картинки при динамически подстраиваемом битрейте.
Будущее SVT-AV1 и AV1 в целом
Формат AV1 постепенно становится индустриальным стандартом: его поддержка появляется в браузерах, смарт-телевизорах, мобильных устройствах, видеоплеерах и стриминговых платформах. На этом фоне роль высококачественных программных кодировщиков только возрастает.
SVT-AV1 4.0 — это шаг к более зрелой, производительной и гибкой реализации AV1 на CPU. В сочетании с развитием аппаратных энкодеров на видеокартах формируется полноценная экосистема:
- CPU-решения — для максимального качества и гибкости;
- GPU-решения — для мгновенной скорости и работы в реальном времени.
Выбор между ними зависит не от «лучше/хуже» вообще, а от того, решаете ли вы задачу архивации и экономии битрейта или вам важна мгновенная отдача и минимальная задержка при трансляции.



