Skip to content

fix: download browser-safe H.264 (fixes VP9/AV1 playback failures)#208

Merged
GraysonCAdams merged 1 commit into
mainfrom
fix/video-codec-h264
Jul 9, 2026
Merged

fix: download browser-safe H.264 (fixes VP9/AV1 playback failures)#208
GraysonCAdams merged 1 commit into
mainfrom
fix/video-codec-h264

Conversation

@GraysonCAdams

Copy link
Copy Markdown
Collaborator

Problem

Friends couldn't play back videos they'd uploaded (Drew: two of his). Root cause: the bv*+ba format selector added in 1.34.0 grabs the best video-only stream, which on Instagram is VP9 and on YouTube AV1 — neither plays in Safari/iOS. The group is iPhone-heavy, so affected uploads were silently unwatchable.

Fix

Prefer the muxed/progressive H.264 format (which IG/TikTok serve alongside their VP9/AV1 DASH), fall back to a DASH merge only when no muxed exists, and sort every tier toward h264/aac with --merge-output-format mp4. Verified on affected reels: output is h264/aac mp4.

Data repair (already applied to prod)

Re-downloaded the 16 existing VP9/AV1 clips group-wide as H.264 (in place, no credit/notification changes). 413 TikTok HEVC clips were intentionally left alone — HEVC plays natively on iOS.

Test plan

  • npm run check clean
  • npm test 529/529
  • npm run build ok
  • Verified corrected selector yields h264/aac mp4 on a VP9 reel in prod

The bv*+ba selector grabbed the best video-only stream, which on Instagram is
VP9 and on YouTube AV1 — neither plays in Safari/iOS, so uploads silently
became unwatchable for the (iPhone-heavy) group. Prefer the muxed/progressive
H.264 format, fall back to a DASH merge only when no muxed exists, and sort all
tiers toward h264/aac (+ --merge-output-format mp4) so fallbacks stay
compatible. Verified against affected Instagram reels: output is h264/aac mp4.
@GraysonCAdams
GraysonCAdams merged commit ef882dd into main Jul 9, 2026
15 of 16 checks passed
@GraysonCAdams
GraysonCAdams deleted the fix/video-codec-h264 branch July 9, 2026 04:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants