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.