HLS Certification for Servers
Why Become HLS Certified
HLS Certification subjects your server to a structured series of compliance checks, producing a detailed report that highlights specification violations and recommends improvements. Our deep packet inspection goes beyond pass/fail results—pinpointing subtle issues in playlists, segments, and metadata that can lead to failed ad insertions, playback interruptions, or compatibility gaps. The outcome is actionable feedback that strengthens your implementation and ensures reliable performance at scale.
As a neutral third party, HLSAnalyzer.com enforces only the official HTTP Live Streaming specification (RFC 8216 and successor drafts), independent of vendors or platforms. Certification includes both stream-level conformance and device-level compatibility testing, validating performance across the diverse HLS ecosystem. With over 50,000 streams analyzed since 2018, HLSAnalyzer.com brings unmatched expertise and impartial authority—helping individual providers achieve compliance while raising the bar for the streaming community as a whole.
HLS Server Certification Profiles
HLS server conformance testing employs a three-tier certification framework designed to address different deployment scenarios and compatibility requirements. This tiered approach recognizes that HLS implementations vary significantly in their feature requirements, from basic streaming applications to large-scale production deployments across diverse client ecosystems.

Core — HLS Core Certified
Core Profile represents the fundamental compliance baseline, encompassing all MUST requirements from the HLS specification necessary for basic stream playback. This profile ensures that content can be successfully delivered and consumed by standard HLS clients, covering essential elements such as playlist structure, media segment formatting, and basic encryption support. Servers achieving Core certification demonstrate minimum viable HLS compliance suitable for controlled environments or simple streaming applications.
- Continuity counters uninterrupted across segments, except at discontinuities
- Timestamps (PTS/DTS) remain continuous across segments, except at marked discontinuities
- Verify that a discontinuity tag is present when the file format changes (e.g., TS ↔ fMP4)
- Verify that a discontinuity tag is present when the number, type, or identifiers of tracks change
- Verify that a discontinuity tag is present when the timestamp sequence resets or jumps
- Each TS segment contains exactly one program
- Each TS segment contains a PAT and PMT, unless covered by an EXT-X-MAP
- EXT-X-MAP required for fMP4
- Each Track Fragment Box ('traf') has Track Fragment Decode Time Box ('tfdt') (decode time)
- Use movie-fragment-relative addressing only
- No external data references
- Init must have File Type Box ('ftyp') (iso6+), Movie Box ('moov'), Track Box ('trak') per Track Fragment Box ('traf'), Movie Header Boxes ('mvhd') and Track Header Boxes ('tkhd') zero duration; Movie Extends Box ('mvex') follows the last Track Box
- WebVTT: MUST contain all cues for segment; start with WebVTT header or EXT-X-MAP
- IMSC: Supported for fMP4-based subtitle tracks with proper signaling
- #EXTM3U header tag present as first line
- File uses UTF-8 encoding without Byte Order Mark (BOM), NFC Unicode normalization, no control characters
- EXT-X-VERSION present if playlist uses features requiring version > 1; version number must be >= minimum required
- Global tags (EXT-X-VERSION, EXT-X-TARGETDURATION, EXT-X-PLAYLIST-TYPE, etc.) appear at most once per playlist
- Playlist contains only Media Playlist tags OR only Multivariant Playlist tags, not both types mixed
- MUST NOT contain EXT-X-ENDLIST
- Each EXT-X-STREAM-INF followed by URI
- BANDWIDTH attribute present
- Variant playlists aligned (timestamps, discontinuity sequence, target duration, type)
- Ensure #EXTM3U header present in every playlist
- Multivariant playlist MUST NOT contain #EXT-X-ENDLIST
- Fail if Media Playlists shrink incorrectly or violate atomic update rules
- EXT-X-TARGETDURATION present; max segment duration <= TARGETDURATION value
- EXTINF tag for each segment
- Each segment URI present
- EXTINF duration nonzero
- EXTINF duration and optional byte offset accurately represent segment content
- Byte offset in EXTINF requires previous segment to have byte length specified
- Live playlist updates are append-only/remove-oldest/increment-sequence/add-ENDLIST only
- EXT-X-MEDIA-SEQUENCE present if segments removed; increments by 1 per update
- Media sequence numbers MUST NOT decrease
- MUST NOT remove segments if playlist duration would fall below 3× TARGETDURATION
- Sliding window live playlists MUST NOT contain EXT-X-PLAYLIST-TYPE
- VOD/Event playlists MUST end with EXT-X-ENDLIST; Live playlists MUST NOT until stream ends
- Each segment has a valid nonzero EXTINF duration
- EXT-X-DISCONTINUITY-SEQUENCE values are monotonic and match actual discontinuity count
- EXT-X-KEY applies to encrypted segments
- Key URI required if METHOD != NONE
- IV must be 16 bytes if present
- AES-128: CBC per segment, PKCS7 padding, 16-byte keys
- METHOD=NONE required after encryption ends
- EXT-X-SESSION-KEY (if present) must be valid
- If IV attribute is not present, Media Sequence Number MUST be used as the IV
- For live playlists, the server must publish each update no sooner than 0.5× and no later than 1.5× the Target Duration after the previous one.

