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.

FeatureSupported Values
Streaming ProtocolMPEG-DASH (ISO/IEC 23009-1)
DASH Profileurn:mpeg:dash:profile:isoff-main:2011, dashif
Supported ModesVOD and Live
Segment FormatFragmented MP4 (fMP4), CMAF-style (audio/video not muxed)
Max Segment Duration25 seconds
Segment AlignmentRequired across all renditions
Low Latency SupportNot supported
Audio CodecsAAC-LC, HE-AAC (v1/v2)
Video CodecsAVC (H.264)
SubtitlesTTML (fragmented ISMT, unfragmented text, side-loaded)
SMPTE-TT
Audio/Video Chunk FormatFragmented MP4 only (no muxing in CMAF)
DRM SupportWidevine (out-of-band PSSH only)
HDR SupportNone

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.

FormatSupportedNotes
MP4 (fMP4)Required for all streams
MPEG-TSNot supported
WebMNot supported
CMAF🚫Not validated for production

Supported Video Codecs

Senza supports a limited set of video codecs for compatibility and performance optimization.

CodecSupportedNotes
H.264 / AVCCodec: H.264 / AVC
Profiles: Baseline, Main, High
Levels: 1.0 to 4.1
H.265 / HEVCNot supported
AV1Not supported
VP9Not supported
MPEG-2Not supported

Supported Audio Codecs

Only MPEG-4 AAC-based codecs are currently supported for audio playback. Surround sound and legacy formats are not supported.

CodecSupportedNotes
MPEG-4 AACProfiles
AAC LC (default for all streams)
HE-AAC
HE-AAC v2
AC-3 / E-AC-3Not supported
MP3Not supported in DASH context
OpusNot supported

Encoding Guidelines

To ensure smooth playback and optimal ABR switching performance, content must adhere to the following encoding parameters:

Bitrate & Resolution Ladder

Stream TypeResolutionMax BitrateNotes
ABRUp to 1080p5 MbpsRequires 10 Mbps available bandwidth
ABR (low)240p–360p250 kbpsRequires 1 Mbps available bandwidth
UI Streams720p max3.5 MbpsFrame 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:

AttributeRequirement
minBufferTime≥ 3 seconds
SegmentTemplateRequired with timeline
SegmentBaseNot supported
availabilityStartTimeRequired for Live playback
timeShiftBufferDepthMinimum 60 seconds for Live streams
profilesMust include dashif or isoff
UTC TimingHTTP-ISO / HTTP-HEAD supported
In-band Events (EMSG)❌ Not supported
In-band PSSH❌ Not supported
Out-of-band PSSH✅ Required for DRM playback
Multiple PeriodsIncluding 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 RotationSupported 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 encryptionIncluding 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.