Repository navigation
Metadata Reference
Lookup tables for Metadata presets and Manual edit: fields and tokens, operators, track comparisons, operations, managed tags, expression syntax, execution modes and the preset JSON schema.
Each field has a token, written in square brackets in values and conditions: audio_title is [audio_title].
| Column | Values |
|---|---|
| Shown | Always: in the field lists of the editor. Advanced: in the lists once Advanced fields is on. Token only: usable as a token in values and conditions written by hand. |
| Edit | Yes: editable with Set field. Advanced: editable once Advanced fields is on. Yes (remux): editable, and the change remuxes the file. Preset JSON only: editable in a preset file written by hand. Read only: readable in conditions and tokens. Blocked: identifiers kept as they are, readable as tokens. clearable: Clear field can empty it. |
Track rules read the file and container fields too, so an audio rule can test file_name or container_title.
| Type | Values |
|---|---|
| Text | Any text. |
| Language | ISO 639-2 code such as ita, jpn, und. Two-letter codes are converted, so it is written as ita. |
| Flag |
1 or 0. yes, true and on are read as 1. |
| Integer | Whole number. |
| Decimal | Number with . as the decimal separator. |
| Byte size | Size in bytes. Conditions accept a unit: KB, MB, GB (1000) or KiB, MiB, GiB (1024). |
| Duration | Duration in milliseconds. Conditions accept ms, s, min or h. |
| Date | Date and time. |
| (list) | One of the values the field offers in its list. |
A unit after the type, such as px or bps, is the unit of the stored value.
| Token | Label | Type | Shown | Edit |
|---|---|---|---|---|
file_name |
File name | Text | Always | Read only |
file_stem |
File name without extension | Text | Always | Read only |
file_extension |
File extension | Text | Token only | Read only |
file_path |
File path | Text | Token only | Read only |
file_folder |
File folder | Text | Token only | Read only |
file_relative_folder |
Relative folder | Text | Token only | Read only |
file_size |
File size | Byte size | Always | Read only |
| Token | Label | Type | Shown | Edit |
|---|---|---|---|---|
general_format |
Container format | Text | Advanced | Read only |
general_format_version |
Container format version | Text | Advanced | Read only |
general_duration |
Container duration | Duration | Always | Read only |
general_overall_bitrate |
Overall bitrate | Integer, bps | Advanced | Read only |
general_frame_rate |
Container frame rate | Decimal, fps | Advanced | Read only |
general_frame_count |
Container frame count | Integer | Advanced | Read only |
container_movie |
Container movie | Text | Advanced | Read only |
container_collection |
Container collection | Text | Advanced | Read only |
container_season |
Container season | Text | Advanced | Read only |
container_part |
Container part | Text | Advanced | Read only |
tagged_application |
Tagged application | Text | Token only | Read only |
encoded_date |
Encoded date | Date | Advanced | Read only |
tagged_date |
Tagged date | Date | Advanced | Read only |
attachment_count |
Attachment count | Integer | Always | Read only |
attachment_names |
Attachment names | Text | Always | Read only |
container_title |
Container title | Text | Always | Yes, clearable |
container_date |
Container date | Date | Advanced | Yes, clearable |
segment_filename |
Segment filename | Text | Advanced | Advanced, clearable |
prev_filename |
Previous segment filename | Text | Token only | Preset JSON only, clearable |
next_filename |
Next segment filename | Text | Token only | Preset JSON only, clearable |
muxing_application |
Muxing application | Text | Advanced | Advanced, clearable |
writing_application |
Writing application | Text | Advanced | Advanced, clearable |
segment_uid |
Segment UID | Text | Token only | Blocked |
prev_uid |
Previous segment UID | Text | Token only | Blocked |
next_uid |
Next segment UID | Text | Token only | Blocked |
| Token | Label | Type | Shown | Edit |
|---|---|---|---|---|
video_title |
Video title | Text | Always | Yes, clearable |
video_language |
Video language | Language | Always | Yes |
video_default |
Video default flag | Flag | Always | Yes |
video_forced |
Video forced flag | Flag | Always | Yes |
video_enabled |
Video enabled flag | Flag | Advanced | Yes |
video_original |
Video original flag | Flag | Advanced | Yes |
video_codec_name |
Video codec name | Text | Advanced | Advanced, clearable |
video_alpha_mode |
Video alpha mode | Flag (list) | Advanced | Advanced |
video_pixel_width |
Pixel width | Integer, px | Advanced | Advanced |
video_pixel_height |
Pixel height | Integer, px | Advanced | Advanced |
video_display_width |
Display width | Integer, px | Advanced | Advanced |
video_display_height |
Display height | Integer, px | Advanced | Advanced |
video_display_unit |
Display unit | Integer (list) | Advanced | Advanced |
video_crop_left |
Left crop | Integer, px | Advanced | Advanced |
video_crop_top |
Top crop | Integer, px | Advanced | Advanced |
video_crop_right |
Right crop | Integer, px | Advanced | Advanced |
video_crop_bottom |
Bottom crop | Integer, px | Advanced | Advanced |
video_interlaced |
Interlaced | Integer (list) | Advanced | Advanced |
video_aspect_ratio_type |
Aspect ratio type | Integer (list) | Advanced | Advanced |
video_field_order |
Field order | Integer (list) | Advanced | Advanced |
video_stereo_mode |
Stereo mode | Integer (list) | Advanced | Advanced |
video_matrix_coefficients |
Matrix coefficients | Integer (list) | Advanced | Advanced |
video_color_bits_per_channel |
Color bits per channel | Integer, bit | Advanced | Advanced |
video_chroma_subsample_horizontal |
Chroma horizontal subsample | Integer | Advanced | Advanced |
video_chroma_subsample_vertical |
Chroma vertical subsample | Integer | Advanced | Advanced |
video_cb_subsample_horizontal |
Cb horizontal subsample | Integer | Advanced | Advanced |
video_cb_subsample_vertical |
Cb vertical subsample | Integer | Advanced | Advanced |
video_chroma_siting_horizontal |
Chroma horizontal siting | Integer (list) | Advanced | Advanced |
video_chroma_siting_vertical |
Chroma vertical siting | Integer (list) | Advanced | Advanced |
video_color_range |
Color range | Integer (list) | Advanced | Advanced |
video_transfer_characteristics |
Transfer characteristics | Integer (list) | Advanced | Advanced |
video_color_primaries |
Color primaries | Integer (list) | Advanced | Advanced |
video_max_content_light |
Max content light | Integer, cd/m² | Advanced | Advanced |
video_max_frame_light |
Max frame light | Integer, cd/m² | Advanced | Advanced |
video_chromaticity_red_x |
Red chromaticity X | Decimal | Advanced | Advanced |
video_chromaticity_red_y |
Red chromaticity Y | Decimal | Advanced | Advanced |
video_chromaticity_green_x |
Green chromaticity X | Decimal | Advanced | Advanced |
video_chromaticity_green_y |
Green chromaticity Y | Decimal | Advanced | Advanced |
video_chromaticity_blue_x |
Blue chromaticity X | Decimal | Advanced | Advanced |
video_chromaticity_blue_y |
Blue chromaticity Y | Decimal | Advanced | Advanced |
video_white_point_x |
White point X | Decimal | Advanced | Advanced |
video_white_point_y |
White point Y | Decimal | Advanced | Advanced |
video_max_luminance |
Max luminance | Decimal, cd/m² | Advanced | Advanced |
video_min_luminance |
Min luminance | Decimal, cd/m² | Advanced | Advanced |
video_projection_type |
Projection type | Integer (list) | Advanced | Advanced |
video_projection_pose_yaw |
Projection yaw | Decimal, deg | Advanced | Advanced |
video_projection_pose_pitch |
Projection pitch | Decimal, deg | Advanced | Advanced |
video_projection_pose_roll |
Projection roll | Decimal, deg | Advanced | Advanced |
video_projection_private |
Projection private | Text | Token only | Blocked |
video_number |
Video track number | Integer | Token only | Blocked |
video_uid |
Video track UID | Text | Token only | Blocked |
video_codec_id |
Video codec ID | Text | Token only | Blocked |
video_type |
Video type | Text | Token only | Read only |
video_stream_order |
Video stream order | Integer | Token only | Read only |
video_index |
Video index | Integer | Always | Yes (remux) |
video_selector |
Video selector | Text | Token only | Read only |
video_id |
Video ID | Integer | Token only | Read only |
video_unique_id |
Read video UID | Text | Token only | Read only |
video_format |
Video format | Text | Always | Read only |
video_profile |
Video profile | Text | Advanced | Read only |
video_level |
Video level | Text | Advanced | Read only |
video_tier |
Video tier | Text | Advanced | Read only |
video_hdr_format |
HDR format | Text | Advanced | Read only |
video_hdr_profile |
HDR profile | Text | Advanced | Read only |
video_hdr_level |
HDR level | Text | Advanced | Read only |
video_hdr_settings |
HDR settings | Text | Advanced | Read only |
video_hdr_compatibility |
HDR compatibility | Text | Advanced | Read only |
video_width |
Video width | Integer, px | Always | Read only |
video_height |
Video height | Integer, px | Always | Read only |
video_stored_width |
Stored width | Integer, px | Advanced | Read only |
video_stored_height |
Stored height | Integer, px | Advanced | Read only |
video_sampled_width |
Sampled width | Integer, px | Advanced | Read only |
video_sampled_height |
Sampled height | Integer, px | Advanced | Read only |
video_dar |
Display aspect ratio | Text | Always | Read only |
video_par |
Pixel aspect ratio | Text | Advanced | Read only |
video_active_width |
Active width | Integer, px | Advanced | Read only |
video_active_height |
Active height | Integer, px | Advanced | Read only |
video_active_dar |
Active DAR | Text | Advanced | Read only |
video_rotation |
Video rotation | Decimal | Advanced | Read only |
video_frame_rate_mode |
Video frame rate mode | Text | Advanced | Read only |
video_fps |
Frame rate | Decimal, fps | Always | Read only |
video_fps_min |
Minimum frame rate | Decimal, fps | Advanced | Read only |
video_fps_nominal |
Nominal frame rate | Decimal, fps | Advanced | Read only |
video_fps_max |
Maximum frame rate | Decimal, fps | Advanced | Read only |
video_fps_original |
Original frame rate | Decimal, fps | Advanced | Read only |
video_color_space |
Color space | Text | Advanced | Read only |
video_bitdepth |
Video bit depth | Integer, bit | Always | Read only |
video_duration |
Video duration | Duration | Always | Read only |
video_bitrate |
Video bitrate | Integer, bps | Advanced | Read only |
video_bitrate_mode |
Video bitrate mode | Text | Advanced | Read only |
video_stream_size |
Video size | Byte size | Always | Read only |
video_frame_count |
Video frames | Integer | Advanced | Read only |
video_chroma_subsampling |
Chroma subsampling | Text | Advanced | Read only |
video_chroma_position |
Chroma position | Text | Advanced | Read only |
video_scan_type |
Scan type | Text | Advanced | Read only |
video_scan_order |
Scan order | Text | Advanced | Read only |
video_compression_mode |
Video compression | Text | Advanced | Read only |
video_bits_per_pixel_frame |
Bits per pixel/frame | Decimal | Advanced | Read only |
video_mastering_display_primaries |
Mastering display primaries | Text | Advanced | Read only |
video_mastering_display_luminance |
Mastering display luminance | Text | Advanced | Read only |
| Token | Label | Type | Shown | Edit |
|---|---|---|---|---|
audio_title |
Audio title | Text | Always | Yes, clearable |
audio_language |
Audio language | Language | Always | Yes |
audio_default |
Audio default flag | Flag | Always | Yes |
audio_forced |
Audio forced flag | Flag | Always | Yes |
audio_enabled |
Audio enabled flag | Flag | Advanced | Yes |
audio_commentary |
Audio commentary flag | Flag | Advanced | Yes |
audio_hearing_impaired |
Audio hearing impaired flag | Flag | Advanced | Yes |
audio_visual_impaired |
Audio visual impaired flag | Flag | Advanced | Yes |
audio_original |
Audio original flag | Flag | Advanced | Yes |
audio_codec_name |
Audio codec name | Text | Advanced | Advanced, clearable |
audio_sampling_rate |
Audio sample rate | Decimal, Hz | Always | Advanced |
audio_output_sampling_rate |
Audio output sample rate | Decimal, Hz | Advanced | Advanced |
audio_channels |
Audio channels | Integer | Always | Advanced |
audio_bitdepth |
Read bit depth | Integer, bit | Always | Advanced |
audio_emphasis |
Audio emphasis | Integer | Advanced | Advanced |
audio_number |
Audio track number | Integer | Token only | Blocked |
audio_uid |
Audio track UID | Text | Token only | Blocked |
audio_codec_id |
Audio codec ID | Text | Token only | Blocked |
audio_type |
Audio type | Text | Token only | Read only |
audio_stream_order |
Audio stream order | Integer | Token only | Read only |
audio_index |
Audio index | Integer | Always | Yes (remux) |
audio_selector |
Audio selector | Text | Token only | Read only |
audio_id |
Audio ID | Integer | Token only | Read only |
audio_unique_id |
Read audio UID | Text | Token only | Read only |
audio_format |
Audio format | Text | Always | Read only |
audio_format_commercial |
Commercial audio format | Text | Advanced | Read only |
audio_profile |
Audio profile | Text | Advanced | Read only |
audio_codec_description |
Audio codec description | Text | Advanced | Read only |
audio_format_settings |
Audio format settings | Text | Advanced | Read only |
audio_channels_label |
Audio channels label | Text | Always | Read only |
audio_channel_positions |
Audio channel positions | Text | Advanced | Read only |
audio_sampling_rate_khz |
Sample rate kHz | Decimal | Always | Read only |
audio_sampling_count |
Audio sample count | Integer | Advanced | Read only |
audio_bitdepth_detected |
Detected bit depth | Integer, bit | Token only | Read only |
audio_bitdepth_stored |
Stored bit depth | Integer, bit | Token only | Read only |
audio_bitrate |
Audio bitrate | Integer, bps | Advanced | Read only |
audio_bitrate_mode |
Audio bitrate mode | Text | Advanced | Read only |
audio_compression_mode |
Audio compression | Text | Advanced | Read only |
audio_duration |
Audio duration | Duration | Always | Read only |
audio_stream_size |
Audio size | Byte size | Always | Read only |
audio_frame_count |
Audio frames | Integer | Advanced | Read only |
audio_channel_layout |
Audio channel layout | Text | Advanced | Read only |
audio_delay |
Audio delay | Duration | Advanced | Read only |
audio_video_delay |
Audio/video delay | Duration | Advanced | Read only |
audio_replaygain_gain |
ReplayGain gain | Decimal | Advanced | Read only |
audio_replaygain_peak |
ReplayGain peak | Decimal | Advanced | Read only |
audio_service_kind |
Audio service kind | Text | Advanced | Read only |
audio_quality |
Audio quality | Text | Always | Read only |
audio_quality reads lossless, lossy or unknown from the format and compression mode.
| Token | Label | Type | Shown | Edit |
|---|---|---|---|---|
subtitle_title |
Subtitle title | Text | Always | Yes, clearable |
subtitle_language |
Subtitle language | Language | Always | Yes |
subtitle_default |
Subtitle default flag | Flag | Always | Yes |
subtitle_forced |
Subtitle forced flag | Flag | Always | Yes |
subtitle_enabled |
Subtitle enabled flag | Flag | Advanced | Yes |
subtitle_hearing_impaired |
Subtitle hearing impaired flag | Flag | Advanced | Yes |
subtitle_text_descriptions |
Subtitle text descriptions flag | Flag | Advanced | Yes |
subtitle_original |
Subtitle original flag | Flag | Advanced | Yes |
subtitle_codec_name |
Subtitle codec name | Text | Advanced | Advanced, clearable |
subtitle_number |
Subtitle track number | Integer | Token only | Blocked |
subtitle_uid |
Subtitle track UID | Text | Token only | Blocked |
subtitle_codec_id |
Subtitle codec ID | Text | Token only | Blocked |
subtitle_type |
Subtitle type | Text | Token only | Read only |
subtitle_stream_order |
Subtitle stream order | Integer | Token only | Read only |
subtitle_index |
Subtitle index | Integer | Always | Yes (remux) |
subtitle_selector |
Subtitle selector | Text | Token only | Read only |
subtitle_id |
Subtitle ID | Integer | Token only | Read only |
subtitle_unique_id |
Read subtitle UID | Text | Token only | Read only |
subtitle_format |
Subtitle format | Text | Always | Read only |
subtitle_format_commercial |
Commercial subtitle format | Text | Advanced | Read only |
subtitle_codec_description |
Subtitle codec description | Text | Advanced | Read only |
subtitle_muxing_mode |
Subtitle muxing mode | Text | Advanced | Read only |
subtitle_stream_size |
Subtitle size | Byte size | Always | Read only |
subtitle_element_count |
Subtitle elements | Integer | Always | Read only |
subtitle_duration |
Subtitle duration | Duration | Always | Read only |
subtitle_duration_start |
Subtitle duration start | Duration | Advanced | Read only |
subtitle_duration_end |
Subtitle duration end | Duration | Advanced | Read only |
subtitle_bitrate |
Subtitle bitrate | Integer, bps | Advanced | Read only |
subtitle_width |
Subtitle width | Integer, px | Advanced | Read only |
subtitle_height |
Subtitle height | Integer, px | Advanced | Read only |
subtitle_dar |
Subtitle DAR | Text | Advanced | Read only |
subtitle_frame_rate_mode |
Subtitle frame rate mode | Text | Advanced | Read only |
subtitle_fps |
Subtitle frame rate | Decimal, fps | Advanced | Read only |
subtitle_frame_count |
Subtitle frames | Integer | Advanced | Read only |
subtitle_format_profile |
Subtitle profile | Text | Advanced | Read only |
subtitle_compression_mode |
Subtitle compression | Text | Advanced | Read only |
subtitle_events_total |
Subtitle events | Integer | Advanced | Read only |
subtitle_events_min_duration |
Subtitle minimum event duration | Duration | Advanced | Read only |
subtitle_lines_count |
Subtitle lines | Integer | Advanced | Read only |
| Field type | Operators |
|---|---|
| Text, language | Equals, Not equals, Contains, Does not contain, Starts with, Ends with, Regex, Not regex, In list, Not in list, Empty, Not empty |
| Flag | True, False |
| Integer, decimal, byte size, duration | Equals, Not equals, Greater than, Greater or equal, Less than, Less or equal, Between, Not between, Empty, Not empty |
- Text comparisons and regular expressions ignore upper and lower case.
- Language conditions compare ISO 639-2 codes on both sides, so
itanditaboth match an Italian track. - Between includes both ends and accepts the limits in either order.
- Track count uses Equals, Not equals, Greater than, Greater or equal, Less than, Less or equal with an integer.
| Relation | Field types | Holds when the current track's value is |
|---|---|---|
| Equals at least one | Text, language | Equal to at least one other track in the group |
| Different from all | Text, language | Different from every other track in the group |
| Largest in group | Numeric | The largest in the group |
| Smallest in group | Numeric | The smallest in the group |
| Greater than all | Numeric | Greater than every other track |
| Greater or equal to all | Numeric | Greater than or equal to every other track |
| Less than all | Numeric | Less than every other track |
| Less or equal to all | Numeric | Less than or equal to every other track |
| Rank in group | Numeric | At position N, where 1 is the largest |
The Compare list holds the fields of the track type, flags excluded: numeric fields (integer, decimal, byte size, duration) take the numeric relations, the other fields take the first two.
| Group | Members |
|---|---|
| Same language | Tracks of the type with the same language as the current track |
| Same format | Tracks of the type with the same format |
| Same language and format | Tracks of the type with the same language and format |
| All in scope | Every track of the type |
The group holds the tracks still in the file, the current track included. Track count counts the same groups.
| Operation | JSON Type
|
Scopes | Notes |
|---|---|---|---|
| Set field | SetField |
All | Value template; checked against the field type. |
| Clear field | ClearField |
All | Clearable fields. |
| Set exclusive flag | SetExclusiveFlag |
Tracks | Flag fields; ExclusiveGroup chooses the tracks that lose the flag. |
| Remove track | RemoveTrack |
Tracks | Remuxes the file. |
| Set tag | SetTagField |
All |
TagKey, TagTarget, value template. |
| Clear tag | ClearTagField |
All |
TagKey, TagTarget. |
| Clear managed tags | ClearTags |
All | Needs ClearTagsConfirmed. |
| Add/update statistics | AddOrUpdateTrackStatisticsTags |
All | Applies to the whole file. |
| Delete statistics | DeleteTrackStatisticsTags |
All | Applies to the whole file. |
| Set attachment | SetAttachment |
Container |
AttachmentSourcePath (template), optional AttachmentName and AttachmentMimeType. |
| Delete attachment | DeleteAttachment |
Container |
AttachmentName. |
| Edit chapters | EditChapters |
Written by Manual edit. |
Setting video_index, audio_index or subtitle_index moves the track among the tracks of its type and remuxes the file.
| Tag | Type | Scopes | Shown | Default level |
|---|---|---|---|---|
TITLE |
Text | Container, Video, Audio, Subtitle | Always | 50 |
SUBTITLE |
Text | Container, Video, Audio, Subtitle | Always | 50 |
DESCRIPTION |
Text | Container, Video, Audio, Subtitle | Always | 50 |
COMMENT |
Text | Container, Video, Audio, Subtitle | Always | 50 |
LANGUAGE |
Language | Container, Video, Audio, Subtitle | Advanced | 50 |
ARTIST |
Text | Container, Audio | Advanced | 50 |
SUMMARY |
Text | Container | Always | 50 |
SYNOPSIS |
Text | Container | Always | 50 |
DATE_RELEASED |
Date | Container | Always | 50 |
GENRE |
Text | Container | Always | 50 |
ORIGINAL_TITLE |
Text | Container | Always | 50 |
ACTOR |
Text | Container | Always | 50 |
TVDB |
Text | Container | Always | 70 |
PART_NUMBER |
Integer | Container | Advanced | 50 |
PART_TOTAL |
Integer | Container | Advanced | 50 |
DIRECTOR |
Text | Container | Advanced | 50 |
PRODUCER |
Text | Container | Advanced | 50 |
WRITTEN_BY |
Text | Container | Advanced | 50 |
COMPOSER |
Text | Container | Advanced | 50 |
PERFORMER |
Text | Container | Advanced | 50 |
ENCODER |
Text | Container | Advanced | 50 |
SOURCE |
Text | Container | Advanced | 50 |
ORIGINAL_MEDIA_TYPE |
Text | Container | Advanced | 50 |
ALBUM |
Text | Container | Advanced | 60 |
Every managed tag can be cleared. LANGUAGE values are normalized to ISO 639-2.
| Tag target | JSON TagTarget
|
Writes to |
|---|---|---|
| Current | Current |
The file in a Container rule, the current track in a track rule |
| File | File |
The container tags |
| Current track | CurrentTrack |
The current track |
| All tracks | AllTracks |
Every track left in the file |
| Tag level | JSON TagTargetTypeValue
|
Describes |
|---|---|---|
| Episode or movie (50) | 50 |
The episode or the movie |
| Season (60) | 60 |
The season |
| Collection or series (70) | 70 |
The series or collection |
Levels apply to container tags. Track tags are written at level 30, bound to the track.
A value template mixes literal text, tokens and expressions:
[audio_language] - {[audio_format]:ToUpper()} {[audio_sampling_rate]:Div(1000):Format(0.#)} kHz
| Form | Reads |
|---|---|
[field] |
The field's current value, after the previous rules |
[current.field] |
Same as [field]
|
[original.field] |
The value as the scan read it, before any rule |
[mi.current.Name] |
Raw MediaInfo field Name of the current track |
[mi.video.Name], [mi.audio.Name], [mi.text.Name]
|
Raw MediaInfo field of the current track, when it is of that type |
[mi.general.Name] |
Raw MediaInfo field of the file's general section |
In a track rule, a token reads the current track first and then the file. Raw MediaInfo fields arrive exactly as MediaInfo reports them and suit values the catalog leaves out. Square brackets around text that is not a token stay as literal text.
{...} holds a value followed by a chain of functions, separated by : or written as .Function(:
{[file_name]:TrimEnd(4)}
{[audio_title].Trim().ToUpper()}
- Expressions are evaluated first, then the tokens outside them.
- Arguments are separated by commas; quotes keep a comma inside an argument:
Replace(", ","-"). - Each
{...}stands on its own: write two expressions side by side to combine them. - Numeric functions leave non-numeric values as they are.
- Saving a preset checks each expression for unknown tokens, unknown functions, division by zero and empty expressions.
| Function | Input | Expression | Output | Description |
|---|---|---|---|---|
Trim() |
ITA Full |
{[audio_title]:Trim()} |
ITA Full |
Removes leading and trailing spaces. |
TrimEnd(4) |
Bleach - 001.mkv |
{[file_name]:TrimEnd(4)} |
Bleach - 001 |
Removes trailing spaces or N trailing characters. |
ToUpper() |
ita |
{[audio_language]:ToUpper()} |
ITA |
Converts the value to uppercase. |
ToLower() |
ITA |
{[audio_language]:ToLower()} |
ita |
Converts the value to lowercase. |
Replace(old,new) |
FLAC 2.0 |
{[audio_title]:Replace(FLAC,LPCM)} |
LPCM 2.0 |
Replaces literal text. |
RegexReplace(pattern,replacement) |
Audio 01 |
{[audio_title]:RegexReplace(\d+,02)} |
Audio 02 |
Replaces text using a regex. |
Substring(0,3) |
Italiano |
{[audio_title]:Substring(0,3)} |
Ita |
Extracts a segment by start index and length. |
Left(3) |
Italiano |
{[audio_title]:Left(3)} |
Ita |
Keeps the first N characters. |
Right(3) |
Italiano |
{[audio_title]:Right(3)} |
ano |
Keeps the last N characters. |
NormalizeSpaces() |
ITA Full |
{[subtitle_title]:NormalizeSpaces()} |
ITA Full |
Collapses repeated spaces and trims the value. |
Add(1000) |
24000 |
{[audio_bitrate]:Add(1000)} |
25000 |
Adds a number to the current value. |
Sub(1000) |
25000 |
{[audio_bitrate]:Sub(1000)} |
24000 |
Subtracts a number from the current value. |
Mul(2) |
24 |
{[video_frame_count]:Mul(2)} |
48 |
Multiplies the current value by a number. |
Div(1000) |
1536000 |
{[audio_bitrate]:Div(1000)} |
1536 |
Divides the current value by a number. |
Round(1) |
23.976 |
{[video_fps]:Round(1)} |
24 |
Rounds the value to the selected number of decimals. |
Floor() |
23.976 |
{[video_fps]:Floor()} |
23 |
Rounds the value down. |
Ceil() |
23.001 |
{[video_fps]:Ceil()} |
24 |
Rounds the value up. |
Format(0.#) |
48000 |
{[audio_sampling_rate]:Div(1000):Format(0.#)} kHz |
48 kHz |
Formats a number with an invariant pattern. |
TrimEnd() without a number removes trailing spaces. Round defaults to 0 decimals, rounds halves away from zero, and the output drops trailing zeros. RegexReplace matches case exactly and accepts $1, $2 in the replacement.
| Label | JSON | When | Tools |
|---|---|---|---|
| No changes | NoOp |
The preset changes nothing | None |
| In place | PropEdit |
Header changes, output Overwrite |
mkvpropedit on the original |
| Copy and edit | CopyPropEdit |
Header changes, output Output folder | Copy, then mkvpropedit
|
| Remux | MkvMerge |
A track removed or moved |
mkvmerge, then mkvpropedit
|
Tags are read with mkvextract and written by mkvpropedit, together with attachments, chapters and statistics.
{
"SchemaVersion": 4,
"Name": "Italian audio",
"Description": "",
"ShowAdvancedFields": false,
"Rules": [
{
"Description": "Default Italian audio",
"Enabled": true,
"TargetScope": "Audio",
"When": {
"All": [
{
"NodeType": "Field",
"Field": { "FieldKey": "audio_language", "Operator": "Equals", "Value": "ita" }
},
{
"NodeType": "TrackComparison",
"TrackComparison": { "FieldKey": "audio_stream_size", "Relation": "Largest", "Group": "SameLanguage" }
}
]
},
"Operations": [
{ "Type": "SetExclusiveFlag", "FieldKey": "audio_default", "ExclusiveGroup": "AllInScope" },
{ "Type": "SetField", "FieldKey": "audio_title", "Value": "Italiano - [audio_format]" }
]
}
]
}| Object | Properties |
|---|---|
| Preset |
SchemaVersion (4), Name, Description, ShowAdvancedFields, Rules
|
| Rule |
Description, Enabled, TargetScope, When.All (list of nodes), Operations
|
| Node |
NodeType plus the object of that type: Field, TrackComparison, TrackGroupCount or Alternative
|
Field |
FieldKey, Operator, Value, Values (lists), FromValue and ToValue (ranges), Unit
|
TrackComparison |
FieldKey, Relation, Group, Rank
|
TrackGroupCount |
Group, Operator, Value (integer) |
Alternative |
Any (list of Field, TrackComparison and TrackGroupCount nodes) |
| Operation |
Type, FieldKey, Value, TagKey, TagTarget, TagTargetTypeValue, ClearTagsConfirmed, ExclusiveGroup, AttachmentSourcePath, AttachmentName, AttachmentMimeType
|
| Enumeration | Values |
|---|---|
TargetScope |
Container, Video, Audio, Subtitle
|
NodeType |
Field, TrackComparison, TrackGroupCount, AlternativeAny
|
Operator |
Equals, NotEquals, Contains, NotContains, StartsWith, EndsWith, Regex, NotRegex, IsEmpty, IsNotEmpty, InList, NotInList, GreaterThan, GreaterOrEqual, LessThan, LessOrEqual, Between, NotBetween, IsTrue, IsFalse
|
Relation |
EqualsAny, NotEqualsAll, GreaterThanAll, GreaterOrEqualAll, LessThanAll, LessOrEqualAll, Largest, Smallest, Rank
|
Group, ExclusiveGroup
|
SameLanguage, SameFormat, SameLanguageAndFormat, AllInScope
|
TagTarget |
Current, File, CurrentTrack, AllTracks
|
Unit |
KB, MB, GB, KiB, MiB, GiB, ms, s, min, h
|
Enumerations are written as names and read without regard to case. Omitted properties take their defaults: Enabled true, Group and ExclusiveGroup AllInScope, TagTarget Current, TagTargetTypeValue 50. Condition fields can carry the original. or current. prefix. SchemaVersion is 4. A preset that still contains the operations RenameChapters, ClearChapters or SetTrackOrder loads without them and reports a warning: chapters are edited in Manual edit, and track order is set through the *_index fields.
- Metadata presets: the editor that writes these rules
- Metadata workspace: analysis, execution and apply
- Codec and language reference: language codes and formats