스트리밍 데이터를 UDP에서 비디오 장치로 변환하는 방법은 무엇입니까?

스트리밍 데이터를 UDP에서 비디오 장치로 변환하는 방법은 무엇입니까?

내 컴퓨터의 웹캠을 원격 컴퓨터와 공유하려고 합니다. 이를 위해 내 컴퓨터의 카메라를 udp 포트(스트림)와 공유하고 원격 컴퓨터에서 스트림을 가져와서 가상 카메라에 넣고 싶습니다. 그래서 Google Meet과 같은 플랫폼에서 원격 컴퓨터로 내 카메라를 사용할 수 있다고 생각했습니다.

내 신청 단계는 다음과 같습니다.

/dev/video0gstream udpsink를 사용하여 로컬 PC()에서 카메라 스트림을 시작하고 다음과 같이 원격 PC에서 스트림 데이터를 얻을 수 있습니다.

gst-launch-1.0 -e -v udpsrc port=5001 ! application/x-rtp, encoding-name=JPEG,payload=26 ! rtpjpegdepay ! jpegdec !  autovideosink 

다음과 같이 원격 컴퓨터에 가상 카메라를 만들었습니다.

sudo modprobe v4l2loopback exclusive_caps=1 video_nr=3 card_label="VirtualCAM"

이 시점에서 이 스트리밍 데이터를 비디오 장치로 변환하고 싶습니다. v4l2sink device=/dev/video5대신 사용해 보았지만 autovideosink몇 가지 오류가 발생했습니다.

의견 있으십니까?

답변1

GStreamer를 사용하여 비디오 스트림을 변환할 수 없습니다. 하지만 ffmpeg는 저에게 효과적입니다. 저는 Ffmpeg를 사용하여 원격 및 로컬 컴퓨터에서 비디오 스트림을 보내고 받기 시작했습니다.

로컬 Linux 머신의 경우:

ffmpeg -i /dev/video0 -f mpegts udp://<ip>:<port>

원격 Linux 머신의 경우

ffmpeg -i udp://<ip>:<port> -f v4l2 /dev/video3

참고: /dev/video3은 원격 컴퓨터의 가상 카메라입니다.

관련 정보