Twitch Streaming Service Overview

You can use the Genvid SDK to add interactive elements to your Twitch channels. Like other integrations, you can embed your Twitch broadcast into a custom website with interactive elements provided in an overlay. You can also create a Twitch Extension where its interactive elements are driven by Genvid on the backend.

Warning

When using Twitch as the broadcast service you may encounter imprecise or inconsistent synchronization performance. This performance is between the overlay and video stream and may be as much as 150ms of desynchronization right after starting the stream, often with game data ahead of video.

We also found that the amount of desynchronization increases with the duration of the stream. For example, you may initially see a 90ms (3 frames) offset after loading a Twitch extension page. However, after 2 hours watching this channel it grows to as much as 500ms. This will resolve with a refresh.

Because there’s no way to predict or measure the potential offset, the Genvid SDK doesn’t include a setting or tool which can compensate for it.

This may not be an issue for some overlay experiences. The desynchronization becomes far more obvious in experiences requiring the overlay to track an object moving on-screen–such as our UT4 Sample. This is also an issue when you have a fixed object but the camera is moving.

You might be able to mitigate these types of problems through your design; for example, by modifying camera behavior. We recommend you begin testing your overlay directly in Twitch during the design phase, as these issues won’t be discovered using the Genvid SDK standalone player.

In conclusion, be careful when designing your overlay experience, as it may be highly dependent on the synchronization quality possible with any broadcast service. Test your overlay design early and often directly using your broadcast service of choice to improve your chances to avoid synchronization issues like this.