VideoLat - Measuring delays in real-time communication
When using a videoconferencing system there will always be a delay from sender to receiver. Such delays affect human communication, and therefore knowing the delay is a major factor in judging the expected quality of experience of the conferencing system. Additionally, for implementors, tuning the system to reduce delay requires an ability to effectively and easily gather delay metrics on a potentially wide range of settings.
In order to support this process, we make available a system called videoLat. VideoLat provides an innovative approach to understand glass-to- glass video delays and speaker-to-microphone audio delays. VideoLat can be used as-is to do audio and video roundtrip delays of black box systems, but by making it available as open source we want to enable people to extend and modify it for different scenarios, such as measuring one-way delays or delay of camera switching.
Why is videoLat only available for Apple devices?
First a word of warning: videoLat currently only runs on Macs, iPhones and iPads running a fairly new version of the operating system. This will undoubtedly cause grumbling among some people, but there is a very good reason for this: at the time the project started Apple's AVFoundation framework was the only technology that produced acceptable timestamps for video input. An implementation using GStreamer or Windows Media would have resulted in significantly worse measurements. Sad, but true...
That said, because videoLat runs on separate hardware, not on the system you want to measure, the only inconvenience is that you need to find a MacBook, iPhone or iPad somewhere that you can use while you run your measurement. So it should not impact the applicability of videoLat.
VideoLat 2.0 has been released in July 2015. New features include an iPhone/iPad release, one-way measurements, hardware calibration, printing, more sharing options and an improved user interface. Snapshots may be available in the download section, contact us via the about page if you want to help with testing.
Unfortunately the videoLat file format has changed in an incompatible way, and videoLat no longer runs on 10.7. If you have data files from the videoLat 1.0, or if you are tied to 10.7 for your measurement machine you can still download version 1.0 via the download page.
If your main interest in videoLat is because you want to take measurements you should first visit the download page and install the program. Then, head for the usage page and calibrate your measurement device, or download calibrations for your hardware if someone else has already made them available. Then you can start doing your measurements.
One request: if you use the results from videoLat measurements in a scientific paper or presentation please consider whether a reference to one of the papers in the publications section is warranted. It would be appreciated:-)
Mac, iPhone or iPad?
The Mac and iOS versions use identical data files and can be used interchangeably (and together, for one-way measurements), so the main reason for chosing between them is which device(s) you have available. That said, for roundtrip measurements a Mac with a separate USB webcam is more convenient because it is going to be easier to make sure videoLat can see your conferencing system and vice versa. And if you are doing one-way measurements of a conferencing system that is bolted to the wall it is easier to hold up an iPhone in front of the camera than a MacBook...
VideoLat does roundtrip video delay measurements of a complete video chain, and one-way video delay measurements using two videoLat devices. There is limited support for audio delay measurements, but a lot of work in this area still needs to be done. There is also no support yet for measuring audio-video synchronisation. VideoLat can be extended to do any sort of stimulus-response measurement in the audio-visual domain, so it can be extended to measure, say, response time of video switching hardware.
Therefore, if you are a developer with an interest in audio/video delay measurements, or audio/video synchronisation measurements you are wholeheartedly invited to download the sources and extend and modify videoLat.
Again, your first stop is the download page where you can obtain the source. Next, on the development page you will find instructions on building videoLat and the full internal documentation of the code.
VideoLat is open source software, copyrighted by Centrum voor Wiskunde & Informatica, and distributed under the GPL3 license.
Reading about videoLat
If you prefer reading (as opposed to measuring, or coding) visit the publications section, which has links to a number of scientific articles on the principles behind videoLat, its implementation and some use cases.
And the about page has contact information and acknowledgements.