Streaming multimedia standards
Criteria verified as of August 2026. Re-verify on the web before committing to anything (§8).
1. Scope and triggers
Applies to the media pipeline: ingest (RTMP/SRT/WHIP), transcoding and the bitrate
ladder, packaging (HLS/DASH/CMAF), DRM, latency (VOD, standard live, LL-HLS, real time
with WebRTC/MoQ), codec choice with its patent cost — the expensive fact of this domain — and
the choice between running your own server and a managed service.
Triggers: .m3u8, #EXT-X-VERSION/#EXT-X-PART and the other HLS tags, .mpd,
fMP4/CMAF segments, ffmpeg/ffprobe (transcoding, -c:v libx264/libx265/libsvtav1, filters,
ABR ladders), gst-launch-1.0 and GStreamer pipelines, Widevine/FairPlay/PlayReady,
CENC (cenc/cbcs), HEVC/AV1/VVC licensing, SCTE-35, RTMP, SRT, WHIP/WHEP, LL-HLS,
Media over QUIC, MediaMTX, Ant Media, Wowza, OBS, MediaLive/MediaPackage/IVS, Mux,
Cloudflare Stream, "the live stream arrives 30 seconds late", "the video does not play in
Safari/on iPhone".
Not applicable: see caching-cdn-standards (the CDN, HTTP caching, its headers and its egress
cost are theirs — an HLS segment is just one more cacheable HTTP object; here it is decided how it
is packaged and with what duration, there how the edge serves it), webgl-webgpu-standards (browser
rendering: canvas, WebGL/WebGPU, WebCodecs as a graphics API), frontend-web-platform-standards
(the <video> element, Media Source Extensions and EME as a generic web platform; here which
manifest and which DRM are delivered to it), edge-computing-standards (edge compute as a
platform; here only whether the transcode/repackage lives there), e-commerce-standards (the shop
embedding the video), accessibility-standards (the conformance criteria and their legal scope are theirs: WCAG
1.2.2/1.2.4/1.2.5, captions versus transcript, audio description, who signs the
statement. Here the delivery mechanics of those tracks: producing the WebVTT or the TTML/IMSC,
declaring it in #EXT-X-MEDIA TYPE=SUBTITLES,FORCED or in the text AdaptationSet of the .mpd,
embedded CEA-608/708 versus a side track, the audio-description track as a separate
rendition, and validating that each platform's player offers it. The warning both sides hold:
a subtitle track the packager does not declare does not exist for the user, and the requirement
counts as unmet even though the file sits in the bucket),
gaming-infrastructure-standards (in-game voice and match streams),
object-storage-standards (the VOD origin bucket), gpu-computing-standards (the GPU as a
compute resource; here only the hardware-versus-software encoder criterion).
2. Default decisions / Toolchain
Verify the latest version and the state of the patent pools on the web before pinning
anything in a real project (§8). Status verified as of Aug 2026:
| Decision |
Default |
Justifiable alternative |
Reason |
| Delivery format |
HLS with CMAF (fMP4) segments |
DASH as well, if the business requires clients that will not take HLS |
HLS plays everywhere (Apple requires it on iOS/Safari); CMAF allows a single set of segments for HLS+DASH |
| Base codec |
H.264/AVC always present in the ladder |
— |
The only one the whole device base decodes; its essential patents are largely expired or expiring |
| Efficiency codec |
AV1 (SVT-AV1) where the client supports it, with an H.264 fallback |
HEVC if the target base is Apple/TV and the licence cost is accepted |
AV1 declared royalty-free by AOMedia; HEVC with a double toll (device and now distribution too) — see the warning below |
| VVC |
Not in production |
A pilot with hardware that supports it |
Marginal decode support in the installed base and a patent pool still consolidating |
| Transcoder |
ffmpeg (9.0, Aug 2026; 8.1.x branch maintained) |
GStreamer (1.28.x; 1.30 expected Q4-2026) when the pipeline is long-lived, with appsink/appsrc or in-house elements |
ffmpeg for batch/CLI; GStreamer as an embeddable framework |
| Live (contribution) encoder |
OBS Studio (32.2.x, Jul 2026, GPL-2.0; native WHIP and WebRTC since 32.1) |
A hardware encoder |
The de facto contribution standard |
| Ingest |
SRT or WHIP (RFC 9725) for a new design; RTMP only for compatibility |
— |
RTMP is legacy with no native encryption and no loss recovery; WHIP is already supported by OBS, IVS, Cloudflare and Mux |
| Lightweight self-hosted server |
MediaMTX (v1.20.0, Aug 2026, MIT — read from the LICENSE): SRT/RTSP/RTMP/WebRTC/LL-HLS/MoQ in a single Go binary |
Ant Media (CE + Enterprise ~USD 99/month/instance) for WebRTC at scale; Wowza (4.9.7, commercial, from ~USD 195/month) |
Simplicity, clean licence, very active maintenance |
| Managed service |
Mux or Cloudflare Stream for a product; AWS IVS for interactive latency <3 s; MediaLive+MediaPackage when fine-grained pipeline control is needed |
— |
Buying the pipeline is almost always cheaper than operating it; compare by encoded minutes + delivered minutes + storage |
| Target latency |
VOD and normal live: standard HLS (6-30 s); "near-live": LL-HLS (2-6 s); conversational/auctions: WebRTC (<500 ms) |
MoQ: promising (sub-second at CDN scale) but an IETF draft (draft-ietf-moq-transport-17, Jul 2026), not an RFC — pilots only |
Every latency step multiplies cost and complexity: do not ask for real time if the business tolerates 6 s |
| DRM |
Multi-DRM over CMAF with common encryption: Widevine (Android/Chrome), FairPlay (Apple), PlayReady (TV/Xbox/legacy Edge), served through a multi-DRM provider |
No DRM + signed CDN tokens if only access control is needed |
No single DRM covers the whole base; cbcs is the scheme all three support over CMAF — verify the exact matrix (§8) |
Patent warning — the expensive fact (Aug 2026), web-verified, not from memory:
- Pool consolidation: in Dec 2025 Access Advance acquired administration of Via LA's
HEVC/VVC pool (renamed VCL Advance). The HEVC Advance pool raised rates by 25% for anyone
signing after 30 Jun 2026 (a date already extended once — verify the current one).
- Distribution is no longer free: since 2025 there are pools claiming royalties from the
streaming service for the content distributed (Avanci Video and Access Advance's Video
Distribution Patent Pool, covering HEVC, VVC, VP9 and AV1), breaking the previous practice
of charging the device only.
- AV1's "royalty-free" status is in litigation: in Mar 2026 Dolby (a licensor of Access Advance)
sued Snap for infringement of AV1 and HEVC patents — the first action against an AV1
implementation. AV1 remains the best cost bet, but "free" is an AOMedia position, not a settled
legal fact. AV2: spec finalised (May 2026); no decode base — not a production option yet.
- Rule: codec choice is a cost and legal decision, documented in an ADR with legal advice if
the volume is serious, and the state of the pools is re-verified before every renewal or
launch (§8).
3. Structure and conventions
- An ABR ladder per content type, not a generic one: resolutions/bitrates decided by the
content (sport ≠ a talk), capped at the resolution the business pays for. Every rung is
validated with a perceptual metric (VMAF/SSIM), not by eye. The minimum ladder always includes a
low rung (~300-500 kbps) for bad networks.
- Segment duration: 4-6 s in standard HLS/DASH (a latency/cache-efficiency balance);
parts of 0.3-1 s only in LL-HLS. Segments aligned across renditions (same
keyframe cadence:
-g = fps × duration, matching keyint_min) or ABR switching breaks.
- A single CMAF: one set of fMP4 segments referenced by both the HLS and DASH manifests;
duplicating segments per format doubles storage and sinks the CDN hit ratio.
- Immutable, versioned segment names (never rewrite a published segment):
the corresponding cache policy belongs to
caching-cdn-standards.
- Audio: AAC-LC universally; Opus where the client supports it; normalised loudness (EBU R 128).
- The pipeline is code: ffmpeg commands/GStreamer pipelines versioned and parameterised,
never "the command that worked in someone's terminal". Named presets and an ADR.
4. Quality and testing
- Manifest and stream validation as a CI gate: Apple's
mediastreamvalidator/HLS
report for HLS, DASH-IF conformance for DASH; ffprobe over the output (codec, profile,
keyframe cadence, segment duration) after every preset change.
- Measured perceptual quality: VMAF per rung against the source over an in-house reference
clip set; a VMAF regression when changing encoder or ffmpeg version breaks the build.
- A real playback matrix: Safari/iOS (the most restrictive client: native HLS, FairPlay,
different codec support), Chrome/Android, one representative TV/stick. The emulator detects
neither DRM nor hardware-decode failures.
- Mandatory edges: ingest loss mid-broadcast (does the manifest recover or is it
poisoned?), quality switching on a degraded network, seek into the middle of a live stream with
DVR, DRM licence expiry during playback, SCTE-35 discontinuities.
5. Stack security
- DRM ≠ access control: DRM protects licensed content; for "stop people who did not pay from
watching" a signed URL/CDN token with short expiry is usually enough. Do not buy multi-DRM
for a token problem.
- Keys: content keys and licence-server credentials never in the
client or in the manifest; key rotation in long live streams.
- Authenticated ingest: stream keys treated as secrets (rotatable, revocable); SRT with a
passphrase; WHIP with a short-lived token. An open RTMP endpoint is an anonymous publishing
channel on your domain.
- ffmpeg/GStreamer process hostile input: a user-uploaded file is a potential exploit
against the demuxer (a long CVE history in both). Transcode user content
in a sandbox/isolated worker with no credentials, keep versions current, and restrict input
formats with an allowlist.
- Content compliance: DRM and watermarking according to the contract with the licensor (the studio
usually requires a specific Widevine/PlayReady security level per resolution — check the contract).
6. Performance and operability
- Domain SLIs: playback start-up time, rebuffering ratio, end-to-end live latency
(measured, not estimated: embedded timestamp or visual marker),
DRM licence errors, ingest failure rate. Player telemetry (or the managed service's data, such
as Mux Data) is the only real view.
- Cost: streaming is an egress business; the ABR ladder and codec efficiency
are cost decisions as much as quality ones (more rungs = more transcode + more storage;
a better codec = fewer GB delivered). Egress and hit ratio →
caching-cdn-standards.
- Hardware encoders (NVENC/Quick Sync/VCN) for live at scale; software (x264/SVT-AV1) for
VOD where quality per bit dominates — hardware buys density with compression efficiency.
7. When NOT to / Prohibitions
- ❌ WebRTC "because the live stream is slow" when the business tolerates 3-6 s: LL-HLS scales
over the CDN, WebRTC demands SFU infrastructure per viewer. Every latency step is justified by a
requirement, not by a wish.
- ❌ MoQ in production as of Aug 2026 (a moving draft) except as a pilot with a fallback path.
- ❌ Choosing HEVC (or assuming AV1 is free) without verifying the state of the patent pools on
the date of the decision — it is the most expensive decision in the domain and it changed twice
in a year.
- ❌ RTMP as the ingest of a new design without justifying compatibility.
- ❌ Different segments per format when a single CMAF would serve; keyframes misaligned across
renditions.
- ❌ Transcoding user content in the same process/host that handles credentials.
- ❌ Stream keys in repositories, logs or example URLs; an ingest endpoint without authentication.
- ❌ Building and operating your own streaming server when a managed one covers the case — the real
cost is the pipeline's on-call, not the licence. Self-hosted only with a requirement (data, cost
at scale, latency, sovereignty) written in an ADR.
- ❌ "It looks fine in my Chrome" as validation: Safari/iOS is the gate.
- ❌ Home-grown DRM or obfuscation as a substitute for Widevine/FairPlay/PlayReady if the contract
requires content protection.
8. Mandatory web verification
- Patent pools — the expensive fact: status of HEVC Advance/VCL Advance (Access Advance),
Avanci Video and the Video Distribution Patent Pool; rates and the current deadline (the
Jun 2026 one has already been extended once); status of the Dolby versus Snap litigation over AV1.
Sources:
accessadvance.com, primary press releases, not forums.
- ffmpeg: latest release at
ffmpeg.org/download.html (9.0 as of 2026-08-04; 8.1.x and
7.1.x branches maintained) and demuxer CVEs.
- GStreamer:
gstreamer.freedesktop.org/releases/ (1.28.6 as of Aug 2026, branch in
maintenance; 1.30 expected Q4-2026).
- OBS:
obsproject.com and the GitHub releases (32.2.1, Jul 2026).
- MediaMTX:
api.github.com/repos/bluenviron/mediamtx/releases (v1.20.0, Aug 2026) and its
LICENSE raw (MIT).
- MoQ: status of
draft-ietf-moq-transport at datatracker.ietf.org (still a draft or already
an RFC?) — as of Jul 2026, draft-17.
- LL-HLS/HLS: Apple's spec (
developer.apple.com) and RFC 8216 + extensions; WHIP =
RFC 9725.
- Managed services: pricing and model (per encoded/delivered/stored minute) for
Mux, Cloudflare Stream, IVS and MediaLive on their official pages — they change often.
- DRM/codec matrix per browser and device (which combination of
cenc/cbcs, codec and
robustness each client supports): verify in each DRM's current documentation.
- Declared gaps (not verified in this draft — do not fill them from memory): the pools'
concrete per-unit rates (only their existence and the +25% were verified); exact
Wowza and Ant Media pricing (taken from aggregators, not the official page); the exact
cbcs versus cenc matrix per platform; the state of VVC support in 2026 hardware; the
Widevine/PlayReady robustness levels the studios require today.
If the web contradicts this document, the web wins — flag the discrepancy.
1---2name: streaming-multimedia-standards3description: Video/audio ingest, transcoding, packaging and delivery pipelines. Use when working with HLS playlists (.m3u8,4---56# Streaming multimedia standards78Criteria verified as of **August 2026**. Re-verify on the web before committing to anything (§8).910## 1. Scope and triggers1112Applies to the **media pipeline**: ingest (RTMP/SRT/WHIP), transcoding and the bitrate13ladder, packaging (HLS/DASH/CMAF), DRM, latency (VOD, standard live, LL-HLS, real time14with WebRTC/MoQ), codec choice **with its patent cost** — the expensive fact of this domain — and15the choice between running your own server and a managed service.1617Triggers: `.m3u8`, `#EXT-X-VERSION`/`#EXT-X-PART` and the other HLS tags, `.mpd`,18fMP4/CMAF segments, `ffmpeg`/`ffprobe` (transcoding, `-c:v libx264/libx265/libsvtav1`, filters,19ABR ladders), `gst-launch-1.0` and GStreamer pipelines, Widevine/FairPlay/PlayReady,20CENC (`cenc`/`cbcs`), HEVC/AV1/VVC licensing, SCTE-35, RTMP, SRT, WHIP/WHEP, LL-HLS,21Media over QUIC, MediaMTX, Ant Media, Wowza, OBS, MediaLive/MediaPackage/IVS, Mux,22Cloudflare Stream, "the live stream arrives 30 seconds late", "the video does not play in23Safari/on iPhone".2425**Not applicable**: see `caching-cdn-standards` (**the CDN, HTTP caching, its headers and its egress26cost are theirs** — an HLS segment is just one more cacheable HTTP object; here it is decided how it27is packaged and with what duration, there how the edge serves it), `webgl-webgpu-standards` (browser28rendering: canvas, WebGL/WebGPU, WebCodecs as a graphics API), `frontend-web-platform-standards`29(the `<video>` element, Media Source Extensions and EME as a generic web platform; here which30manifest and which DRM are delivered to it), `edge-computing-standards` (edge compute as a31platform; here only whether the transcode/repackage lives there), `e-commerce-standards` (the shop32embedding the video), `accessibility-standards` (**the conformance criteria and their legal scope are theirs**: WCAG331.2.2/1.2.4/1.2.5, captions versus transcript, audio description, who signs the34statement. **Here the delivery mechanics of those tracks**: producing the WebVTT or the TTML/IMSC,35declaring it in `#EXT-X-MEDIA TYPE=SUBTITLES,FORCED` or in the text `AdaptationSet` of the `.mpd`,36embedded CEA-608/708 versus a side track, the audio-description track as a separate37*rendition*, and validating that each platform's player offers it. **The warning both sides hold:38a subtitle track the packager does not declare does not exist for the user**, and the requirement39counts as unmet even though the file sits in the bucket),40`gaming-infrastructure-standards` (in-game voice and match streams),41`object-storage-standards` (the VOD origin bucket), `gpu-computing-standards` (the GPU as a42compute resource; here only the hardware-versus-software encoder criterion).4344## 2. Default decisions / Toolchain4546> Verify the latest version **and the state of the patent pools** on the web before pinning47> anything in a real project (§8). Status verified as of Aug 2026:4849| Decision | Default | Justifiable alternative | Reason |50|---|---|---|---|51| Delivery format | **HLS with CMAF (fMP4) segments** | DASH as well, if the business requires clients that will not take HLS | HLS plays everywhere (Apple requires it on iOS/Safari); CMAF allows a single set of segments for HLS+DASH |52| Base codec | **H.264/AVC** always present in the ladder | — | The only one the whole device base decodes; its essential patents are largely expired or expiring |53| Efficiency codec | **AV1** (SVT-AV1) where the client supports it, with an H.264 fallback | HEVC if the target base is Apple/TV and the licence cost is accepted | AV1 declared royalty-free by AOMedia; HEVC with a double toll (device and now distribution too) — see the warning below |54| VVC | **Not in production** | A pilot with hardware that supports it | Marginal decode support in the installed base and a patent pool still consolidating |55| Transcoder | **ffmpeg** (9.0, Aug 2026; 8.1.x branch maintained) | GStreamer (1.28.x; 1.30 expected Q4-2026) when the pipeline is long-lived, with appsink/appsrc or in-house elements | ffmpeg for batch/CLI; GStreamer as an embeddable framework |56| Live (contribution) encoder | **OBS Studio** (32.2.x, Jul 2026, GPL-2.0; native WHIP and WebRTC since 32.1) | A hardware encoder | The de facto contribution standard |57| Ingest | **SRT or WHIP (RFC 9725)** for a new design; RTMP only for compatibility | — | RTMP is legacy with no native encryption and no loss recovery; WHIP is already supported by OBS, IVS, Cloudflare and Mux |58| Lightweight self-hosted server | **MediaMTX** (v1.20.0, Aug 2026, **MIT** — read from the LICENSE): SRT/RTSP/RTMP/WebRTC/LL-HLS/MoQ in a single Go binary | Ant Media (CE + Enterprise ~USD 99/month/instance) for WebRTC at scale; Wowza (4.9.7, commercial, from ~USD 195/month) | Simplicity, clean licence, very active maintenance |59| Managed service | **Mux or Cloudflare Stream** for a product; **AWS IVS** for interactive latency <3 s; **MediaLive+MediaPackage** when fine-grained pipeline control is needed | — | Buying the pipeline is almost always cheaper than operating it; compare by encoded minutes + delivered minutes + storage |60| Target latency | VOD and normal live: **standard HLS (6-30 s)**; "near-live": **LL-HLS (2-6 s)**; conversational/auctions: **WebRTC (<500 ms)** | **MoQ**: promising (sub-second at CDN scale) but an **IETF draft (draft-ietf-moq-transport-17, Jul 2026), not an RFC** — pilots only | Every latency step multiplies cost and complexity: do not ask for real time if the business tolerates 6 s |61| DRM | **Multi-DRM over CMAF with common encryption**: Widevine (Android/Chrome), FairPlay (Apple), PlayReady (TV/Xbox/legacy Edge), served through a multi-DRM provider | No DRM + signed CDN tokens if only access control is needed | No single DRM covers the whole base; `cbcs` is the scheme all three support over CMAF — verify the exact matrix (§8) |6263**Patent warning — the expensive fact (Aug 2026), web-verified, not from memory**:6465- **Pool consolidation**: in Dec 2025 **Access Advance acquired administration of Via LA's66 HEVC/VVC pool** (renamed *VCL Advance*). The HEVC Advance pool raised rates by 25% for anyone67 signing after **30 Jun 2026** (a date already extended once — verify the current one).68- **Distribution is no longer free**: since 2025 there are pools claiming royalties **from the69 streaming service for the content distributed** (Avanci Video and Access Advance's *Video70 Distribution Patent Pool*, covering HEVC, VVC, VP9 **and AV1**), breaking the previous practice71 of charging the device only.72- **AV1's "royalty-free" status is in litigation**: in Mar 2026 Dolby (a licensor of Access Advance)73 sued Snap for infringement of **AV1** and HEVC patents — the first action against an AV174 implementation. AV1 remains the best cost bet, but "free" is an AOMedia position, not a settled75 legal fact. **AV2**: spec finalised (May 2026); no decode base — not a production option yet.76- **Rule**: codec choice is a cost and legal decision, documented in an ADR with legal advice if77 the volume is serious, and the state of the pools is re-verified **before every renewal or78 launch** (§8).7980## 3. Structure and conventions8182- **An ABR ladder per content type, not a generic one**: resolutions/bitrates decided by the83 content (sport ≠ a talk), capped at the resolution the business pays for. Every rung is84 validated with a perceptual metric (VMAF/SSIM), not by eye. The minimum ladder always includes a85 low rung (~300-500 kbps) for bad networks.86- **Segment duration**: 4-6 s in standard HLS/DASH (a latency/cache-efficiency balance);87 parts of 0.3-1 s only in LL-HLS. Segments aligned across renditions (same88 keyframe cadence: `-g` = fps × duration, matching `keyint_min`) or ABR *switching* breaks.89- **A single CMAF**: one set of fMP4 segments referenced by both the HLS and DASH manifests;90 duplicating segments per format doubles storage and sinks the CDN hit ratio.91- **Immutable, versioned segment names** (never rewrite a published segment):92 the corresponding cache policy belongs to `caching-cdn-standards`.93- **Audio**: AAC-LC universally; Opus where the client supports it; normalised loudness (EBU R 128).94- **The pipeline is code**: ffmpeg commands/GStreamer pipelines versioned and parameterised,95 never "the command that worked in someone's terminal". Named presets and an ADR.9697## 4. Quality and testing9899- **Manifest and stream validation as a CI gate**: Apple's `mediastreamvalidator`/HLS100 report for HLS, DASH-IF conformance for DASH; `ffprobe` over the output (codec, profile,101 keyframe cadence, segment duration) after every preset change.102- **Measured perceptual quality**: VMAF per rung against the source over an in-house reference103 clip set; a VMAF regression when changing encoder or ffmpeg version **breaks the build**.104- **A real playback matrix**: Safari/iOS (the most restrictive client: native HLS, FairPlay,105 different codec support), Chrome/Android, one representative TV/stick. The emulator detects106 neither DRM nor hardware-decode failures.107- **Mandatory edges**: ingest loss mid-broadcast (does the manifest recover or is it108 poisoned?), quality switching on a degraded network, *seek* into the middle of a live stream with109 DVR, DRM licence expiry during playback, SCTE-35 discontinuities.110111## 5. Stack security112113- **DRM ≠ access control**: DRM protects licensed content; for "stop people who did not pay from114 watching" a signed URL/CDN token with short expiry is usually enough. Do not buy multi-DRM115 for a token problem.116- **Keys**: content keys and licence-server credentials never in the117 client or in the manifest; key rotation in long live streams.118- **Authenticated ingest**: stream keys treated as secrets (rotatable, revocable); SRT with a119 passphrase; WHIP with a short-lived token. An open RTMP endpoint is an anonymous publishing120 channel on your domain.121- **ffmpeg/GStreamer process hostile input**: a user-uploaded file is a potential exploit122 against the demuxer (a long CVE history in both). Transcode user content123 **in a sandbox/isolated worker with no credentials**, keep versions current, and restrict input124 formats with an allowlist.125- Content compliance: DRM and watermarking according to the contract with the licensor (the studio126 usually requires a specific Widevine/PlayReady security level per resolution — check the contract).127128## 6. Performance and operability129130- **Domain SLIs**: playback start-up time, rebuffering ratio, end-to-end live latency131 (measured, not estimated: embedded timestamp or visual marker),132 DRM licence errors, ingest failure rate. Player telemetry (or the managed service's data, such133 as Mux Data) is the only real view.134- **Cost**: streaming is an **egress** business; the ABR ladder and codec efficiency135 are cost decisions as much as quality ones (more rungs = more transcode + more storage;136 a better codec = fewer GB delivered). Egress and hit ratio → `caching-cdn-standards`.137- **Hardware encoders (NVENC/Quick Sync/VCN) for live at scale; software (x264/SVT-AV1) for138 VOD where quality per bit dominates** — hardware buys density with compression efficiency.139140## 7. When NOT to / Prohibitions141142- ❌ **WebRTC "because the live stream is slow"** when the business tolerates 3-6 s: LL-HLS scales143 over the CDN, WebRTC demands SFU infrastructure per viewer. Every latency step is justified by a144 requirement, not by a wish.145- ❌ MoQ in production as of Aug 2026 (a moving draft) except as a pilot with a fallback path.146- ❌ Choosing HEVC (or assuming AV1 is free) **without verifying the state of the patent pools on147 the date of the decision** — it is the most expensive decision in the domain and it changed twice148 in a year.149- ❌ RTMP as the ingest of a new design without justifying compatibility.150- ❌ Different segments per format when a single CMAF would serve; keyframes misaligned across151 renditions.152- ❌ Transcoding user content in the same process/host that handles credentials.153- ❌ Stream keys in repositories, logs or example URLs; an ingest endpoint without authentication.154- ❌ Building and operating your own streaming server when a managed one covers the case — the real155 cost is the pipeline's on-call, not the licence. Self-hosted only with a requirement (data, cost156 at scale, latency, sovereignty) written in an ADR.157- ❌ "It looks fine in my Chrome" as validation: Safari/iOS is the gate.158- ❌ Home-grown DRM or obfuscation as a substitute for Widevine/FairPlay/PlayReady if the contract159 requires content protection.160161## 8. Mandatory web verification1621631. **Patent pools** — the expensive fact: status of HEVC Advance/VCL Advance (Access Advance),164 Avanci Video and the Video Distribution Patent Pool; rates and the current deadline (the165 Jun 2026 one has already been extended once); status of the Dolby versus Snap litigation over AV1.166 Sources: `accessadvance.com`, primary press releases, not forums.1672. **ffmpeg**: latest release at `ffmpeg.org/download.html` (9.0 as of 2026-08-04; 8.1.x and168 7.1.x branches maintained) and demuxer CVEs.1693. **GStreamer**: `gstreamer.freedesktop.org/releases/` (1.28.6 as of Aug 2026, branch in170 maintenance; 1.30 expected Q4-2026).1714. **OBS**: `obsproject.com` and the GitHub releases (32.2.1, Jul 2026).1725. **MediaMTX**: `api.github.com/repos/bluenviron/mediamtx/releases` (v1.20.0, Aug 2026) and its173 `LICENSE` raw (MIT).1746. **MoQ**: status of `draft-ietf-moq-transport` at datatracker.ietf.org (still a draft or already175 an RFC?) — as of Jul 2026, draft-17.1767. **LL-HLS/HLS**: Apple's spec (`developer.apple.com`) and RFC 8216 + extensions; WHIP =177 **RFC 9725**.1788. **Managed services**: pricing and model (per encoded/delivered/stored minute) for179 Mux, Cloudflare Stream, IVS and MediaLive on their official pages — they change often.1809. **DRM/codec matrix per browser and device** (which combination of `cenc`/`cbcs`, codec and181 robustness each client supports): verify in each DRM's current documentation.18210. **Declared gaps** (not verified in this draft — do not fill them from memory): the pools'183 concrete per-unit rates (only their existence and the +25% were verified); exact184 Wowza and Ant Media pricing (taken from aggregators, not the official page); the exact185 `cbcs` versus `cenc` matrix per platform; the state of VVC support in 2026 hardware; the186 Widevine/PlayReady robustness levels the studios require today.187188If the web contradicts this document, **the web wins** — flag the discrepancy.