1
0
mirror of https://github.com/aNNiMON/ffmpegbot synced 2024-09-19 22:54:20 +03:00
Telegram ffmpeg bot for re-encoding media
Go to file
2023-05-23 21:14:12 +03:00
gradle/wrapper Initial commit 2023-01-10 16:55:02 +02:00
src/main Add Audio stream selector parameter 2023-05-23 21:14:12 +03:00
.gitignore Support for 20+ MiB files download by calling external Telegram Client file downloader 2023-01-20 23:28:09 +02:00
build.gradle Update README.md 2023-01-10 17:45:53 +02:00
Dockerfile Fix python dependencies in Dockerfile, use ENV 2023-05-22 22:26:22 +03:00
ffmpegbot-docker.yaml Fix python dependencies in Dockerfile, use ENV 2023-05-22 22:26:22 +03:00
ffmpegbot.yaml.template Support for 20+ MiB files download by calling external Telegram Client file downloader 2023-01-20 23:28:09 +02:00
gradlew Initial commit 2023-01-10 16:55:02 +02:00
gradlew.bat Initial commit 2023-01-10 16:55:02 +02:00
LICENSE Add readme and license files 2023-01-10 17:21:10 +02:00
pytgfile.py Fix python dependencies in Dockerfile, use ENV 2023-05-22 22:26:22 +03:00
README.md Fix python dependencies in Dockerfile, use ENV 2023-05-22 22:26:22 +03:00
settings.gradle Initial commit 2023-01-10 16:55:02 +02:00

_# ffmpegbot

Telegram Bot for re-encoding media

Features

  • change a video resolution, bitrate, frame rate, speed
  • change an audio bitrate, volume, pitch
  • apply audio effects
  • extract or remove audio from the video
  • resend video note as a regular video, or video as an audio track

Requirements

  • Telegram bot username and token, @BotFather
  • JRE 17+ or JDK 17+ (for build)
  • ffmpeg must be installed and available in PATH.
  • python3 version 3.8+ must be installed and available in PATH.
  • yt-dlp for /dl command.

Installation

Manual

# Build
./gradlew shadowJar
# Config
cp ffmpegbot.yaml.template ffmpegbot.yaml
vim ffmpegbot.yaml
mkdir {input,output}
# Run
java -jar ./build/libs/ffmpegbot-1.0-SNAPSHOT-all.jar

Using Docker

Note: FFmpeg binary might be installed with limited number of filters and codecs. Some bot features might not work (Audio pitch, robot effect, etc).

# Edit user ids in `superUsers` and `allowedUsers` fields
vim ffmpegbot-docker.yaml
docker build --tag 'ffmpegbot' .
docker run -d -t -i \
  -e BOT_TOKEN='...' \
  -e BOT_USERNAME='...' \
  -e APP_ID='...' \
  -e APP_HASH='...'\
  --name ffmpegbot ffmpegbot:latest

Environment variables