Компания 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)
kovserg
13.02.2019 16:47А gpu нельзя использовать для кодирования видео?
vikky13
13.02.2019 17:15Пока — нет.
sim3x
14.02.2019 00:02If 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.
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
RuGrof
Для информативности, могли бы и немного перфоманс тестов выложить, чего там как.