yt-dlp declares `dependencies = []` and puts everything in extras, so the bare `yt-dlp` requirement installed it with no yt-dlp-ejs and no JavaScript runtime. Without those it cannot solve YouTube's player challenges and falls back to media URLs that YouTube rejects with HTTP 403, which is the failure seen when adding a song. Require `yt-dlp[default,curl-cffi,deno]` instead; the deno extra ships the JS runtime as a wheel, so the image needs no extra apt packages. Around that, make the stage survive the next time YouTube changes something: the download is retried against each player client in `ytdlp_clients` (default `["default", "tv"]`, the latter not needing a PO token) before giving up, yt-dlp's retry counts are raised, and its own log lines are routed into the job log so a PO-token demand can be told apart from a rate limit. The final error names the running yt-dlp version, since a stale one is the usual cause. Cookies, TLS impersonation and a bgutil PO token provider URL are now config fields, so an operator can work around a block without a code change. `_classify_downloads` skips .part/.ytdl scratch files, which retries make far more likely to be lying around.
21 lines
856 B
TOML
21 lines
856 B
TOML
whisper_url = "http://whisper.intranet:9000/v1"
|
|
# whisper_api_key = ""
|
|
# whisper_model = "whisper-1"
|
|
# whisper_api = "openai" # or "asr-webservice" for onerahmet/openai-whisper-asr-webservice
|
|
# (set whisper_url without the /v1 suffix, e.g. "http://whisper.intranet:9000")
|
|
output_dir = "/data/output"
|
|
work_dir = "/data/work"
|
|
creator = "brad"
|
|
# demucs_model = "htdemucs_ft"
|
|
# crepe_model = "full"
|
|
# device = "cuda"
|
|
bind_host = "0.0.0.0"
|
|
# port = 8000
|
|
|
|
# YouTube downloads. Each player client is tried in order until one works;
|
|
# "default" means whatever yt-dlp currently picks for itself.
|
|
# ytdlp_clients = ["default", "tv"]
|
|
# ytdlp_cookies = "/config/youtube-cookies.txt" # Netscape cookie jar
|
|
# ytdlp_impersonate = "chrome" # TLS fingerprint to present
|
|
# ytdlp_pot_provider_url = "http://bgutil-provider:4416"
|