feat: audio format picker, video codec chips, YouTube auth (Deno/EJS)#36
Open
LibreArbitre wants to merge 1 commit intoaverygan:mainfrom
Open
feat: audio format picker, video codec chips, YouTube auth (Deno/EJS)#36LibreArbitre wants to merge 1 commit intoaverygan:mainfrom
LibreArbitre wants to merge 1 commit intoaverygan:mainfrom
Conversation
…support Features: - Audio format picker: MP3/AAC/OPUS/FLAC/WAV/M4A buttons (audio mode only) - Video codec chips: AVC1/VP9/AV01 per resolution (when multiple codecs available) - Cookie-based auth for bot-protected YouTube videos (JSON + Netscape auto-conversion) - uBlock-safe class naming (auth instead of cookie) - Deno + EJS challenge solver for YouTube JS n-challenge - Auto-re-fetch after cookie upload - docker-compose.yml for self-hosting Bug fixes: - Group formats by height+codec (was losing alternative codecs per resolution) - Add #HttpOnly_ prefix for httpOnly cookies in Netscape format conversion - Pass cookie to download endpoint (was only passed to info) - Add --remote-components ejs:npm to all yt-dlp commands Dependencies: - Dockerfile now includes Deno (JS runtime) and ffmpeg - yt-dlp installed from GitHub master (more current than PyPI) README updated with Deno requirement, cookie best practices, Docker instructions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three new features + critical bug fixes for YouTube compatibility:
Features
1. Audio Format Picker
audio_formatparam in/api/download2. Video Codec Chips
(height, codec)instead of justheight3. YouTube Auth (Cookie Upload)
authinstead ofcookie) so ad blockers don't hide the UI/api/infoand/api/downloadCritical Fix: Deno + EJS
YouTube now requires solving JavaScript challenges. Without a JS runtime, yt-dlp only sees storyboard images (no video/audio formats). This PR adds:
--remote-components ejs:npmon all yt-dlp commandsffmpeg+curl+unzipfor Deno installationBug Fixes
height+codec(was losing alternative codecs per resolution)#HttpOnly_prefix for httpOnly cookies in Netscape conversionFiles Changed
app.pytemplates/index.htmlDockerfiledocker-compose.ymlREADME.md