Skip to content

Docker container to transcode videos in mounted volume to H265 using FFMPEG

Notifications You must be signed in to change notification settings

teckel12/Transcoder

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Transcoder

Docker container to transcode videos in mounted volume to H265

To run

  1. Change the volume to point at your root media folder
  2. docker-compose up -d

To view live transcoding

docker logs transcoder_transcoder_1 && docker attach --no-stdin transcoder_transcoder_1

(CTRL-C is safe to exit with)

Telegram notifications

  1. Create a .env file
  2. Set BOT_KEY and CHAT_ID variables
  3. Recreate the container

Ignoring files

You can ignore files using .transcodeignore, which will make it not transcode any files in that directory or subdirectories.

Re-Transcoding H265 -> H265

By default, the option to re-transcode H265 -> H265 is disabled. You can turn it on by setting environment variable H265_TRANSCODE to true

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.

All Environment Variables

Variable Description Default
ROOT_PATH The path of media to transcode (inside the container) /media
BACKUP_DIR The directory to copy original files for backup (inside ROOT_PATH) .backup
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 false
H265_MB_H Minimum MB/h to attempt to re-transcode H265 content 1000

About

Docker container to transcode videos in mounted volume to H265 using FFMPEG

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.9%
  • Dockerfile 5.1%