Streaming Requirements
Media formats supported by Senza
This guide defines the streaming media formats, encoding profiles, and MPEG-DASH packaging requirements for playback on the Senza platform. The purpose of this specification is to ensure compatibility with Senza’s cloud-based platform and media pipeline, enabling reliable adaptive bitrate (ABR) playback across supported applications.
As a content provider or platform integrator, you must adhere to the supported codec, container, and packaging guidelines described below to ensure stable and efficient media delivery. These requirements apply to both on-demand (VOD) and live streaming use cases.
Unless otherwise noted, all specifications in this document are considered mandatory for proper playback and integration with Senza.
ABR Streaming Protocols
Senza supports adaptive bitrate streaming using MPEG-DASH only. HLS and other streaming protocols are not supported.
Senza client dynamically selects the appropriate stream bitrate based on measured network conditions and playback stability. It is important that streams are prepared with well-aligned media segments, valid manifest configurations, and acceptable codec profiles.
Feature | Supported Values |
---|---|
Streaming Protocol | MPEG-DASH (ISO/IEC 23009-1) |
DASH Profile | urn:mpeg:dash:profile:isoff-main:2011 , dashif |
Supported Modes | VOD and Live |
Segment Format | Fragmented MP4 (fMP4), CMAF-style (audio/video not muxed) |
Max Segment Duration | 25 seconds |
Segment Alignment | Required across all renditions |
Low Latency Support | Not supported |
Audio Codecs | AAC-LC, HE-AAC (v1/v2) |
Video Codecs | AVC (H.264) |
Subtitles | TTML (fragmented ISMT, unfragmented text, side-loaded) SMPTE-TT |
Audio/Video Chunk Format | Fragmented MP4 only (no muxing in CMAF) |
DRM Support | Widevine (out-of-band PSSH only) |
HDR Support | None |
Container Formats
Only MP4 (ISO Base Media File Format) containers are supported for both audio and video streams. Other container formats such as WebM or MPEG-TS are not supported.
Format | Supported | Notes |
---|---|---|
MP4 (fMP4) | ✅ | Required for all streams |
MPEG-TS | ❌ | Not supported |
WebM | ❌ | Not supported |
CMAF | 🚫 | Not validated for production |
Supported Video Codecs
Senza supports a limited set of video codecs for compatibility and performance optimization.
Codec | Supported | Notes |
---|---|---|
H.264 / AVC | ✅ | Codec: H.264 / AVC Profiles: Baseline, Main, High Levels: 1.0 to 4.1 |
H.265 / HEVC | ❌ | Not supported |
AV1 | ❌ | Not supported |
VP9 | ❌ | Not supported |
MPEG-2 | ❌ | Not supported |
Supported Audio Codecs
Only MPEG-4 AAC-based codecs are currently supported for audio playback. Surround sound and legacy formats are not supported.
Codec | Supported | Notes |
---|---|---|
MPEG-4 AAC | ✅ | Profiles AAC LC (default for all streams) HE-AAC HE-AAC v2 |
AC-3 / E-AC-3 | ❌ | Not supported |
MP3 | ❌ | Not supported in DASH context |
Opus | ❌ | Not supported |
Encoding Guidelines
To ensure smooth playback and optimal ABR switching performance, content must adhere to the following encoding parameters:
Bitrate & Resolution Ladder
Stream Type | Resolution | Max Bitrate | Notes |
---|---|---|---|
ABR | Up to 1080p | 5 Mbps | Requires 10 Mbps available bandwidth |
ABR (low) | 240p–360p | 250 kbps | Requires 1 Mbps available bandwidth |
UI Streams | 720p max | 3.5 Mbps | Frame rate up to 25 fps |
Note: The ABR bitrate ladder should be designed to allow smooth transitions. Max frame rate is 60fps. Spikes beyond bitrate ceilings can cause buffering or stalls.
Frame Rate & Segment Duration
-
Max Frame Rate: 60 fps (ABR), 25 fps (UI/UX layer)
-
Max Segment Duration: 25 seconds
-
Recommended Segment Duration: 2–6 seconds for live streams
Network Constraints
-
Min Bandwidth: 1 Mbps (min ABR)
-
Recommended Bandwidth: 10 Mbps (for peak bitrate & control overhead)
-
TLS Requirements: TLS v1.2 with AES-128-CBC (TLSv1.2_2019 policy via AWS CloudFront)
Protected Content
- Encrypted content shall use the DASH
cenc
scheme and the Widevine UUID (edef8ba9-79d6-4ace-a3c8-27dcd51d21ed
). See DASH-IF UUID. - Widevine CDM & OEMCrypto are v17 and compliant with the
CE CDM
profile, with the exception that offline and entitlement licenses are not supported. - The platform supports tracks encrypted with separate keys (i.e for audio and video), as per Widevine best practice.
DASH Manifest Guidelines
Senza requires MPEG-DASH manifests to conform to the following criteria for both VOD and Live modes:
Attribute | Requirement |
---|---|
minBufferTime | ≥ 3 seconds |
SegmentTemplate | Required with timeline |
SegmentBase | Not supported |
availabilityStartTime | Required for Live playback |
timeShiftBufferDepth | Minimum 60 seconds for Live streams |
profiles | Must include dashif or isoff |
UTC Timing | HTTP-ISO / HTTP-HEAD supported |
In-band Events (EMSG) | ❌ Not supported |
In-band PSSH | ❌ Not supported |
Out-of-band PSSH | ✅ Required for DRM playback |
Multiple Periods | Including DASH multi-period for advertisements and/or promos where the advertisements and promos are encrypted with different keys from the asset and the keys for the advertisements and promo are signalled in a different PSSH. |
Key Rotation | Supported as per DASH-IF DRM guidelines - specifically https://dashif.org/docs/IOP-Guidelines/DASH-IF-IOP-Part6-v5.0.0.pdf section 9.2 Manifest based key rotation signalling |
Quality-aware encryption | Including video tracks for different resolutions (SD, HD, custom) encrypted with different keys where the track keys are signalled in one PSSH. |
Manifests with
timeShiftBufferDepth
< 60s may lead to unstable live playback. Ensure packaging tools configure this value appropriately.
See also
- See the Encoding Video page for tips on transcoding video into the correct format.
- See the CDN Integration page for more details on TLS/HTTPS requirements.
Updated 3 days ago