MediaInfo++ is a script add‑in for Directory Opus that extends the default multimedia columns, letting you pull in any MediaInfo value right into Opus. What really sets it apart is its intuitive UI—no more manual edits to the script. Just preview and pick exactly the data you need, then choose how it’ll appear in Opus.
Key Features:
- Full support for virtually every property exposed by MediaInfo.
- A built-in UI to manage which columns you want to add—customize the name, header, type, applicable extensions, and more.
- Designed for both casual and advanced users: the interface is simple to use but powerful enough to define custom rules and formatting.
- Real-time preview of fully customizable infotip content as you edit.
- Supports both single-value and multi-stream outputs at runtime—no need to modify the script manually.
- Easily switch data types on the fly.
- No data caching required—performance is fast enough without it.
Installation:
This script uses DOpus-Scripting-Extensions by @PolarGoose. First, you’ll need to install it from here.
Then install the script as usual. (Required v13.16.5)
v0.9.9 (preview) : MediaInfo++
Usage:
The first time you install the script, it’ll ask if you want to start configuring columns—assuming you already have the program mentioned. If not, it’ll give you the link to install it.
| Argument | Type | Value | Desc |
|---|---|---|---|
| CONFIG | /O | Shows the dialog windows for configuring columns/infotips. | |
| filepath | Accepts a filepath to populate the preview column right after start. | ||
| EXPORT | /S | Exports columns/infotips to a file. | |
| IMPORT | /O | Imports columns/infotips from a file without deleting existing ones. If no file is specified, you'll be prompted to choose one. | |
| !IMPORT | /O | Imports columns/infotips from a file, deleting existing ones. If no file is specified, you'll be prompted to choose one. |
Below is an image that briefly explains each part of the CONFIG dialog.
Checked columns will activate as soon as you close the dialog.
That’s it. You can use special values in the infotips as a summary, which you also set up in the dialog.
Notes:
- Columns marked as "Multiple" show its value for each stream in their group (if there’s more than one), using your choosed separator (default " | "), and are always treated as type "text." Otherwise, they show the first stream’s value in the group and apply the chosen type (number, size, etc.).
- Only keywords in the "General" group have an immutable "Multiple" flag, since there’s always just one.
- The script adds certain values to the "Menu" group for convenience:
ChaptersCountandChaptersList. - Custom regexes are ignored (for now) when the type is
datetime,date, ortime, since it doesn’t make sense to customize those. Their original design was for a different extraction/formatting method. You probably won’t need it, but it’s there if you do. - For extensions, you can reference filegroups using
grp:, either by their internal name or visible name (or translated). You can include any extensions you want, with the leading dot included. - Because MediaInfo has a massive number of keywords and I didn’t want to spend ages matching each to the perfect type or relevant file types, there may be some inconsistencies in default values. Since this script lets you change anything, that shouldn’t be a problem.
- The search supports Opus wildcard syntax, so you’ll need to escape certain characters where required.
Infotips
When building infotips, to get the keyword you want, select it from the list and press Ctrl+C so you can paste it from the clipboard.
Available infotips are for : General, Audio, Video, Text, Menu and Image.
The infotips have a special syntax, which basically is:
{keyword|value if not available|specific format}
Where parts 2 and 3 are optional.
The specific format expects "%1" to insert the keyword's value in the desired position.
If the keyword doesn't exist, or the text isn't inside {}, the text is passed as is.
These values support all the markup code that Opus allows.
Importing from a file
The command supports importing columns directly from a valid JSON file with the following format:
Detailed explanation
There are two sections: "columns" and "infotips".
Each entry (KEY) in both groups must have the following properties:
- "label": Cannot be empty.
- "header":
- "align": Must be
left,center, orright. - "type": Must be
string,number,size,double,duration,datetime,date, ortime. - "category": Must be
music,movie,image,script,size,std,date, orsums. - "enabled": Must be
1or0. - "exts": Cannot be empty; must include at least one
.orgrp:. Multiple values are separated by;. - "group": Must be
General,Audio,Video,Image,Text,Menu, orOther. - "keyword": Cannot be empty (except for infotips).
- "multi": Must be
trueorfalse. - "regex": The regex used for custom formatting.
- "regex1": The regex flags.
- "regex2": The replacement value for the regex.
- "value": Only for infotips. Cannot be empty.
Additionally:
- KEY must follow the internal format for columns (
group_keyword) or infotips (group_infotip).
E.g.
{
"columns": {
"Audio_Default": {
"label": "Audio Default",
"header": "Default",
"align": "left",
"type": "string",
"category": "script",
"enabled": 1,
"exts": "grp:Video",
"group": "Audio",
"keyword": "Default",
"multi": true,
"regex": "",
"regex1": "",
"regex2": ""
}
}
"infotips": {
"General_infotip": {
"label": "General_infotip",
"header": "General_infotip",
"align": "left",
"type": "string",
"category": "script",
"enabled": 1,
"exts": "grp:Music; grp:Movies; grp:Images",
"group": "General",
"keyword": "",
"multi": true,
"regex": "",
"regex1": "",
"regex2": "",
"value": "{FileSize_String||Size: %1},{OverallBitRate_String|| Bitrate: %1}{Duration_String||, Duration: %1} {File_Created_Date||Created: %1} {Encoded_Date||Encoded: %1} {Released_Date||Released: %1}"
}
}
}
Thanks to:
MediaInfo.
@PolarGoose, for the awesome plugin that makes this project possible.
Opus devs, for an amazing program that goes beyond a file manager.
This is a work in progress. Please report any errors, suggestions, or feedback below or via direct message. Thanks!
Planned:
New(done in v0.9.3)IMPORTandEXPORTarguments to modify registered columns without a UI, using a file instead.A working reset button for columns, so you can revert to each field’s default value (still planning how to do this).(done in v0.9.2)Make the UI preview apply data‑type changes.(done in v0.9.9)- A more robust search (by column, etc.). Currently, it only searches by keyword + label.
- You tell me…
Changelog
v0.9.9 (01/07/2025) :
- When you run
CONFIGand the list is empty, you'll be prompted to pick a file. Hopefully this clears up confusion about how to add new values that some users had. CONFIGnow accepts a file path as an argument. SoMediaInfo++ CONFIG c:\path\to\file.mp4will open the dialog with the preview already loaded.- After opening a file for preview in the dialog, every keyword you see is saved in a database to populate the list on future runs. This is really useful, since you no longer have to remember which file had the entry you wanted—you just need to have previewed it at least once.
- The preview now converts values to the specified type, just like they'd appear in the column.
- Thanks to @PolarGoose and the latest MediaInfoRetriever plugin, localization (unit fields and certain translated values) is supported. The language used will match the one Opus is running in.
- Files marked "offline" are ignored when fetching data, to avoid unintentionally downloading them.
- Improved how new file-type groups are added to avoid issues when using Opus in multiple languages.
- The "star" type is now properly recognized in column types.
- Fixed a possible error that could occur in saved data when switching languages in some cases.
- Other minor tweaks.
v0.9.3 (27/06/2025) :
- When you run
CONFIG, if there aren't any saved columns yet, you'll be prompted to pick a file for preview and to populate the list. - Improved how controls get enabled and disabled in CONFIG.
- Added new arguments:
EXPORT: Export columns to a file.IMPORT: Import columns from a file without deleting existing ones (accepts a filepath).!IMPORT: Import columns from a file and remove existing ones (accepts a filepath).
Note:IMPORTneeds a JSON file in a specific format (explained in the first post), or it won't run.
v0.9.2 (26/06/2025) :
- Extra Mediainfo keywords can be added now too.
- You can now change the category for an specific column.
- Other fixes.
v0.9 (18/06/2025) :
- Initial release (preview)









