V4L2 real timestamps

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

V4L2 real timestamps

Daniel Crews
Short version: I need some advice on the best way to timestamp frames
of video coming from a v4l2 web cam.

Long Version: I'm trying to gather real time data from web cams on
multiple computers, and gstreamer seems the best way to do it. Get the
image stream (v4l2src), process it with a custom plug-in for feature
detection, and then dump the info out through a gobject bus to a gtk
app for collection. However, I need to have time information for each
frame on something like the order of millisecond precision so that the
data for each frame can be fit into a time line and be compared from
computer to computer. As far as I can tell from the documentation, the
buffer timestamps in gstreamer seem to be meant for syncing video and
audio rather than true time stamping, and I'm not sure if the v4l2src
makes use of even that....

The Theory: So far as I can figure my best bet would be to write a
custom v4l2src that time stamps the frames with a precision clock of
some kind in C, and then pass that meta-data out the gobject bus with
the blob data. The precision clocks would be difficult to truly sync
to the same time, but I could just store offsets from a known common
event to sync the time data from different computers at the central
collector instead. But I've no idea what I'm doing here and may well
be horribly mistaken. I would appreciate any guidance I can get if
anyone would like to help me.
--

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: V4L2 real timestamps

Wim Taymans
On Wed, 2010-02-17 at 10:07 -0500, Daniel Crews wrote:

> Short version: I need some advice on the best way to timestamp frames
> of video coming from a v4l2 web cam.
>
> Long Version: I'm trying to gather real time data from web cams on
> multiple computers, and gstreamer seems the best way to do it. Get the
> image stream (v4l2src), process it with a custom plug-in for feature
> detection, and then dump the info out through a gobject bus to a gtk
> app for collection. However, I need to have time information for each
> frame on something like the order of millisecond precision so that the
> data for each frame can be fit into a time line and be compared from
> computer to computer. As far as I can tell from the documentation, the
> buffer timestamps in gstreamer seem to be meant for syncing video and
> audio rather than true time stamping, and I'm not sure if the v4l2src
> makes use of even that....

If you distribute the same clock to multiple machines (or have the
systemclock synched with ntp or something) and you distribute the same
start_time (gst_element_set_start_time()) on the pipelines, you can
compare the timestamps of v4l2src between machines.

wim

>
> The Theory: So far as I can figure my best bet would be to write a
> custom v4l2src that time stamps the frames with a precision clock of
> some kind in C, and then pass that meta-data out the gobject bus with
> the blob data. The precision clocks would be difficult to truly sync
> to the same time, but I could just store offsets from a known common
> event to sync the time data from different computers at the central
> collector instead. But I've no idea what I'm doing here and may well
> be horribly mistaken. I would appreciate any guidance I can get if
> anyone would like to help me.
> --
>
> ------------------------------------------------------------------------------
> SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
> Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
> http://p.sf.net/sfu/solaris-dev2dev
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel