Skip to content

Add YouTube high-resolution video with audio - #48

Merged
mkaand merged 3 commits into
mainfrom
feature/youtube-high-resolution-merge
Oct 6, 2026
Merged

mkaand merged 3 commits into
mainfrom
feature/youtube-high-resolution-merge

Conversation

@mkaand

@mkaand mkaand commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

FINAL FEATURE

Adds source-quality-preserving adaptive YouTube preparation. PR remains OPEN and UNMERGED pending sequential physical acceptance.

Behavior and security

  • High-resolution adaptive outputs are detected through 2160p when the public source offers them. Existing progressive combined formats, including the 360p path, remain direct; adaptive outputs pair a compatible audio track and prepare asynchronously.
  • FFmpeg uses validated local inputs and stream copy only; no default H.264 transcode, no silent truncation. MP4 is paired with AAC; WebM is paired with Opus/Vorbis.
  • Updated yt-dlp 2026.07.04 to 2026.08.19 because current Android/Android VR adaptive URLs require a PO token and return 403 anonymously. The default client now supplies anonymous adaptive formats; Android is used only for the legacy progressive source. The selected source client is signed into the internal plan and revalidated on fresh resolution. No cookies, login, PO-token generation, DRM bypass, or raw upstream URL submission.
  • Existing Redis jobs, signed tokens, pinned source validation, private artifacts, bounded two-job admission, 512 MiB preparation bound, deadlines, atomic ready state and cleanup are retained.
  • Download and compatible Share / Save reuse one artifact. Existing Tap Again/OPFS behavior is unchanged; the 100 MiB Share / Save limit remains.

Validation

  • PHP: 211 tests / 1636 assertions; Pint, Composer validate and Composer audit pass.
  • Python: 334 passed / 3 existing skips; Ruff passes.
  • JavaScript feature suite, Vite build, icon validation and npm audit pass; GitHub php/frontend/python/docker checks are green.
  • Tiny MP4/WebM mux integration proves stream copy, video + audio, MIME/filename and cleanup.
  • Isolated real public 1080p smoke: H.264 + AAC, 1080p, 84.4 MB MP4; no persistent artifact.

Production and acceptance

No migration, data reset, backup, or server cleanup. Candidate is deployed with only app, worker, scheduler and extractor recreated; nginx and Redis are untouched. First physical test is https://www.youtube.com/watch?v=dQw4w9WgXcQ at 1080p with audio. No merge in this task.

mkaand and others added 3 commits October 6, 2026 09:39
Update only the transitive build dependency from 1.2.1 to 1.2.2 for GHSA-68fv-2mgg-jv7q, with explicit user approval.

Co-Authored-By: codex <[email protected]>
Preserve progressive delivery; select compatible adaptive tracks and stream-copy MP4/WebM through the existing private queued download pipeline. Bound admission, bytes, time and artifact lifetime; reuse prepared downloads for supported Share / Save without changing OPFS or its 100 MiB limit.

Co-Authored-By: codex <[email protected]>
@mkaand
mkaand merged commit 407c559 into main Oct 6, 2026
4 checks passed
@mkaand
mkaand deleted the feature/youtube-high-resolution-merge branch October 6, 2026 14:09
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.

1 participant