Home - yaboy58/BatchGuy GitHub Wiki
BatchGuy, in a nutshell allows you to choose ripped Blu-ray dics on your hard drive, pick the chapters, video, audio and subtitles, mkvmerge options, external subtitles, specify what episode number they are and will create a eac3to batch file (.bat) that you can run to extract all the streams. The streams will be placed in directory of your choosing. If you chose to save the streams to a single directory, all the files will be extracted to one directory. If you chose to save to a directory per playlist, the files for each episode will be extracted to the directory you chose and inside of a folder named "episode" plus the episode number the user specified for the Blu-ray title using the Blu-ray Title Information Screen ie episode01, episode02 etc etc.
After you have extracted all of your files using the eac3to Batch File that BatchGuy created, BatchGuy will allow you create AviSynth Script files (.avs) for all of your extracted video streams (.mkv). You just tell BatchGuy where you would like to output the scripts, specify some limited AviSynth syntax for each video ie cropping, resizing etc etc and how many video streams (.mkv) you have. BatchGuy will then create an AviSynth Script file for each video stream ie video01.avs, video02.avs etc etc and each script file will have the same AviSynth syntax.
The video stream (.mkv) location for the video filter you choose will be set to:
- output_directory_selected\episode##\video##.mkv, for Directory Per Playlist (if you chose to remux for a movie, the folder name will be movie##)
- output_directory_selected\video##.mkv, for Single Directory
Next, BatchGuy will allow you to drag and drop AviSynth scripts (.avs) into the application. The user can then associate each AviSynth Script file with a title the user enters and choose the Blu-ray episode number. Next, the user to double-click each (.avs) Script File and add external subtitles, if necessary. After this, the user can specify x264 settings to apply to all video streams (.mkv) and create a batch file (.bat) that the user can run to encode all extracted videos (.mkv), using the AviSynth scripts created (.avs) and the x264 settings specified.
x264 --output and log parameters will be set to:
- output_directory_selected\episode##\encode_name_specified.mkv and output_directory_selected\episode##\encode_name_specified.log, for Directory Per Playlist
- output_directory_selected\encode_name_specified.mkv and output_directory_selected\encode_name_specified.log, for Single Directory
After you have finished encoding all episodes using the x264 Batch File that BatchGuy created for you, you can then create an mkvmerge Batch File that will use mkvmerge to mux the encoded video, extracted subtitles, audio, chapters and external subtitles into a (.mkv) file per episode.
Many encoders like to view and/or save summary x264 (.log) information but if you have 26 episodes worth of (.log) files as an example, it is very tedious to compile all of this informmation yourself. The x264 Log File Selection and Summary Display Screens makes this task a breeze. Just drag and drop your x264 (.log) files into the selection grid and press the "view logs" button and BatchGuy will grab the I, P, B Frame, Consecutive B-Frames and Encoded Frames sections of each of the x264 log files in your batch and display it. You can then modify the text and copy it to your clipboard.
Blu-ray encoders typically follow a specific workflow when encoding. The workflow can be generally described as follows:
- Extract Blu-ray tracks
- Test different x264 and AviSynth settings on a sample of the extracted video
- Create AviSynth scripts for each extracted video
- Create x264 scripts for each extracted video
- Create mkvmerge scripts to mux each encoded video along with the selected audio, internal subtitles, external subtitles and chapters
From this point of view, the encoder will generally not care what the extracted Blu-ray track names are as long as the tracks can be identified ie video01.mkv, chapters01.txt. It is not until the x264 scripts are created that the encoder will care about the name of the encoded video files.
For these reasons, this is why you should view BatchGuy as an encoding workflow process. BatchGuy will name the extracted Blu-ray tracks and AviSynth files for you as the encoder goes through the encoding workflow. Once the encoder is ready to encode the extracted video files, the encoder can use the Create x264 Batch File Screen to specify the encoded video and x264 (.log) file names.
Remuxers can use the Create eac3to Batch File and Blu-ray Title Info Screens to extract Blu-ray tracks, add external subtitles, mkvmerge options, specify the naming convention that should be used for each track and specify the name for each episode. Remuxers just need to check the Extract For Remux checkbox on the screen and enter information such as season name, season number etc etc and tracks will be extracted and saved based upon the information entered. After all the files have been extracted from the Blu-ray, remuxers can use BatchGuy to create a mkvmerge Batch File that will mux the extracted video, audio, subtitles, chapters and external subtitles into an (.mkv) file per episode.
- Menu Screen
- Settings Screen
- Create Eac3to Batch File Screen
- Blu-ray Title Info Screen
- Create AviSynth Files Screen
- Create x264 Batch File Screen
- x264 Log File Selection Screen
This is the main screen and allows the user to navigate to each screen. The items on the menu are ordered based upon the natural steps the user would perform in order ie extract streams from Blu-ray disc(s), create (.avs) files and then apply x264 encode settings.
This screen allows the user to save the location of executables like eac3to and vfw4x264. Certain screens require these settings to be set before you can use them.
Using eac3to.exe, this screen is used to load ripped Blu-ray disc(s) information and allows the user to pick which Blu-ray summary items they want to rip. After all relevant information is chosen on this screen and the Blu-ray Title Info Screen, this screen will output a (.bat) file that will have the eac3to arguments to extract all the streams chosen.
It will place each "episode" in its own folder if the user chose to "Directory Per Playlist", denoted as e## ie episode01, episode02, etc etc or in a single directory if the user chose "Single Directory". Video files will be denoted as video##.mkv, chapters will be chapter##.txt, subtitles will be the language##.sup and audio will be language## and the correct audio extension ie english01.ac3.
When the user double-clicks on an item in the Disc Summary Grid on the Create Eac3to Batch File Screen, the user will be presented with this screen. This screen allows the user to select video, audio, subtitle and chapter information they would like to extract. Users can also specify mkvmerge options and add external subtitles on this screen.
This screen will allow the user to apply global AviSynth settings to each episode. It has very limited AviSynth scripting and FFVideoSource is the default video filter. The user will specify the location that the (.avs) files will be created, the number of files (episodes) and can enter AviSynth scripting. Each (.avs) file will point the FFVideoSource video location as "output_directory_selected\episode##\encode##.mkv". The (.avs) files the user creates will have the naming convention of video01.avs, video02.avs etc etc.
This screen allows the user to associate (.avs) files created with encode names and to apply global x264 settings to each (.avs) file. The user does this by dragging and dropping the (.avs) files that they created on the Create AviSynth Files Screen onto the x264 Batch File Screen Grid and entering in an encode name for each (.avs) file in the grid. The encode name is used for the x264 video and log file output names during encoding. When the user chooses to create the (.bat) file, a (.bat) file will be created containing x264 settings for each (.avs) file. This screen screen also allows the user to create a mkvmerge Batch File to mux in the encoded video, extracted audio, subtitles, chapters and any external subtitles the user added per episode.
This screen allows the user to drag and drop x264 (.log) files onto the grid. The user can choose some simple bbcode formatting and view the I, P, B, Consecutive-B Frames and Encoded Frames section of each x264 (.log) file, modify the information and copy it to the clipboard.
Unzip the BatchGuy folder to any location of your choosing. With the introduction of BatchGuy Version 1.2, the user can save settings, so it is best to keep the BatchGuy.exe in the BatchGuy folder, which is where the settings file (config.batchGuySettings) and the error log will be saved. However, a shortcut to the BatchGuy.exe can be placed anywhere.
- AviSynth 2.5+ and all relevant plugins (required only for encoding)
- Blu-ray discs
- eac3to
- Microsoft .Net Framework 4.5+
- Windows 7, 8, 10
- vfw4x264 (required only for encoding)
- x264 (required only for encoding)