Что это
Движки загрузки: yt-dlp достаёт видео и звук с сотен сайтов (YouTube, TikTok, VK Video), streamrip — музыку из Qobuz, Deezer и Tidal. Бот отдаёт им ссылку и получает файл.
Как используем
На yt-dlp работает бот загрузки видео: 12 площадок, качество до 4K, а Vimeo и Coub добавлены без отдельного кода. streamrip в ToshaMusic качает Hi-Res с ограничением параллельных загрузок, чтобы аккаунт стриминга не забанили.
Где это нужно бизнесу
- Пользователь присылает ссылку на ролик или релиз и хочет файл прямо в чате, без сайтов с рекламой.
- Нужно поддерживать много площадок и не писать отдельный код под каждую.
Как мы это используем
- Бот загрузки видео на yt-dlp: TikTok без водяного знака, YouTube и Shorts, Reels, VK Video и ещё восемь площадок, качество от 240p до 4K с размером файла на кнопке, MP3 с обложкой. Vimeo и Coub добавлены без отдельного кода. Повторная ссылка отдаётся из кэша мгновенно.
- ToshaMusic на streamrip: Hi-Res из Qobuz, Deezer и Tidal до FLAC 24 бит / 192 кГц. streamrip запускается дочерним процессом с конфигом, который бот генерирует сам, а пул воркеров ограничивает параллельные загрузки (по умолчанию две).
Типичные проблемы
- Площадка меняет защиту. YouTube регулярно меняет защиту ссылок; для подписи нужен JS-движок Deno, для аудио — сервис PO-токенов. При сбоях первым делом обновляется yt-dlp.
- Закрытые ролики. Для возрастных и приватных видео нужен файл cookies; Instagram без cookies часто отвечает пустотой.
- Бан аккаунта стриминга. Слишком агрессивная загрузка грозит баном, поэтому очередь и лимиты на пользователя.
- Конфликт зависимостей. streamrip ставится отдельно из-за несовместимых версий aiofiles.
Когда это не нужно
Если медиа нужно только смотреть, а не сохранять, загрузчик не нужен. И он не обходит защиту сервисов: ToshaMusic работает от активной подписки владельца.