Компания Intel выпустила open source видео кодировщик SVT-AV1 (Scalable Video Technology-AV1), использующий набирающий сейчас популярность видео формат AV1, преемник VP9. Кодировщик AV1 предназначен для высоконагруженных стриминговых сервисов и отличается большими возможностями масштабирования — максимально до 112 логических процессоров. Ранее Intel уже выпустила подобный кодировщик для кодека H.265/HEVC.

SVT-AV1 выпущен под лицензией BSD-2, поддерживаются следующие платформы:

  • Windows Server 2016
  • Ubuntu 16.04 Server LTS
  • Ubuntu 18.04 Server LTS
  • MacOS

Кодер, предназначенный для больших нагрузок на CPU, предъявляет достаточно жесткие требования к аппаратной платформе. С вычислительной точки зрения он сильно оптимизирован под современные процессоры Intel Xeon Scalable и Xeon D, хотя в принципе возможен его запуск на любом процессоре Intel Core, начиная с пятого поколения (в переводе на поколения Intel Xeon — E5-v4 или новее). Для оптимизации кодирования кроме параллелизации активно используются векторные инструкции вплоть до AVX2. Хвастаться, конечно, некрасиво, но иногда — уместно. Значительная часть векторных оптимизаций этого продукта выполнена vikky13

Что касается памяти, то тут картина такая: 48 Гб памяти минимум необходимо для кодирования в 4k, 16 Гб — для использования FullHD. Все цифры приведены для 10-битного потока.
Разрешение Минимальный объем ОЗУ (Гб)
4k 48
1080p 16
720p 8
480p 4

Технически ПО, как и референсная реализация AV1 от AOM представляет собой библиотеку, простейший пример приложения для ее использования, а также включает в себя патч к ffmpeg для «подключения» туда SVT-AV1.

Подробное описание системных требований, методов сборки и установки, зависимостей и так далее вы найдете на странице проекта на GitHub.

Ну, а если вам захочется не только кодировать, но и просматривать полученное видео, то с этой задачей справятся, например, свежие версии Firefox, Chrome, VLC, а также новорожденный открытый кросс-платформенный декодер Dav1d.

Комментарии (5)


  1. RuGrof
    13.02.2019 11:15

    Для информативности, могли бы и немного перфоманс тестов выложить, чего там как.


  1. kovserg
    13.02.2019 16:47

    А gpu нельзя использовать для кодирования видео?


    1. vikky13
      13.02.2019 17:15

      Пока — нет.


      1. sim3x
        14.02.2019 00:02

        developer.nvidia.com/ffmpeg

        If you have an NVIDIA GPU which supports hardware-accelerated video encoding and decoding, it’s simply a matter of compiling FFmpeg binary with the required support for NVIDIA libraries and using the resulting binaries to speed up video encoding/decoding.


  1. sim3x
    14.02.2019 00:01

    Не совсем понятно какая задача ставилась/решалась
    16гб рам для енкодинга одного видеопотока на 1080р даже в лайве — сильно жирно

    С другой стороны указано

    Encoding using the multi-instance support is limited to only 6 simultaneous streams.

    А сверху еще ремарка
    on a 112 logical core system