AnsweredAssumed Answered

how to reduce gstreamer streaming latency

Question asked by swl on May 10, 2014

Hi,

 

I am experiencing slow decoding and low streaming quality when trying to stream out video from i.mx6 quad core. I am wondering if I matched the pipeline wrongly.

 

The following the is pipeline i used

 

(receiver on desktop connected via ethernet to i.mx6)

1.gst-launch udpsrc caps=" application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264,payload=(int)96,ssrc=(uint)2674837201,clock-base=(uint)2959668548,seqnum-base=(uint)14300" port=5000 ! rtph264depay ! decodebin2 ! d3dvideosink

 

(sender from i.mx6)

//sending using test pattern

1.) gst-launch videotestsrc ! x264enc ! rtph264pay ! udpsink host=192.168.0.100 port=5000 -v

//sending using filesrc with a sample video file

2.) gst-launch filesrc location=Trailer.mp4 ! decodebin2 ! x264enc ! rtph264pay ! udpsink host=192.168.0.100 port=5000

3.) gst-launch filesrc location=Trailer.mp4 ! decodebin2 ! vpuenc codec=6 ! queue ! rtph264pay ! udpsink host=192.168.0.100 port=5000

 

I attached the log from the receiver end

(1.)log_videotestsrc.txt

(2.)log_filesrc.txt

(3.)log_filesrc_vpuenc.txt

 

The following is one of the common message i see at the receiver end:

WARNING: from element /GstPipeline:pipeline0/GstD3DVideoSink:d3dvideosink0: A lot of buffers are being dropped.

Additional debug info:

gstbasesink.c(2873): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstD3DVideoSink:d3dvideosink0:

There may be a timestamping problem, or this computer is too slow.

 

At Receiver end:

1.) the test pattern is not stable throughout, it seems to be dropping packets

2.) the sample video take a long time to start decode and did not manage to complete. ( stop right after few seconds of display w/distortion)

3.) the sample video managed to decode with distortion and delay.

 

I am wondering what would be a better pipeline to use to reduce the latency.

 

I recently also start using libmfw_gst_tvsrc.so to grab the tvin source, I would like to find out how can the raw video be scaled as I did not see the caps options for tvsrc, I tried gst-launch tvsrc ! video/x-raw-yuv, width=720, height=480 ! mfw_ipucsc ! video/x-raw-yuv, width=360, height=240 ! vpuenc codec=6 ! queue ! rtph264pay ! udpsink host=192.168.0.100 port=5000 but did not work.

 

Thanks and Regards,

Eric

Original Attachment has been moved to: log_videotestsrc.txt.zip

Original Attachment has been moved to: log_filesrc.txt.zip

Original Attachment has been moved to: log_filesrc_vpuenc.txt.zip

Outcomes