Thread: [libdc] USB capture timestamping
Capture and control API for IIDC compliant cameras
Brought to you by:
ddouxchamps,
gordp
From: Paul C. <Pau...@on...> - 2015-03-16 11:23:40
Attachments:
libdc1394-2.2.1-usb-timestamp.patch
|
Dear libdc1394 maintainers. It seems that several projects needs to have USB timestamping, for instance : http://sourceforge.net/p/libdc1394/mailman/message/23914607/ http://answers.ros.org/question/9265/camera1394-timestamps-for-point-grey-usb-cameras/ Even we should be warned that the USB timestamp is less precise/stable than the iee1394 DMA one, it could be useful. I attach a patch that should do the job, and that should apply on the 2.2.1 release. Perhaps some additional info could be added to the documentation : - on the fuzziness of this timestamp - suggest to use controlled external trigger (example http://damien.douxchamps.net/ieee1394/libdc1394/faq/#Can_I_measure_the_actual_frame_latency) for accuracy - welcome hints for retrieving timestamp from USB stack... Regards. Paul |
From: Damien D. <dd...@do...> - 2015-03-21 07:25:36
|
Bonjour Paul, On Mon, 2015-03-16 at 11:39 +0100, Paul Chavent wrote: > Dear libdc1394 maintainers. > > It seems that several projects needs to have USB timestamping, for > instance : > http://sourceforge.net/p/libdc1394/mailman/message/23914607/ > > http://answers.ros.org/question/9265/camera1394-timestamps-for-point-grey-usb-cameras/ > > > Even we should be warned that the USB timestamp is less precise/stable > than the iee1394 DMA one, it could be useful. > > I attach a patch that should do the job, and that should apply on the > 2.2.1 release. > > Perhaps some additional info could be added to the documentation : > - on the fuzziness of this timestamp > - suggest to use controlled external trigger (example > http://damien.douxchamps.net/ieee1394/libdc1394/faq/#Can_I_measure_the_actual_frame_latency) > for accuracy > - welcome hints for retrieving timestamp from USB stack... Thanks, makes a lot of sense. It's not very accurate indeed but it helps. Point Grey cameras are the only ones using IIDC-over-USB, so it's worth mentioning that most of their units can include a timestamp in the video frame. This in-camera hardware timestamp will give a pretty good indication of when the frame was taken. However, being camera-centric, the timestamps of different units on the same bus will not be synchronized. Change pushed in git repo. -- Damien 高原 Douxchamps http://damien.douxchamps.net/ |
From: Paul C. <Pau...@on...> - 2015-03-23 07:35:20
|
On 03/21/2015 07:47 AM, Damien Douxchamps wrote: > Bonjour Paul, > > On Mon, 2015-03-16 at 11:39 +0100, Paul Chavent wrote: >> Dear libdc1394 maintainers. >> >> It seems that several projects needs to have USB timestamping, for >> instance : >> http://sourceforge.net/p/libdc1394/mailman/message/23914607/ >> >> http://answers.ros.org/question/9265/camera1394-timestamps-for-point-grey-usb-cameras/ >> >> >> Even we should be warned that the USB timestamp is less precise/stable >> than the iee1394 DMA one, it could be useful. >> >> I attach a patch that should do the job, and that should apply on the >> 2.2.1 release. >> >> Perhaps some additional info could be added to the documentation : >> - on the fuzziness of this timestamp >> - suggest to use controlled external trigger (example >> http://damien.douxchamps.net/ieee1394/libdc1394/faq/#Can_I_measure_the_actual_frame_latency) >> for accuracy >> - welcome hints for retrieving timestamp from USB stack... > > Thanks, makes a lot of sense. It's not very accurate indeed but it > helps. Point Grey cameras are the only ones using IIDC-over-USB, so it's > worth mentioning that most of their units can include a timestamp in the > video frame. This in-camera hardware timestamp will give a pretty good > indication of when the frame was taken. However, being camera-centric, > the timestamps of different units on the same bus will not be > synchronized. > > Change pushed in git repo. > Thanks for the update. About the camera timestamp (that the AVT camera provide too), i haven't found any way to match the camera timestamp to the workstation one : due to usb stack jitter it's hard to find the drift constant between the clocks. Moreover, the frequencies of the clocks are very likely differents. I think that the only solution to precise timestamping is still the hardware trigger. Please tell me if someone know an other trick. At the moment, our application only needs a timestamp within 1ms of precision, and i still need to check if the usb timestamping is as good as the iee1394 for this requirement. Regards. Paul. |