Fall back to separate video and audio downloads
Playing with video only worked for clips YouTube still serves as a single progressive file, and it mostly does not: the log showed "Requested format is not available" and every track fell back to sound only. A progressive format is still preferred when offered — one download, one decode — but when there is none, video and audio are fetched in parallel and handed to one ffmpeg over separate pipes, which pairs them by timestamp. This also lifts the 360p ceiling: the height is now a CPU choice rather than a limit. The extra-descriptor plumbing (two inputs, two outputs on one ffmpeg) was verified against synthetic media: exactly 5.0s of PCM and 120 whole frames at 24 fps, no partial tail. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
a9b680c418
commit
9285fd7fbd
+3
-2
@@ -77,8 +77,9 @@ YTDLP_JS_RUNTIME=node
|
||||
|
||||
# Показывать клип в голосовом канале как демонстрацию экрана (только YouTube).
|
||||
# Требует прав Video у бота и включённого видео в конфигурации инстанса.
|
||||
# YouTube отдаёт одним файлом только 360p, а стримить можно лишь такой формат —
|
||||
# отсюда размер по умолчанию. Кодирование видео заметно грузит CPU сервера.
|
||||
# 360p по умолчанию из осторожности: кодирование видео заметно грузит CPU
|
||||
# сервера. Можно поднять до 720 (VIDEO_WIDTH=1280, VIDEO_HEIGHT=720), если
|
||||
# машина позволяет.
|
||||
# Это лишь разрешение: сам показ включается тумблером в панели или командой
|
||||
# !video, и по умолчанию выключен. При false тумблер в панели не показывается.
|
||||
VIDEO_ENABLED=false
|
||||
|
||||
Reference in New Issue
Block a user