Build1 distinct publisher3 min readUpdated
A dev.to walkthrough argues the master playlist, not the encoder config, is the only reliable record of what you ship. The arithmetic on the bottom rung is the part worth reading.
The Engineer · Build desk
Compiled by The EngineerSomething wrong?How this is made
A walkthrough published on dev.to makes a narrow and checkable argument: start an audio audit with the master playlist rather than the encoding profile, because the two disagree more often than teams expect [1]. It matters because the same piece describes the common state of play, in which the video side has been re-tuned four times while the audio side remains one 128 kbps AAC-LC track that nobody has touched since setup [2].
The evidence is in the manifest. In the example master playlist, all three variants declare `mp4a.40.2`, which is AAC-LC, so every rendition carries identical audio [3]. There is no `EXT-X-MEDIA` block, meaning audio is muxed into each video rendition and there is no separate audio rendition for the player to switch [4]. An `ffprobe` against the 360p child playlist confirms the bytes rather than the promise: AAC, LC profile, 48 kHz, two channels, 128 kbps [5]. The author's caution is that manifests lie, and that what a pipeline intends to produce and what a packager emits are separate facts, so probe a live playback URL and not a mezzanine [6].
Then the number. The 360p variant declares 628 kbps total, of which 128 kbps is audio [7], which is 20.4 percent of the rung serving the worst-connected viewers [8]. The same 128 kbps sits inside the 1080p variant declared at 3128 kbps [9], where it is 4.1 percent of the bill [10]. Identical audio quality, wildly different share of a constrained pipe [7].
The fix in the article needs no new codec. Encode video with `-an`, encode audio separately at 128k and 64k, package to fMP4 HLS with Bento4's `mp4hls`, and declare two audio groups so the 360p variant pairs with the 64 kbps rendition [11][12]. The declared bandwidth on that rung drops from 628 to 464 kbps [13]. Note that this is a 164 kbps fall while the audio change accounts for only 64 kbps, so roughly 100 kbps of the improvement in the worked example comes from somewhere other than audio [14]. Do not quote the full delta to your finance team as an audio win. The common failure mode is pointing every `EXT-X-STREAM-INF` at the same `AUDIO` group and then wondering why audio never changes; the group ID is the switch, one group per quality tier [15].
Declarations are load-bearing. The `CODECS` attribute is a promise to the player, and if it is wrong some clients refuse to play before they ever fetch a segment [16]. Apple's `mediastreamvalidator` catches mismatches, and as of the 2026 release it runs on macOS, RHEL 9.5, Ubuntu 24.04.3 LTS and Debian 13.2 with full feature parity, so that check can now live in Linux CI [17]. The tooling floor for all of this is ffmpeg 7.x or 8.x, plus bento4 if you want it to author manifests [18].
On xHE-AAC, the article defines it as MPEG-D USAC, the Extended HE-AAC profile, plus MPEG-D loudness and dynamic range control [19], and states the asymmetry plainly: decoding is universal, encoding needs a license [20]. The published text stops before listing the properties that make it attractive for a low rung, so treat the codec case as unfinished here.
What to watch: run the probe against live playback URLs and record what fraction of your bottom rung is audio [6][8]; verify that group IDs actually differ per tier [15]; get `mediastreamvalidator` into CI now that Linux parity exists [17]. And before any xHE-AAC roadmap item, get the encoder licensing question answered, because decode reach is not the constraint [20].
Follow any of these and your For You feed starts watching them — no settings page required.
Ranked by verification strength, evidence, and original report placement.
On the 360p rendition the declared total bandwidth is 628 kbps and audio is 128 kbps of it; the article calls this roughly a fifth of the bytes going to the worst-connected viewers, encoded at the same quality as audio going to a viewer on fibre.
The example 1080p variant declares BANDWIDTH=3128000 with CODECS avc1.640028 and mp4a.40.2 at 1920x1080.
The article advises starting an audio audit with the master playlist rather than the encoding config, because "these disagree more often than you'd think".
The article's framing: the encoding profile has been re-tuned four times on the video side, while the audio side is one 128 kbps AAC-LC track that nobody has touched since setup.
The article warns that manifests lie and that a pipeline's intent and a packager's output are separate facts, recommending probing a live playback URL rather than a mezzanine file.
On whether xHE-AAC is reachable, the article's answer is that decoding is universal and encoding needs a license.
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Reproducible commands, one illustrative ladder
The technical mechanics are unusually checkable for a tutorial: manifest listings, ffprobe JSON and CSV output, and a pasted libfdk_aac profile list let a reader reproduce the audit and the encoder-capability finding. Evidence quality drops for the quantitative claims, which rest on a single synthetic example.com ladder and on declared BANDWIDTH attributes rather than measured delivery, and for the external platform assertions, which are single-source and unlinked in a cluster with only one publisher.
Platform support broad, practice unevidenced
Adoption evidence exists only on the substrate layer: decode support across Android, iOS/macOS/tvOS and Safari, a vendor-cited installed base, Android 17 encoder availability, and Linux parity for Apple's validation tools. There is no evidence in the supplied source of any service actually shipping a two-tier demuxed audio ladder or an xHE-AAC bottom rung, and the encoder side remains license-gated, so measured adoption of the practice the article advocates is low despite broad platform readiness.
Mildly overstated saving, honest on licensing
The article is self-limiting where it matters most, saying plainly that xHE-AAC encoding needs a licence and listing fMP4, common-encryption and stereo-only constraints. The overstatement is localised to the arithmetic the dek elevates: 164 kbps of declared saving is framed as an audio win when only 64 kbps follows from halving the audio bitrate, and 'roughly a fifth of the bytes' describes a manifest-declared ceiling rather than measured traffic. That yields a small positive gap rather than a large one.
Author-brand tutorial relaying vendor figures
The visible incentive is developer-platform authorship on dev.to: a bylined how-to whose payoff is credibility rather than a product sale, with no disclosure of any commercial relationship in the supplied text. Mild incentive pressure comes from relaying licensor-supplied numbers uncritically (Fraunhofer's bitrate range and seven-billion-device installed base) and from naming a commercial encoder plugin as the practical path, though no vendor is promoted with pricing or a call to action.
Verifiable mechanics, single-publisher numbers
Confidence is moderate. The procedural core is reproducible and internally consistent, and the licensing verdict is demonstrated rather than asserted. But the cluster contains one publisher and one article, the quantitative case rests on a synthetic ladder with an attribution gap in its headline figure, and several external release and installed-base details are unverified, so the numbers should be re-derived against a real stream before acting on them.
build
Live video is two protocol decisions, not one, and your CDN is fighting your latency target1 distinct publisher
build
Every viewer hits your HLS key endpoint in the same second, and almost nobody tests it1 distinct publisher
invest
Your Landed Cost Is Being Litigated By Companies With $306,000 Problems1 distinct publisher
security
ToxicPanda 2.0 Widens From 16 Apps to 140, and From Overlays to ADB Shell3 distinct publishers
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · August 17, 2026