ebany_video_bot/R.ua.md

6.3 KiB
Raw Permalink 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.