1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-SVT-HEVC

Клонировать/Скачать
README.md 13 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 03:26 d619570

Масштабируемая технология видео для 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:*

    • Windows Server 2016.
  • Linux:*

    • Ubuntu 16.04 Server LTS;
    • Ubuntu 18.04 Server LTS;
    • CentOS 7.4/7.5/7.6.

Аппаратное обеспечение

Библиотека 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* (64-разрядная версия)

Требования для сборки

  • Visual Studio* 2017 (скачать здесь) или 2019 (скачать здесь);
  • CMake 3.14 или новее (скачать здесь);
  • YASM Assembler версии 1.2.0 или новее. Скачать exe-файл yasm можно по этой ссылке. Переименуйте файл yasm-1.3.0-win64.exe в yasm.exe и скопируйте его в папку, которая находится в переменной среды PATH.

Инструкции по сборке

Соберите проект, выполнив следующие шаги в командной строке 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.

Установка

Для правильной работы двоичных файлов должны быть выполнены следующие условия:

  • На любой из перечисленных операционных систем Windows* должен быть установлен распространяемый пакет Microsoft Visual C++ 2015–2019.
  • Должны быть установлены библиотеки ffmpeg и x265. Требования к ОС. Установите Visual Studio 2017 или 2019

После завершения сборки скопируйте двоичные файлы в папку, убедившись, что и приложение 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 [высота].

Как оценить готовые к запуску исполняемые файлы с помощью docker

Обратитесь к руководству здесь.

Демонстрационные функции и ограничения

  • Режим 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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-SVT-HEVC.git
git@api.gitlife.ru:oschina-mirror/mirrors-SVT-HEVC.git
oschina-mirror
mirrors-SVT-HEVC
mirrors-SVT-HEVC
master