How do I reduce the video startup time for Microsoft Stream live events?

Overview

The startup of the Microsoft Stream live event can be delayed when the viewer does not have a HIVE Agent installed. The delay is caused by the HIVE plugin waiting for a HIVE Agent to respond - it can take up to 2 seconds for the request to a HIVE Agent to timeout. At which time, video playback proceeds with the next available HiveTech (typically HIVE WebRTC or HiveStats).

However, this delay can be interpreted as a poor viewer experience.

Reducing the Timeout

A Microsoft Stream administrator can configure a reduced timeout, resulting in quicker startup time for viewers without a HIVE Agent. When the timeout duration is exceeded, the plugin will stop waiting for the HIVE Agent to respond, allowing the user’s video to start more quickly.

However, an excessively brief timeout setting may not give older machines enough time to activate their HIVE Agent, causing those users to not use their HIVE Agent for distribution - even if the HIVE Agent is installed and functioning correctly.

Without the HIVE Agent activated, the viewer will receive a unicast video stream directly from the video source, requiring additional bandwidth on the enterprise network.

Microsoft Stream administrators should consider use of this setting with care, as it could result in much greater bandwidth requirements than with the HIVE Agent.

Even without the HIVE Agent, the viewer’s experience will still be captured in the HIVE Insights reporting.

Configuring the Reduced Timeout

Microsoft Stream Admins can use the Stream Admin Settings to configure the HIVE Agent timeout.

From the Manage Stream menu, select eCDN Solutions:

The settings are entered into the Configuration Settings textarea:

The value provided for readyCheckTimeout is the milliseconds the browser will wait for the HIVE Agent to respond. You can copy and paste the following example:

{
"readyCheckTimeout": 300
}

Microsoft Stream Admins may configure the Windows and macOS timeouts independently, for example:

{

"readyCheckTimeout": 300,

“macReadyCheckTimeout”: 500
}

{

"readyCheckTimeout": 300,

“macReadyCheckTimeout”: 500
}

What’s Next?

For more information, see the HIVE plug-in documentation: