DVR Configuration
As of 2023, Samsung states that Tizen TV's are not optimized for .NET applications. Samsung strongly recommends using JS/Web applications instead of C#/.NET applications for TVs. Please check the Lura Player Web SDK
Restart TV lets viewers pause a live stream and seek back inside an available DVR window. The seekable range can come from Akta Cloud event metadata, or from a fixed time window configured in the player.
Restart TV requires Akta Cloud configuration before the player can expose DVR controls.
In Akta Cloud, configure DVR from Live Encoders > Edit Encoder > Settings tab > DVR or override it per event from Edit Event > Content Control > DVR. Events are created in Inherit mode by default. The event-level values are:
- Inherit - Uses the encoder DVR setting.
- Enabled - Enables DVR for the event, overriding the encoder.
- Disabled - Disables DVR for the event, overriding the encoder.
In Play Configuration > Edit > Private > Custom, add and keep this block:
dvr:
enabled: true
Restart TV does not require a separate play configuration. Restart TV is fully compatible only with server-side ads stitched by Akta.
To enable DVR handling in Lura Player, use the following configuration.
| Attribute | Type | Required | Description |
|---|---|---|---|
| Enabled | bool | no | Enables DVR handling for live playback. |
| Mode | ContentDvrMode | no | Event uses Akta event metadata. Window uses a sliding lookback window ending at the current time. |
| AvailabilityWindow | float | no | DVR window duration in seconds. Used when Mode is Window. |
Event mode
Use event mode when Akta Cloud provides the Restart TV window from event or encoder metadata.
var config = new Configuration
{
Content = new ContentConfiguration
{
Type = ContentType.Live,
Dvr = new ContentDvrConfiguration
{
Enabled = true,
Mode = ContentDvrMode.Event
}
}
};
await player.SetConfig(config);
Window mode
Use window mode when the live stream should expose a fixed sliding DVR range.
var config = new Configuration
{
Content = new ContentConfiguration
{
Type = ContentType.Live,
Dvr = new ContentDvrConfiguration
{
Enabled = true,
Mode = ContentDvrMode.Window,
AvailabilityWindow = 7200
}
}
};
await player.SetConfig(config);
Start inside the DVR window
For Restart TV, StartAt is a UNIX timestamp in seconds, not a relative offset. The timestamp must be inside the DVR availability window.
var config = new Configuration
{
Content = new ContentConfiguration
{
Type = ContentType.Live,
StartAt = 1710528000,
Dvr = new ContentDvrConfiguration
{
Enabled = true,
Mode = ContentDvrMode.Event
}
}
};
await player.SetConfig(config);