Перейти к содержимому
Калькуляторы

Аппаратное декодирование - кодирование ffmpeg (мозайка потоков)

Приветствую!

 

Есть необходимость сделать мозайку потоков на ffpmeg, или как говорят еще квадратор, используя аппаратное (сначала декодирование, а потом кодирование).

 

Если указывать флаги -hwaccel vaapi -init_hw_device vaapi=hw:/dev/dri/renderD128, мы говорим ffmpeg - аппаратно кодировать. Но, декодирование происходит программно.

Как я определил? По загрузке CPU.

 

Делал по этой инструкции,

https://boyko.blog/квадратор-на-основе-ffmpeg/

 

Подскажите, кто сталкивался?

 

 

 

 

 

 

Изменено пользователем lukovitsky

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть сомнение, что vaapi возможно одновременно кодирование и декодирование да еще с фильтрами, такое может работать с nvidia, cuvid для декодирования и обработки, nvenc кодирования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Там две проблемы:

1. Весьма вероятно, лимитированы tmpfs или куда там промежуточный вариант кладется. Разбивайте процесс на два, один декодирует в память, второй уже забирает из памяти и кодирует куда надо. Примеры нагуглите.

2. Проигрывание видео - отдельная история. Это третий процесс, который будет забирать готовое видео, и он должен уметь в использование аппаратных оверлеев, через V4L2 или еще как-то, потому как там есть еще операции вроде scaling and color-space conversion, и без работы с железом они легко съедают одно ядро даже на одном потоке при джентльменском разрешении видео. А у вас четыре потока.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я хочу из 9 потоков FullHD сделать один.

Как подобрать железо? И как вообще это происходит у операторов кабельного или IPTV?

Знаю, что есть операторы, давно предоставляющие обычное аналоговое тв по кабелю, а несколько лет назад начали предоставлять тоже самое IPTV?

Как это делается в промышленных масштабах, если у них 120 каналов?

 

Повторюсь, хочу подобрать недорогое железо для домашего видеонаблюдения (9 FullHD RTSP потоков 4Mbps каждый --> один FullHD RTSP)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 02.07.2022 в 14:33, lukovitsky сказал:

И как вообще это происходит у операторов кабельного или IPTV?

По-хорошему происходит как-то так: IPTV Transcoder for 4K, HD, SD | BLANKOM BTR-6000 , DMP – Digital Media Platform - Digital Media Platform - Products - wellav - Wellav Technologies

На пост-СССР, в основном, конечно, колхозят, наборами коробок попроще "выход одной <-> вход другой" или софтом. Потральте раздел Телевидение: кабельное (КТВ) эфирное, цифровое (DVB), IPTV и OTT - Форумы NAG.RU 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На простых видеокартах было ограничение на количество одновременных потоков кодирования, возможно, с этим связано.

https://stackoverflow.com/questions/30490505/nvenc-fail-to-compress-h264-with-for-multiple-video-streams

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 03.07.2022 в 16:20, naves сказал:

одновременных потоков кодирования

Тут кодируется один поток, на декодирование нет лимитов по количеству, на сколько хватит ресурсов и памяти в зависимости от fps, кодека и разрешения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.