I'm using stb-tester to measure the latency of my set-top box UI. The test script looks like:

def test_measure_latency():
    start = time.time()
    m = wait_for_match("menu.png")
    print "Latency is %ims" % int(m.time - start)

I am consistently seeing the stb-tester timing of latencies that is 50~70 msec less (i.e., faster) than the value when analyzing a IR detector / high-speed (240 fps) video camera capture of a connected TV.

What is the reason for this?

Disclaimer: I work on stb-tester and am an employee of stb-tester.com Ltd. This is a sanitised version of a question we've previously received through other support channels published here in an effort to seed a stb-tester support community on stackexchange.

1 Answer 1


You're likely to see higher latency with a TV because the TV will often introduce its own latencies. Often it's the case that the smarter the TV the higher the latency because they use image processing to improve the picture quality. If you put your TV in "Game Mode" or similar the latency may reduce further. See https://www.cnet.com/news/what-is-game-mode/

We've done a lot of work to measure the latencies of the stb-tester ONE hardware and create APIs for accurate timing measurements. See our blog post on the matter and my talk at the GStreamer conference 2016 for more information.

Disclaimer: I work on stb-tester and am an employee of stb-tester.com Ltd.

  • You could measure your TV's total latency with this tool: leobodnar.com/products/LagTest (no affiliation). It's a little self-contained box with an HDMI output + a light sensor. On the HDMI output it generates a black pattern with flashing white bars; you place it on your TV screen over one of the white bars, and it measures the latency to 1ms. Feb 25, 2017 at 18:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.