Могу ли я эмулировать сетевую IP-камеру в качестве медиаустройства, обнаруженного Chromium? - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть решение WebRT C, основанное на браузерах Chromium, которое использует камеры локальных устройств. Однако камеры установлены на значительном расстоянии и не могут быть подключены к любому P C через USB. Они могут быть подключены к локальной сети с помощью кабелей rnet.

Есть ли способ эмулировать камеры в качестве локального мультимедийного устройства, чтобы navigator.mediaDevices.enumerateDevices их распознавал? Могу ли я изменить код или использовать какие-либо API для обнаружения IP-камер? Любые указатели были бы очень полезны.

Я пробовал варианты:
1. Добавить устройство в Windows Настройки. Не работает, так как требует указания c Windows Инсайдерского обновления.
2. Адаптер IP-камеры, ManyCam, iSpy не работает, так как все они поддерживают HTTP. Мои HD-камеры поддерживают только протокол RTMP.

1 Ответ

0 голосов
/ 09 апреля 2020

v4l2loopback - это один из способов сделать это! Это позволяет вам загружать виртуальную веб-камеру на Linux произвольным носителем.

Тогда у вас может быть конвейер в GStreamer, который выглядит как

gst-launch-1.0 rtmpsrc location=$RTMP_SRC ! decodebin ! v4l2sink device=/dev/video0

Этот конвейер извлекает мультимедиа из вашего RTMP сервер, декодирует его, а затем передает его на новую виртуальную веб-камеру. Ваше имя устройства может быть другим, ls /dev/video* будет полезно. Затем, когда вы открываете Chromium, вы можете выбрать новую виртуальную веб-камеру, которая подается через rtmpsrc.


В качестве дополнительного вопроса, вам нужно опубликовать sh через Chromium? Очень легко опубликовать sh с помощью чего-то вроде Pion WebRT C, вы можете дать ему произвольный носитель, и он может отправить sh в браузер. В нем также есть примеры того, как вы можете извлечь из rtmpsrc.


Другим решением может быть OBS. Это позволяет вам потреблять RTMP Source, а затем вы можете вывести Virtual Cam. Таким образом, OBS будет обслуживать веб-камеру, содержащую ваш произведенный контент, который будет просто одним полноэкранным видео, извлеченным из RTMP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...