RidgeRun / gst-interpipe

GStreamer plug-in for interpipeline communication
Other
143 stars 64 forks source link

how can I use interpipe to create low latency pipeline? #63

Closed braindevices closed 3 years ago

braindevices commented 3 years ago

I am trying to create a low latency pipeline (< 1s) , but it seems aways buffer more than few seconds

here is my parameter

rtspsrc buffer-mode=none latency=20 ! interpipesink name=interpipe0 max-buffers=3 sync=true max-lateness=100
interpipesrc format=time listen-to=interpipe0 is-live=true max-latency=10

I used following command to push:

gst-launch-1.0 -e videotestsrc pattern=ball is-live=true ! clockoverlay halignment=right valignment=top text="wk0=" shaded-background=true font-desc="Sans, 25" ! x264enc tune=zerolatency key-int-max=10 ! video/x-h264, stream-format="byte-stream" ! rtspclientsink location=rtsp://xxxx protocols=tcp latency=20

I wonder what parameters can result in very low latency link between interpipesink/src

jcaballeros commented 3 years ago

Hi,

I'd suggest setting the interpipesrc stream-sync property to restart-ts, and check if the interpipesink max-buffers property can be reduced without dropping buffers.

A tool that can help you tune the pipeline is GstShark, specifically the interlatency tracer for your case.

jcaballeros commented 3 years ago

Closing, feel free to reopen if necessary.