Skip to content

Powershell script that recursively searches through a defined file path and converts MKV, AVI, FLV, and MPEG files to MP4 using ffmpeg (with AAC audio). It then refreshes a Plex library, and deletes the source file upon success. Fails over to Handbrake encode if conversion failure is detected. The purpose of this script is to reduce the number o…

Notifications You must be signed in to change notification settings

onedererer/conv2mp4-ps

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

conv2mp4

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.

Get the latest image at Dockerhub

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.

Want to contribute? Pull requests welcome!
GitLab | Github | Dockerhub

About

Powershell script that recursively searches through a defined file path and converts MKV, AVI, FLV, and MPEG files to MP4 using ffmpeg (with AAC audio). It then refreshes a Plex library, and deletes the source file upon success. Fails over to Handbrake encode if conversion failure is detected. The purpose of this script is to reduce the number o…

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PowerShell 85.4%
  • CSS 10.4%
  • Dockerfile 4.2%