Development indefinitely suspended as Fibi no longer subbing.
HMux is Hiryuu’s creation for lazy muxing. It allows you to do several things in one fell swoop that you’d otherwise have to do in different applications.
However, although it has been adapted for public use, and has several shiny new options as a result, it is still developed at the core for the laziness of Hiryuu. Therefore, it may not suit your needs as it does ours. For now, this page isn’t overly in-depth, but the screenshots and descriptions should give enough inf if you’re struggling to understand any options/features.
At its core, this is a GUI for mkvmerge.
Drag & drop files.
Separate fields for each type of input, to help the forgetful.
Inbuilt CRC32 checker.
Auto-naming. Uses Mediainfo (included.)
Patch creation. Uses xdelta (included.)
qpfile -> chapter conversion.
Torrent creation. Uses mktorrent (included.)
Checks your ass for open brackets.
The included third-party files can also be updated individually if needed, just download and overwrite the current files.
Shouldn’t be used for multiple audio or video streams. Although it will mux them, it may name them incorrectly.
Languages are limited, I only added a few.
Progress bar isn’t very accurate.
Poor error prevention, if you try to do something illegal, it may crash.
Please report any further bugs, issues or typos (this wasn’t QC’d!) to Firebird.
Built for windows. Only tested in 7.
MKVToolNix must be installed.
Make the progress bar more accurate.
Port the more advanced Aegisub font collector over. – Low on the list of priorities as the current one does what it needs to do.
Chapter creator that automatically adds to current mux.
Better error handling, including filtering for illegal characters in filenames.
Chapter profiles. Setup chapter names once per profile, rather then renaming every qpfile or \ch in the ass.
Auto-layer dialogue 10.
1.1.5 Fixed bugs with bracket checker and generally improved upon. Also checked for double spaces now.
HMux erases it’s memory of errors after each mux.
Large ass files should no longer show HMux as none-responsive.
When looking through an ass file, any lines with drawings (p1, p2 or p4) are skipped.
Fixed bug where smaller muxes would mean mediainfo couldn’t finish checking before it moved on.
Aegisub addon improved.
Minor changes to font collector, chapter parser and auto-naming.
Will no longer crash if no audio is detected in the premux.
Open dir button also highlights the end result.
qpfiles can now be added as chapters.
1.1.4 Fixed bug from 1.1.3 that meant auto naming feature screwed the mux up.
Fixed chapter parser.
1.1.3 Spaces now allowed in video and audio track names.
Windows ‘@’ fonts should now work correctly.
Using the auto name feature when vid/aud aren’t premuxed no longer causes a crash.
Header Compression Removal now enabled by default. (Will add option to enable/disable in later version)
Open bracket check. A popup is displayed, with the relevant line number if brackets aren’t closed. Line number is based on opening file as text, not in aegisub. Will rectify in future version.
You can now select a secondary group name in the options.
A new drop down on front page to select primary or secondary group tag. May also overwrite manually if using a one-off tag.
Crash prevention added if ;title; not in auto-name options or chapters don’t exist when it’s told to parse them.
1.1.2 Fixed some minro bugs.
Changed interface slightly.
Added torrent creation.
Updated Aegisub addon.
Window closing no focuses back on first window.
Escape can be used to close a window.
A couple of pointless messages removed from the results window.
Some grammatical fixes.
1.1.1 Fixed bug that meant chapter parser didn’t really work.
Fixed bug with patch creation, somewhere along the lines I’d deleted a couple of spaces I shouldn’t have!
Updated Mediainfo cli.
1.1.0 Fixed bug with font buffer.
Fixed bug where font collector would collect every single font on the system if it couldn’t find certain fonts.
Font collector now has an additional search routine.
Chapter parser added.
Aegisub addon added.
Can now select a specific location for mkvmerge.exe if you’re having issues.
1.0.9 Added font collector, this will automatically parse the .ass file to find the required fonts. It will not collect fonts from styles that aren’t being used.
Fixed bug with auto name.
Played around with the UI.
Patch location can be changed to a specific location, if you don’t want them going to the output directory.
Patch name is now the same as the output name, only with .patch.
If auto-name is selected, patch name can be customised in the options.
1.0.8 Clicking the output field no longer brings up the open file dialogue.
Output directory defaults to that of the video source if only a filename is specified.
‘Name it for me’ brings in a new level of laziness, by changing the default format settings, you can create a custom filename mask that means you only need put as little as an episode number in the output field.
BD checkbox & underscore checkbox part of naming, see relevant section in readme, or check website.
Added more defaults given the naming feature.
Added default output location, this is overwritten if you specify one in the output field.
The tool will look for the output directory in this order Output field > Default location > Video field
1.0.7 Fixed bug with subs track names.
1.0.6 Fixed checkbox bug.
Added more languages to default options.
1.0.5 Clicking input fields now opens the relevant dialogue.
Added ability to change defaults.
1.0.4 First public release
Clicking any of the inputs will bring up the open file dialogue.
For any input, you can drag and drop the file into the relevant text field.
For chapter input, you can also drag in a qpfile for automatic conversion. May not be accurate on videos with VFR. To include chapter name, qpfile should include #ChapterName. eg: 31526 I -1 #Ending
Output must be entered manually, or by pressing browse.
Click options to change the defaults.
Click Mux to mux.
Click ASS or ASS2 to check the relevant subs for open brackets and double spaces.
Click clear to clear all info.
Click trackers to edit the default torrent trackers. One tracker per line.
Premuxed: If video and audio are already muxed, it will get audio from video. Disables audio input.
CRC32: After the mux is complete, it will automatically check the CRC32 and add it to the filename.
Patch: Creates an xdelta3 diff file that can be applied to the input video to generate the final outcome. (Useful if you release on a server, but do the work on another machine.)
Fonts: Collects fonts from the scripts. Disables fonts input.
Chapters: This will generate chapters for you if you put them directly in the script. Chapter creation is basic, creating an xml file wit start time only. This should suffice for most needs. Chapters are created in Aegisub, time/find a line with the start time of the chapter and add \ch\chaptername to it, replacing chaptername with whatever you like. Chapters will appear in the same order they are presented in Aegisub. This is aimed at lazy timers.
Torrent: Create torrent after mux.
Name it: Auto-names the file for you, based on info taken from video and audio file (more info below.)
BD: For the naming feature, this tells the app that the source is a Blu-ray.
Group: When using auto name, select a group from your defaults, or type over a one-off use.
The corresponding checkboxes on the mux window will always mirror these options on startup. Settings are saved to the registry.
Check ASS will mean any ass script added will automatically be checked for double spaces and open brackets, negating the need to press ASS or ASS2 in the main window.
Patch directory should be ;output; if you want patch in the same directory as the end result. If you prefer to keep them all somewhere else, change this.
Torrent directory should be ;output; if you want the torrent file in the same directory as the end result. If you prefer to keep them all somewhere else, change this.
Select an mkvmerge.exe location only if you’re having issues.
Self explanatory, type the default names and select the default languages you want for each track.
If checkbox is checked, sub tracks will always use these default names. If not, and there is only one sub track, it will have no name.
Group: Set the default group name here.
Secondary: Set a secondary group name here. Allows you to use drop down on the mux window.
Use the radio buttons to select how you want the bit depth to appear in the file name.
Check assume BD by default to have the mux just do that.
Check use underscores instead of spaces to instigate an alien invasion.
Change the format for the auto-naming to work, this is the most complex and non-lazy part of the app, but once set it allows you to be lazier than ever.
Patchname uses the same info.
The auto-naming mask replaces anything in ;; with the relevant information. The following tags can be used:
;group; Replaced with the group name – or whatever you enter in the group field.
;title; Replaced with the contents on the output field.
;BD; Replaced with BD, but only if the BD option is selected.
;bit; Replaced with the bit depth of the input video, using the format specified above.
;!10;bit; The same as ;bit; but will only show a result if there’s a bit depth of 10.
;H; Replaced with the height of the video.
;W; Replaced with the width of the video.
Resolution would be ‘;W;x;H; or ;H;p’
;audio; Replaced with the audio codec.
;!BD;audio; The same as ;audio; but will only show a result if the BD option is selected.
;CRC32; Replaced with the CRC32 of the file.
Enter default trackers in the tracker box; separate each one with a linebreak.
Aegisub addon will create a lua script for use with the automations module of Aegisub. It should be saved in to \Aegisub\automation\autoload. You should then re-scan said directory within Aegisub. Script must be saved for this to work effectively. Thanks to innocenat for helping tweaking the lua script.
The results window shows the progress of the current job, or the results of it, including any errors.
Open Dir opens the directory where the muxed file is.
OK returns you to the mux window.
I’ll get a more detailed explanation of the functions and features at a later date.