Re: Huge delay while streaming the first video over IP in gstreamer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Hi Mohammad

I can think of several reasons for this to occur. 

- You might be losing the first key frame, and the next one doesn’t show up until 5 seconds later.
  * Do you see this if you start the receiver first and then the sender?
  * Does the video start from the beginning after the initial delay? Or is it already started?
  
- It may be a timestamping problem.
  * Have you tried setting sync=TRUE in the receiver? This will allow the pipeline to drop frames if needed in order to keep up with the stream time, instead of trying to display everything regardless of the lateness.
  * Have you tried using the jitter buffer?

- H264 profile may induce latency
  * As per the standard, H264 decoders must ensure there is enough data buffered to allow appropriate decoding. Depending on the profile used during the encoding phase, forward and backward predicted frames may required more data to be buffered, hence increasing latency. Some encoders have a “low latency” configuration, in which compression level is reduced in favor of lower latency.
  * You need to identify if the latency is being accounted to the decoder.

In any case, latency is always a hard issue to tackle. At RidgeRun we developed GstShark, a set of open source GStreamer tracers that may help you debug this issue. Please take a look at the Interlatency tracer  which may help you identify latency and processing bottlenecks in your pipeline. If the decoder is queueing this data, for example, the tracers should expose this. 

Embedded Linux and GStreamer solutions
RidgeRun Engineering

On Jan 22, 2018, at 03:34, Mohammad, Jamal M <MohammadJamal.Mohiuddin@xxxxxxx> wrote:

Hi Guys,
 
We are using gstreamer for Video streaming over IP.
 
On the receiver end I am using the following pipeline:
 
gst-launch-1.0 -vvv udpsrc port=5004 ! application/x-rtp, payload=96 ! rtph2 64depay ! h264parse ! imxvpudec ! imxipuvideosink sync=false
 
On the sender end we are using the following pipeline:
C:\gstreamer\1.0\x86_64\bin\gst-launch-1.0.exe -v filesrc location=C:\\gstreamer\\1.0\\x86_64\\bin\\hash.h264 ! h264parse ! rtph264pay ! udpsink host=<IPAddress> port=5004 sync=true
 
When I am playing the first video, it takes a long time to start playing, more than 5 seconds.
 
But from the next video, it just starts playing without any delay.
 
Is there a way so the first video also plays instantly without any delay
 
 
Mohammad Jamal Mohiuddin
Software Engineer, Retail Hosp/HW
NCR Corporation India Pvt Ltd.
MohammadJamal.Mohiuddin@xxxxxxx | www.ncr.com
<Picture (Device Independent Bitmap) 1.jpg>
 
 
 
_______________________________________________
gstreamer-embedded mailing list
gstreamer-embedded@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/gstreamer-embedded

_______________________________________________
gstreamer-embedded mailing list
gstreamer-embedded@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/gstreamer-embedded

[Index of Archives]     [Linux Embedded]     [Linux ARM Kernel]     [Linux for ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux Media]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux