What filter can I use to add a video buffer/latency

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

What filter can I use to add a video buffer/latency

art vanderhoff
Hi All,

I have two streams coming in and are slightly out of sync. I would like to add a delay/buffer/latency to one of the streams to keep them in sync.
Can you advise what the best filter is please, and if it can be adjusted in real time in case sync drifts of a longer period.

Thx
Art
Reply | Threaded
Open this post in threaded view
|

Re: What filter can I use to add a video buffer/latency

Stefan Sauer
On 02/14/2012 11:58 AM, art vanderhoff wrote:
> Hi All,
>
> I have two streams coming in and are slightly out of sync. I would like to
> add a delay/buffer/latency to one of the streams to keep them in sync.
> Can you advise what the best filter is please, and if it can be adjusted in
> real time in case sync drifts of a longer period.
Are you playing the separately or are you mixing them together. If
separately you can use "ts-offset" on the sinks of one stream to adjust.
Just can re-adjust this property as needed.

If this does not help, tell us more details (same server for the stream
of not, what is the pipleine, gst-launch or app, ...).

Stefan

> Thx
> Art
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/What-filter-can-I-use-to-add-a-video-buffer-latency-tp4386665p4386665.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: What filter can I use to add a video buffer/latency

art vanderhoff
Thx Stefan,

These are being mixed with videomixer2. Using your previous suggestion I have updated the application to use videoparse instead of decodebin2.

the flow is

cam1 | cam2
<sync difference over rtsp transport>
fifo | fifo
AYUV | AYUV
-------------------------------------
filesrc | filesrc
videoparse | videoparse
ffmpegcolorspace| ffmpegcolorspace
videoscale | videoscale
capsfilter | capsfilter
                  videomixer2
                      filesink

thx
Art

Reply | Threaded
Open this post in threaded view
|

Re: What filter can I use to add a video buffer/latency

Stefan Sauer
On 02/20/2012 02:05 AM, art vanderhoff wrote:

> Thx Stefan,
>
> These are being mixed with videomixer2. Using your previous suggestion I
> have updated the application to use videoparse instead of decodebin2.
>
> the flow is
>
> cam1 | cam2
> <sync difference over rtsp transport>
> fifo | fifo
> AYUV | AYUV
> -------------------------------------
> filesrc | filesrc
> videoparse | videoparse
> ffmpegcolorspace| ffmpegcolorspace
> videoscale | videoscale
> capsfilter | capsfilter
>          videomixer2
>      filesink
>
> thx
> Art
>
Maybe you can add queue elements after videoparse and use
"min-threshold-buffers" or "min-threshold-time". This would only make
sense for livesources though.

Stefan
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: What filter can I use to add a video buffer/latency

art vanderhoff
thank you Stefan,

min-time worked very well when I set the time on initialization.
As I am a php guy, can you suggest the best way to interface with the c. application on a remote machine so I can change this VAR dynamically. I don't have GUI access so would need something like sockets or is there a telnet interface like VLC available?

many thx
Art

Reply | Threaded
Open this post in threaded view
|

Re: What filter can I use to add a video buffer/latency

Stefan Sauer
Am 23.02.2012 09:03, schrieb art vanderhoff:
> thank you Stefan,
>
> min-time worked very well when I set the time on initialization.
> As I am a php guy, can you suggest the best way to interface with the c.
> application on a remote machine so I can change this VAR dynamically. I
> don't have GUI access so would need something like sockets or is there a
> telnet interface like VLC available?

gstreaner is a library. gst-launch has no means to change things dynamically.
You will need to write an application. In the simplest way it can call
gst_parse_launch to build the pipeline, you can then look up elements by name to
grab the queue (use ... ! queue name="xxx" ! ... and then look it up by "xxx").
You will need to come up with your own way to modify this from the remote machine.

Stefan

>
> many thx
> Art
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/What-filter-can-I-use-to-add-a-video-buffer-latency-tp4386665p4413100.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel