Jump to content
Калькуляторы

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

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

 

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

 

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

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

 

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

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

 

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

 

 

 

 

 

 

Edited by lukovitsky

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

 

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

 

Share this post


Link to post
Share on other sites

В 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 

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.