Масштабируемая технология видео для HEVC-кодировщика (SVT-HEVC Encoder)
SVT-HECV Encoder — это библиотека ядра кодировщика, совместимого с HEVC, которая обеспечивает отличное соотношение плотности и качества и оптимизирована для процессоров Intel® Xeon™ Scalable и Xeon™ D.
Технический документ SVT-HEVC можно найти здесь: https://01.org/svt.
Этот кодировщик оптимизирован для достижения отличных уровней производительности с использованием 12 предустановок плотности-качества (подробнее см. в руководстве пользователя).
Масштабируемая видеотехнология лицензирована по одобренной OSI лицензии BSD+Patent. Подробнее см. в файле LICENSE.md.
Более подробную информацию об использовании кодировщика можно найти в следующих документах:
— svt-hevc-encoder-user-guide (Docs/svt-hevc_encoder_user_guide.md).
SVT-HEVC может работать на любой 64-битной операционной системе Windows* или Linux*. Ниже приведён список операционных систем, на которых были протестированы и проверены приложение и библиотека кодировщика:
Windows:*
Linux:*
Библиотека SVT-HEVC поддерживает архитектуру x86:
Требования к процессору
Для достижения целевой производительности кодировщика при его запуске необходимо использовать конкретную модель процессора, указанную выше. В противном случае кодировщик будет работать на любом процессоре 5-го поколения Intel Core™ (ранее Broadwell) (Xeon E5-v4) или более новом.
Требования к оперативной памяти
Чтобы запустить самое высокое разрешение, поддерживаемое кодировщиком, для запуска одного 8kp50/10-битного кодирования требуется не менее 64 ГБ ОЗУ. Если в системе недостаточно оперативной памяти для поддержки этого, приложение кодировщика выдаст ошибку. В следующей таблице показано минимальное количество оперативной памяти, необходимое для некоторых стандартных разрешений 10-битного видео на поток:
Разрешение | Минимальный объём (ГБ) |
---|---|
8k | 64 |
4k | 16 |
1080p | 6 |
720p/1080i | 4 |
480p | 3 |
Требования для сборки
Инструкции по сборке
Соберите проект, выполнив следующие шаги в командной строке Windows:
<repo dir>\Build\windows
;build.bat [2019|2017|2015]
. Это автоматически создаст и соберёт проект.Чтобы собрать проект с помощью генератора, отличного от Visual Studio:
build.bat [ninja|msys|mingw|unix]
. Обратите внимание, что эти варианты официально не поддерживаются и поэтому не отображаются в сообщении справки.Расположение двоичных файлов
Двоичные файлы можно найти в каталогах <repo dir>\Bin\Release
или <repo dir>\Bin\Debug
, в зависимости от того, выбран ли режим Debug или Release.
Установка
Для правильной работы двоичных файлов должны быть выполнены следующие условия:
После завершения сборки скопируйте двоичные файлы в папку, убедившись, что и приложение SvtHevcEncApp.exe, и библиотека SvtHecEnc.dll находятся в одной папке.
Откройте командную строку в выбранном месте и запустите приложение для кодирования: SvtHevcEncApp.exe -i [in.yuv] -w [width] -h [height] -b [out.265]
Приложение также поддерживает чтение из канала. Например: ffmpeg -i [input.mp4] -nostdin -f rawvideo -pix_fmt yuv420p - | SvtHevcEncApp.exe -i stdin -n [number_of_frames_to_encode] -w [width] -h [height].
Операционные системы Linux (64-бит)
Требования к сборке: GCC 5.4.0 или новее. CMake 3.5.1 или новее. YASM Assembler версии 1.2.0 или новее.
Инструкции по сборке: В основном репозитории запустите либо предоставленный скрипт сборки:
cd Build/linux
./build.sh [release|debug] [static|shared] [install]
# Требуется разрешение sudo для установки
# Запустите './build.sh -h', чтобы увидеть полную справку
либо выполните команды напрямую:
mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=<Release|Debug> && make -j $(nproc) && sudo make install
Расположение бинарных файлов: Бинарные файлы можно найти в $REPO_DIR/Bin/Release.
Установка: Для правильной работы бинарных файлов необходимо выполнить следующие условия: На любой из перечисленных выше операционных систем Linux скопируйте бинарные файлы в любое удобное место. Измените права доступа к исполняемому файлу примера приложения «SvtHevcEncApp», выполнив команду: chmod +x SvtHevcEncApp. Перейдите в выбранное местоположение. Запустите пример приложения для кодирования. ./SvtHevcEncApp -i [in.yuv] -w [ширина] -h [высота] -b [out.265]. Пример приложения поддерживает чтение из канала. Например: ffmpeg -i [input.mp4] -nostdin -f rawvideo -pix_fmt yuv420p - | ./SvtHevcEncApp -i stdin -n [количество кадров для кодирования] -w [ширина] -h [высота].
Обратитесь к руководству здесь.
Режим VBR BRC: Функция VBR, реализованная в SVT-HEVC Encoder, является демонстрационной функцией, позволяющей упростить интеграцию продукта уровня BRC. Реализованный алгоритм позволит кодировщику генерировать выходной поток битов, который наилучшим образом соответствует целевой скорости передачи данных. Алгоритм не гарантирует определённую максимальную скорость передачи данных или максимальный размер буфера [не соответствует требованиям HRD]. При настройке на кодирование в режиме VBR кодировщик не выдаёт бит-точный вывод от одного запуска к другому.
Выход с контролем скорости: Реализованная функция контроля скорости для SVT-HEVC Encoder является демонстрационной функцией, демонстрирующей способность библиотеки адаптироваться к ресурсам, доступным на лету, для генерации наилучшего возможного качества видео при сохранении скорости кодирования в реальном времени. При настройке режима использования контроля скорости кодировщик не даёт бит-точного вывода от одного запуска к другому.
Поддержка нескольких экземпляров: Демонстрационная функция поддержки нескольких экземпляров реализована в примере приложения SVT-HEVC Encoder как пример одного примера приложения, использующего несколько библиотек кодирования. Кодирование с использованием поддержки нескольких экземпляров ограничено только 6 одновременными потоками. Например, два канала, кодирующие в Windows: SvtHevcEncApp.exe -nch 2 -c firstchannel.cfg secondchannel.cfg.
Мы приветствуем участие сообщества в проекте SVT-HEVC Encoder. Благодарим вас за потраченное время! Внося свой вклад в проект, вы соглашаетесь с условиями лицензии и авторскими правами, а также с выпуском вашего вклада на этих условиях.
Используйте проблемы. # IRC
#svt
на Freenode. Присоединяйтесь через Freenode Webchat или используйте свой любимый клиент IRC.
Уведомления и отказы от ответственности можно найти здесь.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )