Skip to content

aNNiMON/ffmpegbot

Repository files navigation

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.1-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

About

Telegram ffmpeg bot for re-encoding media

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published