Видео WebRTC останавливается для виртуальной камеры через gstreamer и v4l2sink
Я пытаюсь использовать видео, снятое с моей IP-камеры (Vstarcam C7837WIP), на своей веб-странице с помощью WebRTC.
IP-камера подключена непосредственно к моему компьютеру с помощью кабеля Ethernet, и мне удалось получить доступ к видео с помощью cheese
приложение на Linux 14.04 с помощью gstreamer
а также v4l2sink
с этой командой
gst-launch-1.0 -vet souphttpsrc location='http://10.10.10.10:81/videostream.cgi?user=XXX&pwd=XXX' timeout=5 ! jpegdec ! tee ! v4l2sink device=/dev/video1
К сожалению, у меня проблемы с использованием виртуальной веб-камеры с WebRTC (например, по адресу https://webrtc.github.io/samples/src/content/getusermedia/gum/). После выбора камеры в Firefox, видео показывает изображение с камеры и сразу же зависает.
Точно так же, если я использую
gst-launch-1.0 videotestsrc ! tee ! v4l2sink device=/dev/video1
Я вижу только изображение, но нет видеопотока в браузере - хотя в сыре это работает.
Любая подсказка, как я могу получить видео поток для использования с WebRTC?
Редактировать:
Я скачал v0.10.0 с https://github.com/umlaeute/v4l2loopback и создал фиктивное видеоустройство с modprobe v4l2loopback exclusive_caps=0
Edit2:
То же самое происходит, если я использую
gst-launch-1.0 -vet rtspsrc user-id='XXX' user-pw='XXX' location='rtsp://10.10.10.10:10554/udp/av0_0' latency=0 ! decodebin ! tee ! v4l2sink device=/dev/video1
1 ответ
Мне удалось получить решение моей проблемы с помощью
gst-launch -vet rtspsrc user-id='XXX' user-pw='XXX' location='rtsp://10.10.10.10:10554/udp/av0_0' latency=0 ! decodebin2 ! v4l2sink device=/dev/video1
Остается вопрос, как получить решение, используя gst-launch-1.0
(Я предполагаю, что в конечном итоге gst-launch-1.0
станет значением по умолчанию, а версия 0.10 будет устаревшей)?