24 Dec 2020.

Tags: Announcements

The Stb-tester Portal shows live video from the device-under-test, right in your web browser. Previously, this video was streamed from your Stb-tester Nodes using RTMP (Flash’s video-streaming protocol). With our latest firmware release, Stb-tester Nodes now stream this live audio & video using WebRTC – the W3C standard protocol for low-latency, real-time communication. WebRTC allowed us to achieve much better latency when you are interacting manually with your device-under-test via the Stb-tester Portal.

Note: Everything in this article is about the live video streamed to web browsers for humans to see. It isn’t related to Stb-tester’s video-capture when running automated tests, which isn’t affected by this change.

Low latency

The latency improvements are best shown with a video. Here we have 2 browser windows open at the same page. The left window is using WebRTC, and the right window is using Flash:

With WebRTC the latency is under 500ms, and this includes the time to send the “keypress” instruction to the Stb-tester Node. Flash’s latency is around 2 seconds.

NAT traversal

WebRTC uses peer-to-peer communication to stream the video from the Stb-tester Node to your web browser — the video traffic doesn’t go via the Stb-tester Portal. If your PC is on the same network as the Stb-tester Node, the traffic doesn’t leave your local network.

This was also true of our old Flash video implementation; the difference is that WebRTC also has the ability to negotiate a peer-to-peer connection when you are on different networks, using ICE protocols. However, this only works with some firewalls/NATs.

When direct peer-to-peer communication isn’t possible, WebRTC allows tunnelling the video traffic through a TURN server. Contact sales@stb-tester.com if you want this capability.

Note that the Stb-tester Portal has always had a fallback mechanism for viewers on a different network, using JPEG thumbnails at 1 frame per second — see Live video formats in the Stb-tester manual for details.

WebRTC traffic is secured using industry-standard DTLS encryption.

Flash reaches end-of-life soon

Flash is being discontinued by Adobe after December 31 2020, and major browsers will disable their Flash support entirely.

To summarise:

WebRTC Flash
<500ms latency 2+ seconds latency
Peer to peer with NAT traversal Peer to peer (local network only)
DTLS encryption Unencrypted video (local network only)
W3C standard Proprietary protocol
Supported by all major browsers Requires Flash browser plugin
Future proof Discontinued Jan 2021

Selecting the video format in the Stb-tester portal

To use WebRTC, click the settings icon underneath the video:

'Manual control' view in the Stb-tester Portal, with live video
"Video format" menu in the Stb-tester Portal

Browser settings

You may need to enable “auto-play” for the Stb-tester Portal. For example on Firefox, click the “permissions” icon next to the URL bar:

Firefox site permissions