我对 gstreamer 非常陌生,但经过大量研究,我现在设法创建了自己的工作管道,通过 UDP 传输将网络摄像头从 Raspberry PI Zero 流式传输到 PC。我对自己的进步很满意!:)
但我正在努力创建一个 TCP 传输......
此管道在 UDP 上完美运行:(注意:使用测试视频源和 JPEG 编码进行了简化):
Server UDP (192.168.2.1):
gst-launch-1.0 videotestsrc is-live=true ! jpegenc ! rtpjpegpay ! udpsink host=192.168.2.13 port=7001
Client UDP (192.168.2.13):
gst-launch-1.0 udpsrc port=7001 ! application/x-rtp,encoding-name=JPEG ! rtpjpegdepay ! jpegdec ! autovideosink
Run Code Online (Sandbox Code Playgroud)
...但是当我使用具有完全相同元素的 TCP 接收器/源时,我只收到错误消息。
使用tcpserversink和tcpclientsrc修改后的管道:
Server TCP (192.168.2.1):
gst-launch-1.0 videotestsrc is-live=true ! jpegenc ! rtpjpegpay ! tcpserversink port=7001
Client TCP (192.168.2.13):
gst-launch-1.0 tcpclientsrc host=192.168.2.1 port=7001 ! application/x-rtp,encoding-name=JPEG …Run Code Online (Sandbox Code Playgroud) gstreamer ×1