This repository is discontinued in favor of https://github.com/Vilsol/transcoder-go
Docker container to transcode videos in mounted volume to H265
- Change the volume to point at your root media folder
docker-compose up -d
docker logs transcoder_transcoder_1 && docker attach --no-stdin transcoder_transcoder_1
(CTRL-C is safe to exit with)
- Create a .env file
- Set
BOT_KEY
andCHAT_ID
variables - Recreate the container
You can ignore files using .transcodeignore
, which will make it not transcode any files in that directory or subdirectories.
By default, the option to re-transcode H265 -> H265 is enabled. You can turn it off by setting environment variable H265_TRANSCODE
to False
The other variable H265_MB_H
defines how many MB/h is your target. If a file is below that target, it will not attempt to re-transcode the file.
It uses the formula size / duration
instead of the reported bit rate by ffmpeg, as it seems it is often incorrect and not representative of the resulting file size.
Variable | Description | Default |
---|---|---|
ROOT_PATH | The path of media to transcode (inside the container) | /media |
BOT_KEY | The Telegram bot key | |
CHAT_ID | The Telegram chat ID to report to | |
HOST | The Host to specify in Telegram messages | |
CRF | The Constant Rate Factor quality setting. Lower number, better quality | 16 |
H265_TRANSCODE | Whether to re-transcode H265 content | True |
H265_MB_H | Minimum MB/h to attempt to re-transcode H265 content | 1000 |