Video Playback
DIVA's video player supports the following video formats:
- HTML5 and Web mobile
- iOS
- tvOS
- Android
- Web TV
- Roku
- DAS using ShakaPlayer as video plugin
- HLS v3 and v4 using HLS.js as video plugin
- MP4 using browser video tag
- HLS v3 and v4 using AVPlayer
- MP4 using AVPlayer
- HLS v3 and v4 using AVPlayer
- MP4 using AVPlayer
- HLS v3 and v4 using ExoPlaye 2.x
- DASH using ExoPlayer 2.x
- MP4 using ExoPlayer 2.x
- DASH using ShakaPlayer as video plugin
- HLS v3 and v4 using HLS.js as video plugin
- MP4 using browser video tag
- DASH using Roku platform native Video component
- HLS using Roku platform native Video component
- MP4, MOV, M4V using Roku platform native Video component
DIVA requirements​
DIVA's minimal configuration files required to play video content:
- DIVA Settings information describing configuration options unique to this instance
- Dictionary file used to configure and translate application text displayed on screen
- VideoMetaData parameters provided by an OVP containing all information about the video to be played
DIVA is tested and based on Azure's video workflow. DIVA can support third-party video workflows that respect the supported video formats (third-party stream validation is required).
Basic video playback states​
DIVA fully supports Azure video production for the following video states:
Live 24/7
Content is broadcast as it unfolds in real time. Typically, users cannot skip backward or pause content. DIVA supports live video playback with a full DVR (Digital Video Recorder) and requires a full DVR for data integration purposes.
Live full Digital Video Recorder (DVR)
Content is live while also being recorded, with a start point but no definitive end point. When the live content ends, the recording is available as VOD. In most cases, the video recording of the live event is available "on the fly", meaning users can skip backward but not forward while the event is in progress. DIVA supports live video playback with a full DVR and requires a full DVR for data integration purposes.
Live linear Content is live-streamed and controlled via a broadcast schedule. Content is only available at that moment and is not recorded. Users can pause but cannot resume from the paused point; instead, a Go live button is available, which jumps to the live point of the stream. Users cannot skip backward or forward.
Video-on-demand (VOD)
Content is pre-recorded and readily available, allowing users to pause, play, skip backward and forward and re-watch at their convenience.
Deep links
DIVA supports deep links to a specific point of the video. The type of deep links supported are:
- Relative: Using a value in milliseconds to seek a specific point in the video
- Absolute: Using a date-time format to seek a specific point in time in the video based on the timecodeIn synchronization
The deep link mode and parameters are passed as input to DIVA at the invocation phase.
Video trim
Using DIVA's back office, Video trimming enables operators to cut down the duration of an original video. Specify a start (trimIn) and an end point (trimOut), which generates a video sub-clip. DIVA receives the trimIn and trimOut values from the VideoMetadata file upon video playback.
Video trimming aids video maintenance, scheduling, and delivery. The original un-trimmed video is stored on servers, while the sub-clip trimmed video is accessible via the video player. Trim information is available in the videoMetadata contract file.
- TrimIn is available for VOD and live videos
- TrimOut is available for VOD video only
Autoplay
On mobile, DIVA autoplays content. On HTML5, DIVA provides the following options:
- Autoplay true: The video starts automatically, providing the browser permits autoplay. If not, a layer with a thumbnail displays, select the play button initiate playback.
- Autoplay false: A thumbnail of the video displays, select the play button to initiate playback.
- Force autoplay muted: Where the browser does not support autoplay, the video is muted. Unmute information displays in the middle of the screen for three seconds.
Seek backward/forward
- On mobile, two dedicated buttons are available to seek backward/forward.
- On HTML5, the seek backward/forward controls are available using the left/right keyboard arrows. Seek backward/forward buttons are only available on the simplified layout, which appears under a configurable width.
- The number of seconds skipped during seeking is configurable. The exception is tvOS, it uses a system default which is normally 10s.
Dynamic switching bitrate
DIVA's player supports the multi-bitrates playlist and has a logic that automatically selects the best bitrate based on network and device performance. The logic of selection is based on the video plugin standard rules.
Live Backoff (Not available on
)
- Configure a Live back Off value (in seconds) to keep live videos slightly behind the live moment.
This option is beneficial for:
- Mid-roll advertisements - To permit the editor in the backoff to insert the mid-roll advertisement before the user reaches the same point (back office and front-end use the same video source)
- Solving buffering problems
Bitrate limitations (Not available on )
- In DIVA's launch parameters, set a bitrate limitation for all videos based on the top desired bitrate value. If unspecified, no limitation is applied.
- On iOS, only the maximum bitrate value can be set
- It's possible to override the setting value with the same parameters at the DIVA invocation layer
- On Web (Safari), bitrate preferences are not applied
Starting bitrate (Not available on
)
- In DIVA's launch parameters, set a starting bitrate for all videos based on the minimal desired bitrate value. If not set, the starting value depends on video plugin logic.
- It's possible to override the setting value with the same parameters at the DIVA invocation layer.
Use last bitrate as starting bitrate (Not available on
)
- This permits the use of the last bitrate (scope is restricted to the same browser and same device) and uses it as starting bitrate for the next video loaded and is enabled from withIn DIVA's launch parameters.
iOS bitrate limitations
- On iOS, the maxBitrateKbps is used to set the preferredPeakBitRate (Official Documentation) and is therefore subject to the same limitations. On some high-end devices (e.g., iPad Pro) with a high-end network bandwidth, (e.g., 1000 Mbps) a higher bitrate is used, regardless of the preferredPeakBitrate set.
Thumbnails
2 types of thumbnails are supported - from a VTT file and extracted from video manifest. If SWVideoMetadataCleanModel.vttThumbnails
is not nil
, then thumbnails are created from corresponding VTT file, otherwise they are extracted from video manifest.
VTT file example:
WEBVTT
00:00:00.000 --> 00:00:10.000
thumbs_92858a6f0caa4faba354a200939c2476.jpg#xywh=0,0,320,180
00:00:10.000 --> 00:00:20.000
thumbs_92858a6f0caa4faba354a200939c2476.jpg#xywh=320,0,320,180
00:00:20.000 --> 00:00:30.000
thumbs_92858a6f0caa4faba354a200939c2476.jpg#xywh=640,0,320,180
Live Replay/'Spoiler-free' mode​
DIVA's player supports Live Replay (often referred to as 'Spoiler-free' mode), when an operator stops the video LIVE encoder and transitions into into a VOD video. All the live video data is retained.
Ensuring users are not exposed to Timeline event markers and cards ahead of the action, Timeline and Commentary data are hidden until the playhead position reaches the time of an event. Once 'discovered', event markers and cards remain visible (spoiled), regardless of where the playhead position is moved afterwards.
Analytics​
For all Video playback analytic events, DIVA raises external Analytics events
Known issues​
Please check the Known issues page for feature specific information.
Product documentation​
For Video playback visuals and behaviors, visit the DIVA help centre.