Use uma câmera IP como uma câmera virtual

5

Eu quero usar uma câmera IP com o webrtc. No entanto, o webrtc parece suportar apenas webcams. Então, tento converter o fluxo da câmera IP em uma webcam virtual.

Encontrei softwares como IP Camera Adapter , mas eles não funcionam bem (2-3 quadros por segundo e atraso de 2 segundos) e eles funcionam apenas no Windows, prefiro usar o Linux (se possível).

Eu tento ffmpeg / avconv: -primeiramente, criei um dispositivo virtual com v4l2loopback (o comando era: sudo modprobe v4l2loopback ). O dispositivo virtual é detectado e pode ser alimentado com um vídeo (.avi) com um comando como: ffmpeg -re -i testsrc.avi -f v4l2 /dev/video1

-o fluxo da câmera IP está disponível com: rtsp://IP/play2.sdp para uma câmera Dlink DCS-5222L. Este fluxo pode ser capturado pelo ffmpeg.

Meu problema é fazer o link entre essas duas etapas (receber o fluxo rstp e gravá-lo na webcam virtual). Eu tentei ffmpeg -re -i rtsp://192.168.1.16/play2.sdp -f video4linux2 -input_format mjpeg -i /dev/video0 , mas há um erro com v4l2 (v4l2 não encontrado).

Alguém faz uma ideia de como converter um fluxo de uma câmera IP para uma câmera virtual?

    
por Minz 09.05.2014 / 11:49

2 respostas

2

O FFMpeg pode receber vídeos da sua câmera IP e encaminhá-los para o dispositivo da câmera virtual. Para isso, você precisa especificar primeiro todos os parâmetros da sua câmera IP, como segue, eu acho:

-f video4linux2 -input_format mjpeg -i rtsp://192.168.1.16/play2.sdp

depois, todos os seus parâmetros de saída, como você usou no seu exemplo:

-f v4l2 /dev/video1

Então, tente este comando:

ffmpeg -f video4linux2 -input_format mjpeg -i rtsp://192.168.1.16/play2.sdp -f v4l2 /dev/video1
    
por 18.01.2016 / 16:22
2

Você também pode usar o gstreamer, já que o ffmpeg e o avconv podem ter problemas com o formato v4l2. Observe o uso de decodebin no pipeline.

gst-launch rtspsrc location=rtsp://192.168.2.18/play.sdp ! decodebin ! v4l2sink device=/dev/video1
    
por 11.04.2016 / 02:22