Я хочу транслировать видео RTP между Отправителем и Получателем.Он работает нормально, если я передаю видео через UDP с помощью следующих команд:
SENDER
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
RECEIVER
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 с помощью этих команд
SENDER
gst-launch-1.0 filesrc location=test ! udpsink host=172.17.30.78 port=5200
RECEIVER
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