Hello
I want to stream a video over a network with low latency
I am using the following:
1. Nitrogen6x board with i.MX6Dual Processor as server
2. x86 System as receiver with Ubuntu 18
3. UVC Camera connected to i.MX6Dual Processor
server GStreamer pipeline:
gst-launch-1.0 v4l2src ! videoconvert ! videoscale ! videorate ! "video/x-raw,width=720,height=576,format=I420,framerate=25/1" ! rtpvrawpay ! udpsink host=<Client IP address> port=5000 sync=false async=false
client GStreamer pipeline:
gst-launch-1.0 udpsrc buffer-size=622080 port=5000 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)RAW, sampling=YCbCr-4:2:0,depth=(string)8,width=(string)720, height=(string)576, payload=(int)96, a-framerate=25" ! rtpvrawdepay ! autovideosink window-width=720 window-height=576 sync=true
when I run this pipeline i'm unable to stream the video properly it is stucked with one frame and after few sec it shows another frame but instead it should show video continuously.
In this case I tried following methods:
I have also tried another pipeline
server GStreamer pipeline:
gst-launch-1.0 v4l2src ! videoconvert ! videoscale ! videorate ! "video/x-raw,width=720,height=576,format=I420,framerate=25/1" ! x264enc ! rtph264pay ! udpsink host=<Client ip address > port=5000 sync=false async=false
client GStreamer pipeline:
gst-launch-1.0 -v udpsrc port=5000 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! decodebin ! videoconvert ! autovideosink sync=false
OR
gst-launch-1.0 udpsrc port=5000 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! vaapih264dec ! decodebin ! videoconvert ! autovideosink sync=false
In this case I tried following method:
So how can I acheive continuous streaming with low latency ?