Я сделал Telegram-бота для скачивания видео из YouTube, TikTok, Instagram и Twitch

Я сделал Telegram-бота для скачивания видео из YouTube, TikTok, Instagram и Twitch

Недавно я начал делать XROM — Telegram-бота, который позволяет скачивать видео из популярных соцсетей прямо в Telegram.

Идея максимально простая: пользователь отправляет ссылку, выбирает качество и получает готовый файл. Без сторонних сайтов, рекламных редиректов и десятка кнопок «Download».

Сейчас XROM работает с:

  • YouTube
  • Instagram
  • TikTok
  • Twitch
  • Pinterest

Для YouTube можно выбрать качество видео или скачать только аудио. Бот также умеет работать с большими файлами: если видео не помещается в один файл Telegram, его можно разделить на несколько частей без повторного кодирования и потери качества.

Оказалось сложнее, чем выглядело

Скачать короткий TikTok или Reels довольно просто. Но проблемы начинаются, когда пользователь отправляет 27-минутное видео в 1440p размером несколько гигабайт.

Первоначально бот просто перекодировал такие файлы через FFmpeg, но это оказалось слишком медленно. Поэтому сейчас логика другая:

если перекодирование не требуется — видео отправляется как есть;

если файл слишком большой — пользователь может разделить его на части;

перекодирование используется только тогда, когда без него действительно не обойтись.

Отдельной головной болью стали прямые эфиры Twitch. У live-видео нет фиксированного конца, поэтому обычная логика скачивания и расчёта оставшегося времени здесь не работает. Сейчас экспериментирую с загрузкой уже записанной части эфира вместо ожидания завершения всего стрима.

Если хочется протестировать бот:

Telegram: @xrom_bot