У вас есть микшер для видеосигнала? И даже аналогового нету? Ну как так можно жить!? :( И не нужно оправданий на тему "дорого"! Сейчас сделаем почти бесплатно...
Сей проект был "замучен" под стенания Александра Сотника (утуб) о его мечтаниях купить микшер и полнейшее отсутствие такой возможности ибо тупо нет денег. И тут мне вспомнилась нехитрая виндузятная программка, сквозь которую мы микшировали соревнования по художественной гимнастике для прямой трансляции в тырнете. Давно то было... да и возможности DirectShow несколько ограничены предпочтениями мелкомягких. Прием rtsp потоков там требовал исполнения краковяка с бубном. А уж как форточки при этом выпаивали процессор на трех-четырех камерах в SD формате (720х380)!!!
В общем стало мне грустновато, кроме фонового состояния скучноватости. Так и отнефигделался сей проект.
Чисто по приколу, для создания микшера, минимально, требуется хоть сколько-нибудь приличный ноут (2 гигагерца с парой ядер). Если не принимать в расчет затраты на сами камеры (а тут отдельная ржака), на этом расходы заканчиваются. Ну и про ввод изображения... подойдут ЛЮБЫЕ камеры! Аналоговые - через дополнительный видео вход, сетевые - и так понятно... и даже банальный USB девайс вполне подойдет. И уж если у вас нет даже этого, то тема совсем дохлая :)
Для примера, обработка пяти потоков (USB и IP камер плюс 3 канала с TVHeadEnd) на виртуальной машине с двумя процессорами отожрало всего 50% от камня. И это с полным разнобоем в форматах! От 640х480 на USB до Full HD на камере наблюдения. Расход памяти тоже не смертелен...
На каком-нить I7 с тремя гигагерцами, та же задача откушивает 10-12% процентов булыжника и практически незаметна на фоне открытого браузера с мордобуком :)
Но что-то я развыступался... "не пора ли нам пора?" (ц) Маша з Медведем.
Для работы сей проги надо помнить следующее:
- sudo apt install ffmpeg
- записать прогу в какую-нить папку и туда же покласть список сетевых источников и настройки.
Конфиг выглядит примерно так:
[video]
; свойства ВЫХОДНОГО изображения
width=1280
height=720
fps=25
[preview]
; размеры превьюшек и они же - размеры мелких оверлеев
width=320
height=180
[output]
; кудой покласть РЕЗУЛЬТАТ
file=/dev/video9
format=v4l2
В примере запись осуществляется в lopback устройство для других программ доступное как обычный источник видео. Но писать можно и в файл, и на ffmpeg сервер.
Установка сего немудрящего драйвера осуществляется так:
sudo apt install v4l2loopback-dkms
А за подробностями по извращенным вариантам запуска можно ломануться на сайт разработчика.
Список внешних сетевых источников еще проще и задается построчно в формате:
название=URL
Программа не сводит звук - только видео. Звук проще брать напрямую. И уж если его таки надо микшировать, будьте любезны приобрести хоть какую-нибудь "ямаху" с ценой от 300 дохлых президентов.