Sign inSign up

bridmg/conv2mp4

By bridmg

•Updated over 3 years ago

Convert video files to a universal format to minimize transcoding

Image
2

2.5K

bridmg/conv2mp4 repository overview

Main pipeline Dev pipeline Latest git release Latest Dockerhub release Commits since last release Code size Github issues Github stars

Powershell script that recursively searches through a user-defined file path and convert all videos of user-specified file types to MP4 with H264 video and AAC audio as needed using ffmpeg. If a conversion failure is detected, the script re-encodes the file with HandbrakeCLI. Upon successful encoding, Plex libraries are refreshed and source file is deleted. The purpose of this script is to reduce the amount of transcoding CPU load on a Plex server and increase video compatibility across platforms.

Features

  • Full automation: Set a cron-formatted schedule, and convert/encode your files while you do something more interesting.
  • Detailed logging: Allows easy tracking of what files are in the queue, overall queue progress, individual and cumulative file size gains and reductions, as well as total hours of video converted, how long it took to convert them, and the average encode speed.
  • Plex integration: Refreshes Plex libraries upon completion of each item in the queue.
  • Garbage collection: Allows user-specified file types to be deleted during each execution, keeping non-media files such as .nfo or thumbs.db from accumulating.

See wiki⁠ for in-depth usage and configuration information.

docker-compose:

    image: bridmg/conv2mp4
    container_name: conv2mp4
    volumes:
      - /path/to/conv2mp4/cfg:/cfg          #Local path to your config file
      - /path/to/conv2mp4/log:/log          #Optional, allows for persistent log
      - /path/to/conv2mp4/ignore:/ignore    #Optional, allows for persistent ignore list
      - /path/to/conv2mp4/lock:/lock        #Optional, allows for persistent lock file
      - /path/to/media:/media               #Path to media to be converted
      - /path/to/outpath:/outpath           #Optional, only necessary if paths.use_out_path set to true in configuration
      - /etc/localtime:/etc/localtime:ro    #Syncs container time to host time
    ports:
      - 8082:8282
    restart: unless-stopped

docker run:

docker run -d \
  bridmg/conv2mp4 \
  --name conv2mp4 \
  -p 8082:8282 \
  -v /path/to/conv2mp4/cfg:/cfg \
  -v /path/to/conv2mp4/log:/log \
  -v /path/to/conv2mp4/ignore:/ignore \
  -v /path/to/conv2mp4/lock:/lock \
  -v /path/to/media:/media \
  -v /etc/localtime:/etc/localtime:ro \
  --restart unless-stopped

GitLab⁠ | Github⁠

Tag summary

Content type

Image

Digest

sha256:d6cfafcc4…

Size

270.3 MB

Last updated

over 3 years ago

docker pull bridmg/conv2mp4