Compatible — HLS Compatible Certified
Compatible Profile extends Core requirements with additional SHOULD requirements and interoperability best practices that significantly improve cross-platform compatibility and client behavior. This tier addresses the practical reality that robust HLS deployment requires more than specification minimums—including proper attribute signaling for adaptive bitrate decisions, timing optimizations that prevent playback stalls, and format consistency practices that ensure reliable operation across diverse client implementations and CDN environments.
- Verify that a discontinuity tag is present when encoding parameters (e.g., resolution, framerate, sample rate, channel layout) change
- First two TS packets are PAT followed by PMT (when no EXT-X-MAP is used)
- Each segment starts with a keyframe (video)
- Segments start with keyframe (TS: SHOULD, fMP4 with Independent=YES: MUST)
- Verify that Multivariant Playlists contain at least two Variant Streams with distinct BANDWIDTH and RESOLUTION values (for adaptive bitrate compatibility)
- Verify that CODEC attributes are present on all EXT-X-STREAM-INF lines and the advertised CODECS (profile/level) matches the stream's actual codec profile/level
- RESOLUTION attribute present when video is present and the advertised RESOLUTION matches the stream's actual resolution
- Verify that advertised FRAME-RATE matches the stream's actual frame rate
- Audio renditions specify CHANNELS attribute for multi-channel content
- Alternative audio renditions have unique NAME attributes within group
- At most one DEFAULT=YES per rendition group
- Removed segments remain available for some period
- EXT-X-PROGRAM-DATE-TIME present and accurate for live streams
- Use HTTPS for exchanging keys
- If SCTE-35 is present, it must be signaled using EXT-X-DATERANGE with a unique ID, consistent OUT/IN pairing, and valid SCTE35 attributes
- SCTE-35 carried via EXT-X-DATERANGE with SCTE35-OUT/IN attributes
- Legacy EXT-X-CUE-OUT/IN tags supported for backward compatibility
- First sample timestamp signaled with ID3 PRIV owner=com.apple…

