Skip to content

Commit

Permalink
v4.0 (#51)
Browse files Browse the repository at this point in the history
## Release v4.0
Release v4.0 is a major code overhaul that introduces the following new features and improvements:

### New features
- **Ignore list**:  shortens time required to find new files on script execution by excluding files the script has already successfully processed
- **Clone audio to stereo track**: Addresses #42 - when enabled, will create a stereo copy of any non-stereo audio tracks for each file for playback on stereo systems (while retaining the original audio track)
- **Metadata title**: Sets the file's metadata title to the filename (helps with Plex matching) [thanks to   @djgrijalva]
- **User-defined failover threshold**: User can now define the failover threshold to any desired percentage (Addresses #38) 
- **Failed encoding reporting**: List files that failed to encode (even after failover) in the log
- **Corrupt file reporting**: List corrupt files in the log (files with either corrupt video or audio codecs)

### Improvements
- **Configuration**: Configuration is now set by the user in a plain text file
- **Code enhancement**: Code is now modular, increasing readability and ease of adding new features
- **Portability**: Pulling the latest version of the code will not overwrite or otherwise change any user settings in the config file
- **Validation**: All user-defined settings in the config file are validated prior to the script executing. Any errors will cause the script to log a relevant message and exit.
- **Timekeeping**: Fixed various issues with timekeeping in the script, resulting in more accurate statistics
- **Best practices**: Various changes to conform to Powershell best practices
  • Loading branch information
BrianDMG authored Feb 2, 2020
1 parent f1f43c5 commit 4a397af
Show file tree
Hide file tree
Showing 45 changed files with 1,140 additions and 1,024 deletions.
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#Directories
log/
lock/
ignore/
tmp/

#Files
config
config.bk
ignore.list
17 changes: 10 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
# conv2mp4-ps
Powershell script that recursively searches through a user-defined file path (*or paths*) 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 (optionally) refreshed and source file is deleted. The purpose of this script is to reduce the amount of transcoding CPU load on a Plex, Emby, or Kodi server and increase video compatibility across platforms.
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.

Python version can be found here: <a href="https://github.com/BrianDMG/conv2mp4-py">conv2mp4-py</a>
**Features**
- **Full automation**: Set as a [scheduled task](/docs/SCHEDULED_TASK.md), 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](docs/guidelines/CONTRIBUTING.md)? [Pull requests](docs/guidelines/PULL_REQUEST_TEMPLATE.md) welcome!**
### [Dependencies](/docs/DEPENDENCIES.md)[Usage](/docs/USAGE.md) [Configuration](/docs/CONFIGURATION.md)

### **[Dependencies](docs/DEPENDENCIES.md)**

### **[Usage](docs/USAGE.md)**

### **[Scheduled task example](docs/SCHEDULED_TASK.md)**
<sub><sup>Python version can be found here: [conv2mp4-py](https://github.com/BrianDMG/conv2mp4-py)<br>
Want to [contribute](https://github.com/BrianDMG/conv2mp4-ps/blob/master/docs/guidelines/CONTRIBUTING.md)? [Pull requests](https://github.com/BrianDMG/conv2mp4-ps/blob/master/docs/guidelines/PULL_REQUEST_TEMPLATE.md) welcome!<br>
[Github](https://github.com/BrianDMG/conv2mp4-ps) | [GitLab](https://gitlab.com/BrianDMG/conv2mp4-ps)</sub></sup>
1 change: 0 additions & 1 deletion _config.yml

This file was deleted.

49 changes: 0 additions & 49 deletions cfg_conv2mp4-ps.ps1

This file was deleted.

Loading

0 comments on commit 4a397af

Please sign in to comment.