Video and data synchronization

TheGiamig thegiamig at
Fri Nov 27 17:34:53 UTC 2020

gotsring wrote
> I understand that the video and the data are separate, I was suggesting
> that
> you append the data from the DB to the video frames as they are being
> decoded using a custom filter element. However, I don't think that I
> understand your situation, can you explain or share your pipeline? 
> Instead of starting or stopping the GstClock, would it be better to just
> allow the pipeline to play, then read whatever the current video time is
> and
> use that to select/show data? Preloading/buffering data from the DB should
> prevent slowdown or bad synchronization due to a slow response from the
> DB,
> and then there should be no issue pausing or stopping the video because
> you
> never write the clock values.
> --
> Sent from:
> _______________________________________________
> gstreamer-devel mailing list

> gstreamer-devel at .freedesktop


Thanks gotsring,
when I say video and data are separate I mean that I can receive data to
store also without video. I cannot attach data to video because videos are
not always present. Moreover, I can receive many videos but data are not
related to one video or another.
To better understand:
data = the position of many aircrafts updated @60Hz
videos = the scene visible from an aircraft + the onboard instruments view.

The recording phase is straightforward: each data is saved with a timestamp.
Each video is saved as mkv and some metadata in the DB to known the
beginning time of each file, so I can compare it with data timestamps and
reproduce the right video at the right time.

In the replay phase I need to send video by RTP and data by HLA. 
Those two systems are separate and I was looking for a clean/correct way to
implement the synchronisation.

Another problem is the trick play when coupled with RTP. The reverse
playback send also reversed RTP timestamps, so I got errors on timestamps by
many standard players (ffplay, vlc).
But if I display the stream RTP with a gstreamer pipeline I got good
results. It seems to me that gstreamer ignore timestamps or something. Have
I a chance to force RTP timestamps to go always up also in reverse playback?

Thank you.

Sent from:

More information about the gstreamer-devel mailing list