6.4 KiB
ebany video bot
Translation:
Этот Telegram-бот предназначен для удобного скачивания медиафайлов по ссылкам из популярных социальных сетей.
Бот автоматически скачивает видео в лучшем доступном качестве, адаптирует их для нативного проигрывателя Telegram, а также может извлекать аудиодорожки.
Возможности
- Мультиплатформенность:
- Поддерживает ссылки с YouTube (включая Shorts), TikTok, Instagram (Reels/Posts) и SoundCloud.
- Предлагает выбор: скачать как Видео или Аудио. (Для SoundCloud можно также скачать обложку).
- Обработка видео:
- Принудительное преобразование и выбор кодека в H.264 (MP4) для бесперебойного воспроизведения прямо в чате Telegram.
- Поддерживает потоковую передачу видео (пользователи могут начать просмотр до полной загрузки файла в кэш).
- Сохранение оригинального качества: видео отправляются как несжатые документы, чтобы избежать встроенного сжатия Telegram.
- Извлечение аудио и метаданных:
- Конвертирует аудиодорожки в формат MP3 (320kbps).
- Автоматически встраивает высококачественную обложку прямо в скачанные файлы MP3.
- Извлекает оригинальные обложки треков (миниатюры) и отправляет их как несжатые файлы с динамическими, безопасными именами файлов.
- Логирование:
- Ведёт подробные логи с ежедневной ротацией в директории
logs/.
- Ведёт подробные логи с ежедневной ротацией в директории
- Асинхронность:
- Скачивание файлов не блокирует работу бота для других пользователей благодаря
asyncio.to_thread.
- Скачивание файлов не блокирует работу бота для других пользователей благодаря
Требования
Для запуска бота вам потребуется:
- Python 3.8+
- 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.