ebany_video_bot/R.ru.md

6.4 KiB
Raw Blame History

ebany video bot

Python Telegram yt-dlp FFmpeg

Translation:

English Українська Русский

Этот Telegram-бот предназначен для удобного скачивания медиафайлов по ссылкам из популярных социальных сетей.

Бот автоматически скачивает видео в лучшем доступном качестве, адаптирует их для нативного проигрывателя Telegram, а также может извлекать аудиодорожки.

Возможности

  • Мультиплатформенность:
    • Поддерживает ссылки с YouTube (включая Shorts), TikTok, Instagram (Reels/Posts) и SoundCloud.
    • Предлагает выбор: скачать как Видео или Аудио. (Для SoundCloud можно также скачать обложку).
  • Обработка видео:
    • Принудительное преобразование и выбор кодека в H.264 (MP4) для бесперебойного воспроизведения прямо в чате Telegram.
    • Поддерживает потоковую передачу видео (пользователи могут начать просмотр до полной загрузки файла в кэш).
    • Сохранение оригинального качества: видео отправляются как несжатые документы, чтобы избежать встроенного сжатия Telegram.
  • Извлечение аудио и метаданных:
    • Конвертирует аудиодорожки в формат MP3 (320kbps).
    • Автоматически встраивает высококачественную обложку прямо в скачанные файлы MP3.
    • Извлекает оригинальные обложки треков (миниатюры) и отправляет их как несжатые файлы с динамическими, безопасными именами файлов.
  • Логирование:
    • Ведёт подробные логи с ежедневной ротацией в директории logs/.
  • Асинхронность:
    • Скачивание файлов не блокирует работу бота для других пользователей благодаря asyncio.to_thread.

Требования

Для запуска бота вам потребуется:

  1. Python 3.8+
  2. FFmpeg (на уровне системы) — критически важно для корректной работы yt-dlp (объединение видео и аудио, конвертация кодеков).

Установка FFmpeg:

  • Ubuntu/Debian: sudo apt update && sudo apt upgrade && sudo apt install ffmpeg
  • Windows:
    • Способ 1 (Рекомендуемый): Откройте терминал (PowerShell или CMD) и выполните:

      winget install Gyan.FFmpeg
      

      ⚠️ Команда "winget" не найдена? > Если вы используете более старую версию Windows 10, скачайте и установите App Installer из официальных релизов на GitHub (найдите файл .msixbundle).

    • Способ 2 (Ручной): Скачайте архив из официального репозитория, распакуйте его и добавьте путь к папке bin в переменные среды вашей системы (PATH).

      C:\ffmpeg\bin
      
  • MacOS: brew install ffmpeg

Установка и использование

1. Клонируйте репозиторий

git clone https://github.com/Vovan999222/ebany_video_bot.git

cd ebany_video_bot

2. Создайте виртуальное окружение (Рекомендуется)

python -m venv venv

# Windows:
venv\Scripts\activate

# Linux/Mac:
source venv/bin/activate

3. Установите зависимости

Вы можете установить библиотеки вручную:

pip install aiogram yt-dlp mutagen

Или создайте файл requirements.txt и установите через:

pip install -r requirements.txt

4. Настройка

Откройте файл config.py и найдите следующую строку:

TOKEN = ""  # Вставьте ваш токен от @BotFather здесь

Вставьте токен вашего бота внутрь кавычек.

5. Запустите бота

python bot.py

Технические детали

  • Ограничения: Бот обрабатывает и отправляет файлы размером до 50 МБ (ограничение Telegram Bot API).
  • Видео: Настройки yt-dlp принудительно запрашивают формат bestvideo[ext=mp4][vcodec^=avc] для исключения кодеков AV1/VP9, которые не поддерживаются встроенным проигрывателем Telegram.
  • Аудио: Обрабатывается через FFmpegExtractAudio с кодеком MP3.

Лицензия

Этот проект распространяется под лицензией MIT.