我想在发送者和接收者之间传输 RTP 视频。如果我使用以下命令通过 UDP 流式传输视频,它工作正常:
发件人
gst-launch-1.0 -e v4l2src device=/dev/v4l/by-id/usb-AVEO_Technology_Corp._USB2.0_Camera-video-index0 ! jpegenc ! rtpstreampay ! udpsink host=172.17.30.78 port=5200
接收者
gst-launch-1.0 udpsrc port=5200 ! application/x-rtp, encoding-name=JPEG,payload=26 ! rtpjpegdepay ! jpegdec ! autovideosink
但是当我尝试将视频保存到文件时
gst-launch-1.0 -e v4l2src device=/dev/v4l/by-id/usb-AVEO_Technology_Corp._USB2.0_Camera-video-index0 ! jpegenc ! rtpjpegpay ! filesink location=test
然后使用这些命令通过 UDP 发送
发件人
gst-launch-1.0 filesrc location=test ! udpsink host=172.17.30.78 port=5200
接收者
gst-launch-1.0 udpsrc port=5200 ! application/x-rtp, encoding-name=JPEG,payload=26 ! rtpjpegdepay ! jpegdec ! autovideosink
接收器无法解码流并显示此错误
AVERTISSEMENT : de l’élément /GstPipeline:pipeline0/GstRtpJPEGDepay:rtpjpegdepay0 : Impossible de décoder le flux.
Information de débogage supplémentaire :
gstrtpbasedepayload.c(492): gst_rtp_base_depayload_handle_buffer (): /GstPipeline:pipeline0/GstRtpJPEGDepay:rtpjpegdepay0:
Received invalid RTP payload, dropping