SVT-AV1 сжимает видео в формат AV1 и предоставляет контроль над качеством изображения, битрейтом и вычислительной нагрузкой. Это не видеоредактор с монтажной шкалой, а программная библиотека и консольное приложение SvtAv1EncApp. Для владельца видеокамеры или автора готового фильма инструмент интересен прежде всего на этапе создания копии для просмотра и распространения: монтаж уже закончен, а размер файла, сохранность фактур и время кодирования ещё предстоит согласовать.
Скачать SVT-AV1 бесплатно
Рекомендуемый аналог
ВидеоМАСТЕР
Конвертер видео и аудио для Windows с русским интерфейсом
- Конвертация видео и аудио между популярными форматами
- Подготовка файлов для устройств и публикации
- Обрезка, соединение, звук и субтитры
- Русскоязычный интерфейс для Windows
SVT-AV1
Программа для работы с видео или аудио на русском языке
- Меньше инструментов для точной локальной коррекции
- Часть расширенных функций доступна только платно
- Набор инструментов зависит от версии и платформы
- Может не подойти для сложного профессионального монтажа
Отдельная утилита принимает подготовленные видеокадры и создаёт поток AV1. FFmpeg и графические приложения добавляют чтение обычных медиафайлов, работу со звуком и упаковку результата. Поэтому наличие AV1 в списке экспорта ещё не означает использование именно SVT-AV1: у одного формата существуют разные кодировщики.
Что представляет собой проект и в каком состоянии он находится
Полное название — Scalable Video Technology for AV1. Разработку начала Intel в сотрудничестве с Netflix. В августе 2020 года проект был принят рабочей группой Software Implementation Working Group организации Alliance for Open Media. Сейчас это открытый проект AOMedia с основным репозиторием на GitLab. Его специализация — программное кодирование AV1, рассчитанное как на подготовку видео по запросу, так и на сценарии с ограниченной задержкой.
По состоянию на 8 сентября 2026 года актуальный стабильный выпуск основной ветки — SVT-AV1 4.2.0, вышедший в июле 2026 года. Проект развивается: этот выпуск добавил настройку оптимизации под VMAF, вывод потока OBU без контейнера IVF, новые средства управления кодированием и изменения для Arm. Номер версии важен не только для исправлений: между выпусками меняются шкалы настроек, поведение пресетов и совместимость программного интерфейса.
Современный пакет — именно кодировщик. Декодер был удалён после версии 2.1.0; актуальный SvtAv1EncApp не включает самостоятельный проигрыватель. Для просмотра созданного файла нужен отдельный AV1-декодер в плеере, браузере или другом приложении.
SVT-AV1-PSY и PSYEX — отдельные ветви разработки, а не платные редакции основного продукта. Экспериментальная метка в репозитории также не равна стабильному релизу. Команды из материалов о других ответвлениях нельзя переносить автоматически: названия настроек и их сочетания проверяются для конкретной сборки.
Основные параметры
| Параметр | Характеристика |
|---|---|
| Тип продукта | Открытая программная библиотека AV1-кодирования и консольное приложение |
| Самостоятельная утилита | SvtAv1EncApp; в Windows — SvtAv1EncApp.exe |
| Стабильный выпуск на дату обзора | 4.2.0, июль 2026 года |
| Основные платформы | 64-разрядные Windows, Linux и macOS; доступны пути сборки для x86-64 и Arm64 |
| Вычисления | Программное кодирование на центральном процессоре |
| Вход отдельной утилиты | Несжатое планарное YUV и Y4M, в том числе через стандартный ввод |
| Цветовой формат кодирования | YUV 4:2:0, 8 или 10 бит |
| Выход отдельной утилиты | AV1 в IVF либо поток OBU |
| Интеграция с FFmpeg | Кодировщик libsvtav1 в сборке с соответствующей библиотекой |
| Управление сжатием | CRF, CQP, VBR, CBR; двухпроходное кодирование VBR в самостоятельном приложении |
| Интерфейс | Англоязычные параметры и сообщения командной строки, конфигурационные файлы |
| Оплата и доступ | Бесплатное открытое ПО без подписки, пробного периода и обязательной регистрации |
| Лицензирование | BSD 3-Clause Clear; отдельная патентная лицензия AOMedia |
Установка, платформы и требования к компьютеру
Три способа получить доступ к кодированию
Самостоятельное приложение подходит для Y4M, конвейеров и автоматизации с прямым доступом к параметрам. Исходный код собирается вместе с консольной утилитой. Готовый исполняемый файл должен соответствовать системе и архитектуре процессора; распаковка архива исходников сама по себе не создаёт рабочую программу.
FFmpeg с libsvtav1 удобнее для обычных видеозаписей. Он читает контейнер, декодирует видео, при необходимости преобразует кадры, вызывает библиотеку и записывает новый файл со звуком. Установленный рядом SvtAv1EncApp не добавляет отсутствующий кодировщик в FFmpeg: интеграция использует библиотеку, а не запускает найденный в папке одноимённый EXE.
Графическая оболочка избавляет от ручного составления каждой команды. HandBrake, например, использует SVT-AV1 как один из механизмов кодирования. Но версия встроенной библиотеки и доступные регулировки определяются оболочкой. Её очередь заданий и предпросмотр не являются собственными рабочими зонами SVT.
Сборка из исходников требует CMake, подходящего компилятора и платформенных компонентов; для x86 используется NASM. Это требования к изготовлению программы. Пользователю уже собранного FFmpeg с libsvtav1 устанавливать полноценную среду разработки не требуется.
Процессор, память и архитектура
Происхождение проекта не привязывает его к процессорам Intel. Для x86-64 важны совместимость сборки и поддерживаемые наборы инструкций; AVX2 рекомендован для производительности, но не является единственным предусмотренным путём выполнения. Кодирование остаётся программным и на компьютере с видеокартой. Выбор libsvtav1 не включает аппаратный AV1-блок NVIDIA, AMD или Intel.
Для Arm64 предусмотрены отдельные оптимизации и способы сборки, в том числе для серверов AArch64 и компьютеров Apple Silicon. Проверять нужно и систему, и архитектуру пакета. Поддержка Arm64 не означает наличия готового мобильного приложения с удобным интерфейсом для Android или iOS.
Потребление памяти зависит от разрешения, глубины цвета, структуры кадров, предварительного анализа и параллелизма. Единого числа, достаточного для любого материала, нет. Следует учитывать одновременно память декодера, фильтров, кодировщика и остальных программ, а не только размер исполняемого файла.
В версии 4.2.0 обработка 8K и выше сопровождается предупреждением о незавершённой поддержке для экспериментирования и разработки. Допустимые числовые размеры в параметрах не гарантируют готовности такого режима к ответственному производству. Его следует отличать от обычных задач доставки 1080p и 4K.
Как устроен интерфейс без графического окна
Справка и описание задания
Интерфейс SvtAv1EncApp состоит из команды запуска, файла конфигурации и текстового вывода. Для справки используется SvtAv1EncApp –help, для определения сборки — SvtAv1EncApp –version. Параметры и сообщения англоязычные; собственного графического окна, монтажной шкалы и кнопки экспорта нет.
Справка сгруппирована по назначению: общие настройки, битрейт, проходы, группы кадров, инструменты AV1, описание цвета и психовизуальные регулировки. Для обычного задания нужны источник, назначение, пресет и способ управления сжатием. Остальные аргументы добавляются под конкретную задачу, а не ради заполнения всей конфигурации.
Основные обозначения — -i для входа и -b для сжатого результата. Параметр -o записывает реконструированные кадры YUV. Его ошибочное использование вместо -b создаёт большой несжатый результат, а не готовый компактный фильм.
Файл конфигурации подключается через -c. Явно переданные аргументы командной строки имеют приоритет над совпадающими значениями в нём. Это позволяет хранить базовый профиль и менять отдельные параметры, но требует сверять действующую конфигурацию со стартовым журналом.
Журнал, прогресс и статистика
При запуске библиотека выводит сведения о версии, выбранных режимах, размере кадра, структуре кодирования и других действующих параметрах. Предупреждения здесь имеют практический смысл: некоторые несовместимые сочетания отклоняются, другие автоматически исправляются. Команда и реально применённая конфигурация поэтому не всегда тождественны.
Параметр –progress задаёт отключённый, обычный или подробный вывод хода обработки. Ошибки направляются в файл через –errlog. Для пакетного процесса журнал сохраняет причину остановки, которую невозможно понять по одному статусу «не выполнено».
Опция –enable-stat-report 1 включает расширенный отчёт, а –stat-file задаёт файл покадровой статистики с PSNR, SSIM, сведениями о квантовании и размере кадров. Сбор этих данных добавляет работу; он нужен для технического сравнения, а не для каждого бытового преобразования.
FFmpeg добавляет свой журнал потоков, декодера, фильтров и контейнера. Ошибка чтения исходника, отказ libsvtav1 и ошибка упаковки относятся к разным этапам. Такое разделение помогает искать причину: не каждая остановка команды связана с AV1-кодированием.
Пресет, качество и битрейт: три разных решения
Что меняет пресет
Пресет задаёт компромисс между сложностью поиска вариантов кодирования и скоростью. Меньший номер означает более затратный режим, больший — сокращение работы ради скорости. Это не разрешение и не процент качества. Смена пресета влияет на расход битов, поэтому её оценивают отдельно от CRF.
В обычном режиме без RTC пресеты 10 и выше предназначены для задач автоматизированных инструментов; текущая версия предупреждает о риске визуальных артефактов при ином применении. Самый быстрый номер из справки — не универсальный выбор для финального фильма. Шкалу нельзя без сравнения переносить между поколениями.
CRF: ориентир качества без заранее известного размера
Режим CRF нужен, когда важнее получить приемлемую картинку, чем строго попасть в размер файла. Меньшее значение задаёт менее сильное сжатие, большее — более сильное. Сложные участки и простые сцены при этом получают различный объём данных. Один и тот же CRF не гарантирует одинакового размера двух роликов и не обозначает измеренный процент сохранности исходника.
В самостоятельном приложении версии 4.2.0 шкала –crf охватывает значения от 1 до 70 с шагом 0,25. Это отличается от многих старых примеров. Значение 30 подходит для демонстрации синтаксиса и начального сравнения, но не подтверждает заранее качество кожи, мелкого текста, зерна или движения на конкретной записи.
У стандартного -crf в обёртке FFmpeg собственное ограничение: целые числа 0–63. Для дробного или расширенного значения используется строка -svtav1-params, например crf=30.25, в сборке с поддерживающей его библиотекой. При таком способе отдельный -crf лучше убрать, чтобы не дублировать настройку.
CQP, VBR и CBR
CQP задаёт уровень квантования без адаптивной схемы CRF. Для него предусмотрен отдельный –cqp; режим связан с отключением адаптивного квантования. Это не обещание одинакового воспринимаемого качества: гладкий фон и динамичная фактура остаются неодинаковыми по сложности задачами.
VBR задаёт целевой средний битрейт и распределяет доступный объём по материалу. Такой режим нужен для ограниченного объёма доставки или заранее рассчитанной полосы передачи. CBR ориентирован на более жёсткое управление потоком с учётом буферной модели. Слово «постоянный» не означает, что каждый кадр займёт одинаковое количество байтов: кадры и интервалы остаются неоднородными.
Двухпроходный VBR сначала собирает статистику, затем распределяет биты с её учётом. В самостоятельном приложении 4.2.0 многопроходные CRF и CBR не поддерживаются, а двухпроходный VBR отклоняет пресеты 10–13. Старые примеры с двумя проходами нельзя считать применимыми без проверки режима.
Два прохода требуют повторного доступа к тем же кадрам. Поток стандартного ввода нельзя просто перемотать назад, поэтому конвейер с единственной подачей кадров не равнозначен читаемому файлу для повторного анализа. Изменение исходника или фильтров между проходами разрушает смысл ранее собранной статистики.
Capped CRF добавляет ограничение максимального битрейта через –mbr. Такой вариант нужен, когда ориентир качества должен подчиняться ограничению потока. При его срабатывании первоначальное качество перестаёт быть безусловным приоритетом: нельзя одновременно гарантировать произвольную детализацию и любой маленький размер.
Настройки восприятия и сохранения деталей
Зачем нужен tune
Параметр tune меняет критерий, на который ориентируется кодировщик при выборе решений. Он не равен художественному фильтру и не добавляет эффект к изображению. Например, настройка под математическое совпадение кадров и настройка под воспринимаемое качество способны по-разному распределять ограниченный объём данных.
| Значение tune | Ориентир | Практическое назначение |
|---|---|---|
| 0 — VQ | Воспринимаемое качество | Визуальная оценка обычного видео и неподвижных изображений |
| 1 — PSNR | Покадровая точность по PSNR | Базовый режим; значение по умолчанию |
| 2 — SSIM | Структурное сходство | Сравнение по соответствующей метрике |
| 3 — IQ | Качество неподвижного изображения | Специализированная настройка для изображений, не обычный профиль фильма |
| 4 — MS-SSIM | Масштабно-зависимое структурное сходство | Оптимизация под многомасштабную метрику |
| 5 — VMAF | VMAF | Видео с предсказанием Random Access |
Номера tune не образуют лестницу качества. IQ не заменяет VQ для обычного фильма, а VMAF требует структуры Random Access. Для SSIM, IQ, MS-SSIM и VMAF в этой версии VBR и CBR не поддерживаются.
Адаптивное квантование и Variance Boost
Адаптивное квантование неодинаково распределяет степень сжатия по участкам изображения. Поэтому отключение AQ — не нейтральная уборка автоматики, а изменение расходования битов. Такой эксперимент проводят отдельно, сохраняя базовый вариант для сравнения.
Variance Boost помогает сохранять низкоконтрастные детали, например слабый рисунок поверхности или фактуру в тени. Настройки силы и статистического порога влияют на распределение квантования и расход битов. Оценивать нужно и отдельный фрагмент, и стабильность его фактуры в соседних кадрах.
AC bias смещает выбор решений в пользу сохранения высокочастотной составляющей. Это изменение критерия сжатия, а не замена регулировке резкости или нейросетевому восстановлению. Ореолы, созданные обработкой исходника, не превращаются от него в достоверную деталь.
Записи экрана, подписи и повторяющаяся графика
Для экранного материала есть Screen Content Mode, управляемый через –scm. Он связан с палитрой и копированием блоков внутри кадра. Значение 2 выбирает адаптивное поведение по содержимому, а 3 добавляет учёт сглаживания. Это полезное различие для видеоурока с интерфейсом программы: буквенные контуры и плоские цветные области отличаются от естественных фактур камеры.
Экранный режим не отменяет ограничение 4:2:0. При проверке такого ролика важно отдельно рассматривать мелкие цветные подписи и границы элементов, а не только общий вид окна. Уменьшение разрешения до кодирования также остаётся самостоятельной причиной потери читаемости; настройка сжатия не возвращает удалённые при масштабировании пиксели.
Временная фильтрация и зерно
Временная фильтрация использует информацию соседних кадров при подготовке опорных изображений. Её настройки связаны с эффективностью межкадрового сжатия и сохранением фактур. Это не интерполяция кадров: включение temporal filtering не переводит ролик с 25 на 50 кадров в секунду и не создаёт отдельную функцию замедленной съёмки.
Синтез плёночного зерна работает иначе, чем буквальное сохранение каждого шумового пикселя. Кодировщик оценивает модель зерна и передаёт параметры, по которым декодер воспроизводит его при показе. Так можно описать характер зернистости, не требуя точного совпадения случайного рисунка в каждом кадре. Полученная текстура не является побитовым восстановлением исходного шума.
В версии 4.2.0 –film-grain принимает значения от 0 до 50; ноль отключает функцию. Важно отдельно учитывать –film-grain-denoise: его значение по умолчанию — 0. Передача модели зерна не означает, что финальная кодируемая картинка автоматически предварительно очищена от зерна. Значение 1 включает применение такого шумоподавления к кодируемому изображению.
Для шумной ночной съёмки следует заранее выбрать цель: сохранить исходный характер зернистости либо кодировать более гладкую основу с синтезированной текстурой. Наращивание зерна поверх шумной основы не является универсальным улучшением деталей.
Оценка и синтез зерна добавляют вычислительную работу. Для пресетов выше 6 в текущей версии предусмотрено предупреждение о больших накладных расходах этой функции. Выбор быстрого пресета вместе с тяжёлой обработкой зерна поэтому не гарантирует ожидаемого ускорения всего задания.
Цвет, HDR и границы сохранения исходника
Что дают 10 бит и чего они не исправляют
Кодировщик принимает 8- и 10-битные кадры YUV 4:2:0. Глубина цвета определяет число уровней для представления компонентов, а 4:2:0 — пространственную детализацию цветоразностных каналов. Это независимые характеристики. Переход с 8 на 10 бит не превращает 4:2:0 в 4:4:4 и не возвращает цветовые детали, удалённые ранее.
Десятибитное кодирование полезно учитывать при работе с плавными градиентами и подходящим исходным материалом: более точное представление уровней уменьшает ограничения округления. Но преобразование готового 8-битного ролика в yuv420p10le не создаёт новые сведения о снятой сцене. Оно также не устраняет автоматически полосы, уже записанные в исходнике.
Копия для просмотра отличается от промежуточного файла для обработки. Сведение 12-битного или 4:4:4-материала к поддерживаемому формату уменьшает информацию ещё до кодирования. Такой результат не стоит назначать единственным мастером для последующей цветокоррекции, композитинга или извлечения кадров для печати.
HDR — это не один переключатель глубины цвета
В настройках предусмотрено описание цветовых первичных координат, передаточной функции, матрицы и диапазона значений. Доступны обозначения, необходимые для PQ и HLG, а также сведения о мастеринг-дисплее и уровнях яркости MaxCLL/MaxFALL. Эти данные помогают последующему декодированию и отображению правильно интерпретировать поток.
Метаданные не выполняют цветовое преобразование. Теги BT.2020 или PQ не превращают SDR в HDR, а смена studio/full без согласования числовых значений не корректирует контраст. Тональное преобразование и перевод цветового пространства выполняются на этапе обработки кадров.
При переносе HDR важны декодирование, фильтры, передаваемые кадры, библиотека, контейнер и проигрыватель. Сохранение динамических метаданных нельзя обещать одним выбором libsvtav1 или yuv420p10le: оно зависит от конкретной оболочки. Пример SDR-экспорта не является готовым шаблоном для HDR.
Lossless и сохранность всей цепочки
В текущем приложении есть отдельный –lossless. Минимальный CRF не заменяет его и не означает автоматически кодирование без потерь. Этот режим меняет внутренние решения, в том числе отключает адаптивное квантование.
Даже кодирование без потерь относится к кадрам, поступившим в библиотеку. Если до этого материал уменьшили, перевели в 4:2:0, изменили диапазон или глубину цвета, исходный файл целиком уже не сохраняется без изменений. Для архивной задачи необходимо проверять весь путь и сравнивать декодированные данные с нужным эталоном, а не ориентироваться только на слово lossless в команде.
Структура кадров, задержка и параллельная работа
Параметр –keyint задаёт интервал между ключевыми кадрами; предусмотрено указание в кадрах и вариант с суффиксом s для секунд. Это связано с точками начала декодирования и удобством перехода по записи. Более частые независимые опорные точки расходуют дополнительные данные, а очень длинные интервалы неудобны там, где нужны регулярные границы сегментов.
Переключатель –scd не расставляет ключевые кадры на каждой монтажной склейке. Изменения сцены учитываются внутренними решениями, но этим аргументом не превращаются в карту точек входа. Для сегментированной доставки размещение кадров согласуют с упаковщиком.
Lookahead означает анализ кадров вперёд. Чем больше материала доступно заранее, тем больше информации для планирования сжатия, но тем выше потребность в буферах и ожидании. Уменьшение одного этого параметра не задаёт полную задержку системы: остаются структура предсказания, входная обработка, контейнер, передача и буфер проигрывателя.
Для малого времени ожидания предусмотрены Low Delay и RTC со своими ограничениями. Например, в Low Delay настройка tune=0 принудительно заменяется на PSNR. Эти режимы не добавляют захват камеры, сервер трансляции или панель эфира: такими задачами занимается внешняя система.
Управление параллелизмом через –lp в актуальной ветви задаётся уровнями 0–6. Ноль включает автоматический выбор. Это не прямое число потоков процессора: –lp 4 нельзя читать как «использовать ровно четыре ядра», а –lp 16 не является способом занять шестнадцать ядер. Уровень влияет на организацию работы и выделяемые ресурсы.
Тайлы делят кадр на области для обработки. Число строк и столбцов задаётся логарифмически: значение 2 для столбцов означает четыре столбца. Избыточное разбиение меняет компромисс сжатия и не заменяет настройку общей загрузки процессора.
Fast Decode упрощает последующее декодирование, а не ускоряет экспорт видеокартой. Значения 1 и 2 меняют набор решений для будущего проигрывания; настройка оптимизирована прежде всего для tune=1. Она заслуживает сравнения на целевом устройстве, но не добавляет отсутствующую поддержку AV1.
Импорт, выходные форматы и роль внешних программ
| Задача | Самостоятельный SvtAv1EncApp | Что добавляет внешняя программа |
|---|---|---|
| Открыть запись камеры MP4 или MOV | Не является прямым импортом контейнера | Декодирование и подготовку кадров |
| Получить несжатые кадры | Читает YUV и Y4M из файла или стандартного ввода | Фильтры, преобразование формата пикселей, подачу кадров |
| Сохранить сжатое видео | Записывает AV1 в IVF либо OBU | Упаковку в MKV, MP4 или WebM с учётом совместимости потоков |
| Сохранить звук и субтитры | Не занимается их кодированием и мультиплексированием | Выбор, копирование или преобразование дорожек |
| Подготовить AVIF | Имеет режим кодирования неподвижного изображения | Чтение графического исходника и создание контейнера AVIF, например средствами libavif |
Y4M предпочтительнее безымянного потока пикселей там, где нужно передать размеры и кадровую частоту вместе с изображением. У обычного YUV нет достаточного самоописания: формат, глубина, геометрия и частота должны соответствовать действительным данным. Неправильно заданная ширина здесь означает неверное чтение последовательности байтов, а не небольшое визуальное отклонение.
Для планарного 10-битного входа используется yuv420p10le. Другой 10-битный формат или аппаратная поверхность не становятся совместимыми из-за похожего названия. FFmpeg преобразует кадры до передачи библиотеке; при прямом чтении YUV их соответствие должен обеспечить создатель файла.
IVF удобен как оболочка для отдельного видеопотока. OBU предоставляет более непосредственное представление AV1, но не является полноценным фильмом со звуком и набором дорожек. Переименование clip.ivf в clip.mp4 не меняет структуру файла. Для получения другого контейнера требуется мультиплексирование, то есть упаковка потока подходящей программой.
Упаковка AV1 в MKV, MP4 или WebM средствами FFmpeg подчиняется ограничениям соответствующего контейнера. Поэтому замена расширения в команде требует проверки аудио, субтитров и метаданных, даже когда видеокодировщик остался прежним.
Параметр –avif включает режим неподвижного изображения, но не добавляет прямой импорт JPEG и создание файловой оболочки AVIF. Эти задачи выполняет, например, libavif с подключённым SVT-AV1. Ограничения самого кодировщика по глубине и цветовой дискретизации сохраняются.
Super-Resolution внутри AV1 также легко спутать с функциями фоторедактора. Здесь речь об уменьшении горизонтального разрешения при кодировании с последующим восстановлением размера декодером. Это инструмент компромисса между потоком и изображением, а не нейросетевое восстановление объективной детализации фотографии.
Воспроизводимый пример: копия готового ролика через FFmpeg
Рассмотрим обычный сценарий: есть прогрессивный SDR-ролик 1920 × 1080 длительностью не менее 30 секунд, а нужна AV1-копия для просмотра с сохранением имеющегося звука. Исходник назовём input.mov. Это пример настройки процесса, а не результат измерения качества конкретной камеры. Для него нужна сборка FFmpeg с libsvtav1 и поддержкой декодирования исходного материала.
- Откройте терминал в рабочей папке. Убедитесь, что исходник существует, а будущие имена sample-av1.mkv и final-av1.mkv не совпадают с файлом, который необходимо сохранить.
- Проверьте наличие кодировщика и параметры исходной записи приведёнными ниже командами. Сведения о формате и цвете нужны до выбора настроек, а не после появления неверного результата.
- Создайте 30-секундный образец, оцените картинку, звук и воспроизведение на целевом устройстве. Меняйте за один раз либо CRF, либо пресет, чтобы понимать причину отличий.
- После выбора настроек выполните кодирование всего ролика без ограничения -t 30 и запишите результат под новым именем. Сохраните использованную команду и журнал рядом с производственной документацией.
ffmpeg -hide_banner -h encoder=libsvtav1
ffprobe -v error -show_streams -show_format “input.mov”
Первая команда показывает наличие и настройки обёртки libsvtav1. Вторая раскрывает потоки и характеристики записи: так заранее обнаруживаются HDR, необычная частота или несколько аудиодорожек.
ffmpeg -hide_banner -i “input.mov” -t 30 -map 0:v:0 -map “0:a?” -c:v libsvtav1 -preset 6 -crf 30 -pix_fmt yuv420p10le -svtav1-params “tune=0” -c:a copy “sample-av1.mkv”
Здесь выбирается первый видеопоток и все существующие аудиопотоки. Знак вопроса разрешает продолжить работу при отсутствии звука. Видео кодируется библиотекой SVT, а -c:a copy оставляет выбранные аудиоданные без перекодирования. Для этого их форматы должны поддерживаться выходным MKV; ошибку несовместимого аудиокодека решают отдельно от настроек изображения.
Пресет 6 и CRF 30 — начальный вариант сравнения, а не гарантированное качество. yuv420p10le выбирает 10 бит и 4:2:0, tune=0 — визуальную оптимизацию. Команда не добавляет масштабирование, художественные фильтры или синтез зерна.
Субтитры, дополнительные видеопотоки и вложения здесь не выбраны. Это не полное архивное копирование структуры исходника. При необходимости состав дорожек задают отдельно: безусловный -map 0 способен захватить служебные потоки, несовместимые с назначением.
ffmpeg -hide_banner -i “input.mov” -map 0:v:0 -map “0:a?” -c:v libsvtav1 -preset 6 -crf 30 -pix_fmt yuv420p10le -svtav1-params “tune=0” -c:a copy “final-av1.mkv”
Полная команда отличается отсутствием ограничения длительности и новым именем результата. Автоматическая перезапись не включена: это оставляет защиту от случайной замены уже существующего файла. Кавычки вокруг путей нужно сохранять, особенно при пробелах в именах.
Если рабочая цепочка уже подготовила корректный Y4M, прямой вызов выглядит короче:
SvtAv1EncApp -i “clip.y4m” -b “clip.ivf” –preset 6 –crf 30 –tune 0 –progress 2
В Windows при необходимости указывают расширение .exe; в любой системе — корректный путь к программе. Этот вызов создаёт только видео: аудио не передавалось кодировщику и в IVF не появится.
Автоматизация, локальная обработка и приватность
Подача Y4M через стандартный ввод позволяет не сохранять промежуточное несжатое видео на диск. Для автоматизации команды вызывают из сценария и контролируют статус завершения. При этом декодер и фильтры должны успевать поставлять кадры: их задержки не устраняются ускорением одного SVT.
Очередь файлов, обход папок и распределение по машинам организует внешний сценарий или оболочка. Для надёжной работы полезно различать временный и принятый результат: после завершения процесса файл проверяют, прежде чем переносить в готовую коллекцию.
Для интеграции есть библиотечный интерфейс и внешне задаваемые карты областей интереса ROI, влияющие на квантование. Это не встроенное распознавание лиц: карту подготавливает вызывающее приложение. Генерация кадров и художественная ретушь не являются назначением кодировщика.
Кодирование локальных файлов не требует регистрации и загрузки изображения на сервер. Интернет нужен для получения программ и обновлений, но не является обязательной частью самого расчёта. Запуск той же библиотеки на арендованном сервере — отдельное решение пользователя; оно не превращает основной продукт в облачную подписку с личным кабинетом.
Журналы содержат имена файлов и пути, временные YUV — полноценные кадры, а папку назначения иногда синхронизирует внешнее приложение. Для клиентских съёмок контролируйте доступ к этим данным и удаляйте лишние сведения перед публикацией журнала. Локальный расчёт не защищает автоматически все копии проекта.
Стоимость и лицензирование
SVT-AV1 — бесплатное открытое ПО без платной редакции с разблокировкой экспорта, водяного знака, пробного периода или счётчика минут. Ограничения определяются реализацией, сборкой и ресурсами компьютера, а не тарифом.
Код распространяется по BSD 3-Clause Clear: использование, модификация и распространение разрешены при соблюдении её условий. Патентные условия отдельно определяет Alliance for Open Media Patent License 1.0. Лицензию на код и патентную лицензию не следует считать одним документом.
Расходы связаны с процессорным временем, энергией, хранением и обслуживанием автоматизации. Сторонняя оболочка или облачная инфраструктура имеют собственные условия; их цену нельзя приписывать библиотеке.
Частые проблемы и их диагностика
Программа не запускается или не находится
При сообщении о неизвестной команде вызовите программу по полному пути с –version. Проверьте, что распакован исполняемый пакет, а не исходники, и он соответствует архитектуре системы. До успешного запуска искать проблему в видеозаписи преждевременно.
Для динамической Windows-сборки нужен согласованный комплект, включая SvtAv1Enc.dll в предусмотренном расположении. Версия DLL должна соответствовать программному интерфейсу вызывающего приложения. Устанавливайте совместимый комплект или обновление оболочки, а не подбирайте случайные одноимённые файлы.
FFmpeg сообщает, что libsvtav1 отсутствует
Проверьте encoder=libsvtav1 у той копии ffmpeg, которая действительно запускается. Состав кодировщиков отличается между сборками. При отсутствии кодировщика нужна сборка с библиотекой; наличие AV1-декодера не заменяет поддержку кодирования.
Старая команда отклоняется либо настройки меняются
Сократите команду до базовых параметров и возвращайте дополнительные по одному. Сверьте –lp, диапазоны CRF, сочетания tune и проходов со своей версией. В четвёртой ветви вместо старого –fps используется пара –fps-num и –fps-denom. Читайте предупреждения о принудительно изменённых настройках.
Изображение из YUV искажено, цвета неверны или длительность странная
Сверьте геометрию, порядок плоскостей, глубину и кадровую частоту с параметрами создания YUV. Сжатый MP4 нельзя читать как raw-вход. Для локализации ошибки посмотрите подготовленные кадры до SVT: неверное описание байтов не является компрессионным артефактом.
Если -n задаёт больше кадров, чем доступно в источнике, самостоятельная утилита повторяет вход с начала. Неожиданно длинный файл с повтором материала проверяйте по этому параметру и числу кадров, а не только по кадровой частоте.
Обработка идёт, но нужный файл не появляется
Проверьте наличие -b: без него отдельная утилита не записывает сжатый поток. Далее проверяются путь назначения, права и свободное место. Огромный YUV вместо AV1 указывает на необходимость проверить, не использован ли -o для реконструкции.
При остановке FFmpeg на записи контейнера проверьте сообщение упаковщика. Для локализации создайте образец только с видео, затем верните аудио. Несовместимость дорожек с контейнером не исправляется изменением CRF.
Слишком высокая нагрузка или недостаток памяти
Определите, что занимает ресурсы: декодирование, фильтрация или кодирование. Уменьшайте число одновременных заданий, уровень параллелизма либо предварительный анализ, проверяя итог. Многие тяжёлые процессы одновременно не гарантируют большей суммарной производительности.
При нехватке памяти проверьте буферизование несжатого входа. Реконструкция добавляет ещё и значительный дисковый вывод. Высокая загрузка процессора ожидаема, а низкая требует проверки скорости подачи кадров и ограничений параллелизма, а не немедленной переустановки.
Исчезли детали, появились полосы или усилилось зерно
Сравните результат с кадрами, поступавшими в кодировщик. Сначала исключите предварительное уменьшение и ошибку цвета, затем проверьте меньший CRF с тем же пресетом. Так отделяется потеря информации до кодирования от слишком сильного сжатия.
При усилении зернистости проверьте сочетание film-grain и film-grain-denoise. При сглаживании низкоконтрастной фактуры отдельно сравните Variance Boost. Не меняйте все средства сохранения деталей одновременно: иначе причина улучшения или артефакта останется неясной.
Файл исправен, но не воспроизводится на нужном устройстве
Проверьте поддержку AV1, глубины цвета, разрешения, контейнера и аудиокодека у целевого проигрывателя. Затем оцените плавность и синхронизацию звука на длинном участке. Открытие первого кадра не подтверждает пригодность всей записи для просмотра.
Как проверить результат перед публикацией
Проверка структуры и декодирования отвечает за техническую исправность, визуальное сравнение — за приемлемость изображения. Успешное завершение кодирования не заменяет ни то ни другое.
ffprobe -v error -show_streams -show_format “sample-av1.mkv”
В видеопотоке должен быть указан codec_name=av1. Сверьте размеры, формат пикселей, длительность, сведения о цвете и состав звуковых дорожек. Для примера с 10-битным выводом ожидается соответствующее десятибитное представление. При необходимости отдельно считайте кадры: контейнер не обязан заранее содержать все интересующие технические поля.
ffmpeg -v error -i “sample-av1.mkv” -map 0:v:0 -map “0:a?” -f null –
Команда декодирует выбранные потоки без создания выходного файла. Ошибки помогают выявить повреждение или проблему декодирования. Их отсутствие не подтверждает сохранность мелкой фактуры и совместимость с любым телевизором.
Визуальное сравнение выполняют на совпадающих моментах и при одинаковом масштабе отображения. Для интервью важны лицо и фон; для панорамы — листва, вода и тонкие линии; для демонстрации программы — мелкие подписи и цветные края. Градиенты проверяют на полосы, движение — на распад деталей и нестабильность текстур. Сравнение одного неподвижного кадра не заменяет просмотр переходов.
Синтезированное зерно не обязано совпадать с исходным попиксельно, поэтому метрики интерпретируют с учётом обработки. Для сравнения фиксируют исходник, подготовку кадров, версию, параметры и условия просмотра.
Плюсы и минусы
Плюсы ✔️
- Прямое управление компромиссом между вычислительной сложностью, качеством и битрейтом, без зависимости от единственного готового профиля экспорта.
- Масштабируемая программная обработка на многоядерных процессорах и отдельные оптимизации для x86-64 и Arm64.
- Поддержка 10-битного кодирования и описания цвета, необходимого для согласованной обработки HDR.
- Специализированные инструменты для фактур и зерна, а также разные критерии оптимизации изображения.
- Консольный и библиотечный интерфейсы для воспроизводимых локальных процессов и интеграции в другие программы.
- Бесплатное открытое распространение без водяного знака, обязательного аккаунта и платного ограничения числа экспортов.
Минусы ❌
- Самостоятельное приложение не открывает обычные контейнеры как универсальный конвертер и не собирает фильм со звуком без внешних инструментов.
- Поддерживаемое кодирование ограничено 4:2:0 и глубиной 8/10 бит; исходные 4:2:2, 4:4:4 и 12 бит требуют преобразования либо другого кодировщика.
- Нет собственного графического просмотра и привычных элементов настройки экспорта; прямое использование требует понимания командной строки.
- Затраты процессорного времени и памяти необходимо подбирать под материал, особенно при медленных режимах и обработке зерна.
- Настройки и допустимые сочетания меняются между версиями; старые команды и параметры оболочки не всегда соответствуют актуальной библиотеке.
- Режимы 8K и выше в рассматриваемом выпуске не следует принимать за готовый производственный сценарий без ограничений.
Кому подойдёт и кому не подойдёт
Кому подойдёт
Авторам готовых фильмов SVT-AV1 полезен для подбора копии по фактурам, размеру и времени обработки. Исходный мастер при этом сохраняют отдельно, а не заменяют результатом очередного сжатия.
Разработчики и специалисты по подготовке видео к публикации получают программную интеграцию, повторяемые задания и журналы. Для регулярных серий важны фиксированные версии и проверка файлов перед выдачей.
Локальная обработка пригодится владельцу рабочего компьютера, который не планирует передавать клиентскую съёмку внешнему сервису. Осваивать консоль необязательно: ту же технологию используют через подходящую оболочку.
Кому не подойдёт
Пользователь, ищущий монтаж, ретушь, стабилизацию или каталогизацию, не найдёт здесь нужного набора инструментов. Ради разового экспорта без изучения параметров разумнее начать с готового конвертера.
Для проекта с обязательным сохранением 12 бит или 4:4:4 потребуется другой кодировщик. AV1 также не стоит назначать единственным форматом выдачи до проверки целевых устройств. При жёстком сроке отдельно сравнивают аппаратный путь.
Четыре уместные альтернативы
libaom и aomenc: другой программный AV1-кодировщик
libaom — эталонная реализация AV1, а aomenc — её консольный инструмент. В отличие от SVT-AV1, она предусматривает более широкий набор цветовых представлений, включая 12 бит и 4:4:4 при соответствующей сборке. Это существенная причина рассматривать её для задач, где формат входных кадров важнее привычного набора регулировок SVT.
rav1e: независимая реализация с другим охватом цвета
rav1e проекта Xiph.Org — AV1-кодировщик на Rust с консольным приложением и C-совместимым интерфейсом. Он поддерживает 8-, 10- и 12-битный цвет, а также 4:2:0, 4:2:2 и 4:4:4. Это альтернатива для пользователя, которому нужна другая реализация или иной набор поддерживаемых кадров.
NVIDIA NVENC AV1: аппаратный путь
NVENC использует специализированный блок видеокодирования совместимого графического процессора. Это не режим ускорения SVT-AV1 и не переключатель CUDA для его программного алгоритма. Такой путь стоит рассматривать при ограниченном времени обработки, большой очереди файлов или необходимости уменьшить нагрузку кодирования на центральный процессор.
Проверяйте поддержку именно AV1-кодирования у конкретной видеокарты, а не только наличие NVIDIA или аппаратного декодера. Сравнивать нужно изображение, размер и скорость на своём материале: аппаратная реализация не повторяет решения SVT.
HandBrake: альтернатива прямой работе с консолью
HandBrake — бесплатный открытый конвертер для Windows, Linux и macOS с выбором параметров, очередью заданий и средствами работы с аудио и субтитрами. Он создаёт MP4, MKV и WebM и умеет использовать SVT-AV1. Поэтому это прежде всего альтернатива способу работы, а не обязательно самому алгоритму сжатия.
Такой конвертер подходит для нескольких готовых фильмов с ручным выбором дорожек. Для повторения результата учитывают версию библиотеки и фильтры оболочки. HandBrake не предназначен для простого переноса видео между контейнерами без перекодирования: видео в нём кодируется заново.
FAQ: вопросы о выборе рабочего процесса
Как оценить битрейт при ограничении размера файла?
Для приблизительного бюджета сначала переводят допустимый размер в биты и делят на длительность. Затем вычитают бюджет звука и оставляют запас на контейнер и дополнительные данные. Например, видеопоток 2 Мбит/с за 600 секунд занимает примерно 150 МБ в десятичном исчислении, ещё без звука и накладных расходов. Это расчёт объёма, а не обещание качества: для сложной сцены заданный бюджет способен оказаться недостаточным.
Нужно ли перекодировать AV1, чтобы перенести видео из MKV в MP4?
Сам по себе переход между совместимыми контейнерами не требует нового сжатия изображения. Используют перепаковку с копированием видеопотока; отдельно проверяют, допускает ли целевой контейнер звук, субтитры и необходимые метаданные. Повторный запуск SVT оправдан изменением параметров видео, а не одним желанием поменять расширение. Перепаковка также не улучшает поддержку AV1 у устройства, у которого нет соответствующего декодера.
Можно ли сравнить два выпуска только по размеру файла при одинаковом CRF?
Меньший файл показывает расход данных, но не характер потерь. Сравнивайте неизменные фрагменты по времени, размеру и картинке, прежде чем обновлять производственную версию. Контрольная сумма подтверждает идентичность копий, но не измеряет визуальное качество.
Почему общий файл почти не уменьшился, хотя видеопоток стал меньше?
Общий объём складывается из всех дорожек и контейнерных данных. Несжатый или высокобитрейтный звук, несколько аудиоверсий и вложения не уменьшаются вслед за видео. Проверьте состав файла и долю каждой составляющей. Дальнейшее ухудшение картинки ради размера бессмысленно, когда существенная часть объёма находится в данных, которые выбранная операция вообще не меняет.
Стоит ли пересжимать уже компактный ролик из мессенджера?
Повторное кодирование не вернёт удалённые детали и не обязано заметно уменьшить уже компактный файл с приемлемой картинкой. Для нового монтажа лучше получить исходную запись. Для просмотра иногда достаточно совместимого проигрывателя или смены контейнера без нового сжатия.
Итог: выбирать по месту в производственной цепочке
Для готового видео SVT-AV1 имеет смысл как управляемый этап создания копии для распространения. Начните с короткого фрагмента и умеренного пресета, сохраняя мастер отдельно. Прямой SvtAv1EncApp нужен для контроля подготовленных кадров; FFmpeg или оболочка — для обычных контейнеров и нескольких дорожек.
В регулярном производстве важнее всего воспроизводимость: фиксированные версии, прозрачные настройки и приёмка результата. Для разовой задачи удобнее графический конвертер, для ограниченного времени — сравнение аппаратного AV1, для сохранения 12 бит или полнокомпонентного цвета — другой механизм либо мастер. Выбор определяется форматом кадров, сроком и устройствами просмотра, а не количеством переключателей.








