Skip to content

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.

Notifications You must be signed in to change notification settings

BladeWDR/conv2mp4-ps

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

conv2mp4-ps

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 as a scheduled task, 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.

Python version can be found here: conv2mp4-py
Want to contribute? Pull requests welcome!
Github | GitLab

About

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.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PowerShell 100.0%