Complete — HLS Complete Certified
Complete Profile represents full ecosystem readiness, incorporating advanced features, production-scale optimizations, and specialized compatibility requirements. This highest tier includes support for cutting-edge HLS capabilities such as low-latency streaming, comprehensive accessibility features, DRM integration, and advanced ecosystem guidelines essential for large-scale commercial deployments. Complete certification indicates readiness for demanding production environments where interoperability with the broadest possible range of clients, CDNs, and tools is critical.
- EXT-X-TARGETDURATION values do not change mid-session
- Ensure a Media Playlist does not transform into a Multivariant Playlist mid-stream
- AVERAGE-BANDWIDTH represents the average segment bit rate
- Verify that Multivariant Playlists contain three or more Variant Streams spanning diverse bitrates and resolutions, and provide additional renditions (audio groups, subtitles, captions) where applicable, to ensure full ecosystem compatibility
- EXT-X-PART-INF present with PART-TARGET when parts used
- Each EXT-X-PART duration <= PART-TARGET
- EXT-X-RENDITION-REPORT MUST be present in Low-Latency playlists
- Each EXT-X-PART duration >= ~85% PART-TARGET except boundary cases
- EXT-X-PRELOAD-HINT points to next part/segment
- If CAN-BLOCK-RELOAD=YES, server supports blocking playlist reload
- HOLD-BACK >= 3× TARGETDURATION if present
- PART-HOLD-BACK >= 2× PART-TARGET when PART-INF used
- EXT-X-SKIP present if skipping segments; SKIPPED-SEGMENTS attribute valid
- RECENTLY-REMOVED-DATERANGES provided if dateranges skipped
- EXT-X-CONTENT-STEERING tag present in Multivariant if steering used
- Steering Manifest URI valid JSON
- Server supports pathway selection mechanism per spec
- Server handles steering query parameters correctly
- AVERAGE-BANDWIDTH present on all EXT-X-STREAM-INF
- FRAME-RATE present on all video EXT-X-STREAM-INF
- CODECS fully specifies H.264/HEVC profile-level and AAC object types
- EXT-X-I-FRAME-STREAM-INF playlist provided for scrubbing
- Measured average bitrate within ±10% of AVERAGE-BANDWIDTH
- Closed captions/subtitles correctly signaled; not CLOSED-CAPTIONS=NONE if present
- Playlists, segments, and keys delivered over HTTPS
- Segments and init structure follow CMAF (ftyp iso6+, moov/mvex, tfdt, aligned random access)
- Random access points aligned across renditions when INDEPENDENT=YES
- Caption tracks labeled with LANGUAGE, NAME, AUTOSELECT correctly
- Provide audio description tracks where legally required
- Widevine support: EXT-X-KEY with KEYFORMAT=com.widevine, cenc boxes present
- FairPlay support: EXT-X-KEY with KEYFORMAT=com.apple.fps, proper IV signaling
This graduated approach allows organizations to select an appropriate certification level based on their specific deployment requirements while providing a clear upgrade path as their streaming infrastructure needs evolve. Certification profile definitions are subject to change based on specification evolution and industry requirements.
Server Certification Overview
Our certification program is based on strict conformance to the official HLS specification and offers three distinct certification levels designed to meet different deployment needs. The Core level ensures conformance to the essential features of the specification, covering all MUST-have requirements for basic HLS functionality. The Compatible level builds upon Core by adding the more optional parts of the specification that enhance cross-platform reliability and interoperability. Finally, the Complete level encompasses the full feature set, including advanced capabilities for production-scale deployments and cutting-edge streaming requirements.
Testing Areas and Features
Core HLS: playlist syntax, target duration, sequencing, discontinuities, segment integrity (TS/fMP4), WebVTT and IMSC subtitle structure, baseline encryption signaling.
Server MUST responsibilities: Maintaining uninterrupted continuity counters and timestamps unless at discontinuity points; always including PAT/PMT in TS segments unless covered by EXT-X-MAP; enforcing that each TS segment contains exactly one MPEG-2 Program.
Interoperability signals: CODECS, RESOLUTION, FRAME-RATE, audio rendition groups, I-frame playlists.
Low-Latency HLS (optional): partial segments, blocking reload, server control, rendition reports, preload hints, delta updates. Verification of Partial Segments, EXT-X-PART-INF, EXT-X-SERVER-CONTROL, and preload hints according to §6.2.5.
Ad signaling: Where SCTE-35 is present, mapping via EXT-X-DATERANGE must follow normative requirements (and legacy cue tags as applicable).
CMAF alignment (optional): init/fragment structure and random-access alignment.
Content Steering (optional): manifest, JSON steering document, pathway selection behavior.
Basic DRM packaging checks (optional): HLS encryption signaling (EXT-X-KEY presence/usage).
(Client/player certification to follow on a separate track.)
How Certification Works
Intake & Scope
Share representative URLs, targeted features (e.g., LL-HLS, SCTE-35), and constraints (e.g., IP allowlisting). We work with you to define the appropriate certification profile and testing scope based on your deployment requirements.
Testing Process
1. Segment and Transport Stream Analysis: Dedicated verification software performs comprehensive conformance checks on individual segments and transport streams, downloading and analyzing content for a minimum of 3 hours for live streams and the entire duration for VOD content. Advanced features trigger corresponding profile-specific tests.
2. Playlist Conformance Testing: Both Media and Multivariant playlists undergo full syntax verification and extensive validation testing to ensure conformance to HLS standards, covering playlist structure, metadata accuracy, and specification compliance.
3. Software Playback Validation: Streams are tested across multiple software players to verify practical playback compatibility and identify any client-side issues, with accommodation for network constraints such as IP allowlisting through secure tunneling methods.
4. Hardware Playback Assessment: When feasible, testing extends to hardware platforms to validate real-world device compatibility, though this may be limited by network access constraints or security requirements.
Reporting & Delivery
Findings & remediation loop: Engineering report with failures/warnings and prioritized fixes to guide implementation improvements.
Verification pass: Retest updates to confirm conformance and validate that remediation efforts have successfully addressed identified issues.
Certification issuance: Badge, signed certificate, and summary report delivered upon successful completion of all testing requirements.
Ready to Get Your HLS Server Certified?
Contact us to learn more about our certification process and get started with independent third-party validation of your HLS infrastructure.
Learn MoreLegal Disclaimer
Scope and Standards: HLS server certification evaluates conformance to RFC 8216 and successor Internet-Drafts (including draft-pantos-hls-rfc8216bis-16) as they exist at the time of testing. Testing follows normative IETF requirements and commonly accepted industry interpretations. Limitations: This certification does not constitute legal advice, product warranty, or performance guarantee across all environments. Results reflect specific test conditions and may vary in real-world deployment due to network conditions, device capabilities, CDN behavior, and ecosystem evolution. Validity and Independence: Certification reflects compliance at time of testing; re-certification may be required following product or specification changes. HLSAnalyzer.com operates as an independent third-party service, not affiliated with Apple Inc., IETF, or standards organizations. Liability: Service provided "as-is" without warranties. HLSAnalyzer.com shall not be liable for damages arising from certification results or reliance on certification status.