GitPedia

Conv2mp4

This Powershell script will recursively search through a user-defined file path and convert all videos of user-specified file types to MP4 with H264 video and AAC audio using ffmpeg. The purpose of this script is to reduce transcoding CPU load on a media server like Plex or Emby and increase video compatibility across platforms.

From BrianDMG·Updated April 18, 2026·View on GitHub·

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 platfor... The project is written primarily in PowerShell, first published in 2016. Key topics include: aac, emby, ffmpeg, ffprobe, h264.

Latest release: v5.1.0
September 18, 2021View Changelog →

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.

UsageConfiguration

<sub><sup>Want to contribute? Pull requests welcome!<br>
GitLab | Github | Dockerhub</sub></sup>

Contributors

Showing top 2 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from BrianDMG/conv2mp4 via the GitHub API.Last fetched: 6/25/2026