私のコンピュータのウェブカメラをリモートコンピュータと共有しようとしています。これを行うには、私のコンピュータのカメラをudpポート(ストリーム)と共有し、リモートコンピュータからストリームを取得して仮想カメラに配置したいと思います。だから私は私のカメラをGoogle Meetのようなプラットフォームでリモートコンピュータとして使うことができると思いました。
私の申請段階は次のとおりです。
/dev/video0
gstream 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はリモートコンピュータの仮想カメラです。