mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2024-12-25 04:11:44 +00:00
366 lines
10 KiB
JSON
366 lines
10 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
"id": "https://mkvtoolnix.download/doc/mkvmerge-identification-output-schema-v3.json",
|
|
"title": "mkvmerge identification output",
|
|
"description": "The JSON output produced by mkvmerge's file identification mode",
|
|
"type": "object",
|
|
"properties": {
|
|
"attachments": {
|
|
"description": "an array describing the attachments found if any",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"content_type": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"file_name": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"size": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"uid": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"file_name",
|
|
"id",
|
|
"properties",
|
|
"size"
|
|
]
|
|
}
|
|
},
|
|
"chapters": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"num_entries": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"num_entries"
|
|
]
|
|
}
|
|
},
|
|
"container": {
|
|
"description": "information about the identified container",
|
|
"type": "object",
|
|
"properties": {
|
|
"properties": {
|
|
"description": "additional properties for the container varying by container format",
|
|
"type": "object",
|
|
"properties": {
|
|
"container_type": {
|
|
"description": "A unique number identifying the container type that's supposed to stay constant over all future releases of MKVToolNix",
|
|
"type": "integer",
|
|
"minLength": 1
|
|
},
|
|
"duration": {
|
|
"description": "The file's/segment's duration in nanoseconds",
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"is_providing_timecodes": {
|
|
"description": "States whether or not the container has timestamps for the packets (e.g. Matroska, MP4) or not (e.g. SRT, MP3)",
|
|
"type": "boolean"
|
|
},
|
|
"segment_uid": {
|
|
"description": "A hexadecimal string of the segment's UID (only for Matroska files)",
|
|
"type": "string",
|
|
"minLength": 32,
|
|
"maxLength": 32
|
|
},
|
|
"next_segment_uid": {
|
|
"description": "A hexadecimal string of the next segment's UID (only for Matroska files)",
|
|
"type": "string",
|
|
"minLength": 32,
|
|
"maxLength": 32
|
|
},
|
|
"previous_segment_uid": {
|
|
"description": "A hexadecimal string of the previous segment's UID (only for Matroska files)",
|
|
"type": "string",
|
|
"minLength": 32,
|
|
"maxLength": 32
|
|
},
|
|
"other_file": {
|
|
"description": "An array of names of additional files processed as well",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"playlist": {
|
|
"description": "States whether or not the identified file is a playlist (e.g. MPLS) referring to several other files",
|
|
"type": "boolean"
|
|
},
|
|
"playlist_chapters": {
|
|
"description": "The number of chapters in a playlist if it is a one",
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"playlist_duration": {
|
|
"description": "The total duration in nanoseconds of all files referenced by the playlist if it is a one",
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"playlist_file": {
|
|
"description": "An array of file names the playlist contains",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"playlist_size": {
|
|
"description": "The total size in bytes of all files referenced by the playlist if it is a one",
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"recognized": {
|
|
"description": "States whether or not mkvmerge knows about the format",
|
|
"type": "boolean"
|
|
},
|
|
"supported": {
|
|
"description": "States whether or not mkvmerge can read the format",
|
|
"type": "boolean"
|
|
},
|
|
"type": {
|
|
"description": "A human-readable description/name for the container format",
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"recognized",
|
|
"supported"
|
|
]
|
|
},
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"file_name": {
|
|
"description": "the identified file's name",
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"global_tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"num_entries": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"num_entries"
|
|
]
|
|
}
|
|
},
|
|
"identification_format_version": {
|
|
"description": "The output format's version",
|
|
"type": "integer",
|
|
"minimum": 3,
|
|
"maximum": 3
|
|
},
|
|
"track_tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"num_entries": {
|
|
"type": "integer"
|
|
},
|
|
"track_id": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"num_entries",
|
|
"track_id"
|
|
]
|
|
}
|
|
},
|
|
"tracks": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"codec": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"id": {
|
|
"type": "integer",
|
|
"minLength": 0
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"properties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aac_is_sbr": {
|
|
"type": "string",
|
|
"enum": [
|
|
"true",
|
|
"false",
|
|
"unknown"
|
|
]
|
|
},
|
|
"audio_bits_per_sample": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"audio_channels": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"audio_sampling_frequency": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"codec_id": {
|
|
"type": "string"
|
|
},
|
|
"codec_private_data": {
|
|
"type": "string"
|
|
},
|
|
"codec_private_length": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"content_encoding_algorithms": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"default_duration": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"default_track": {
|
|
"type": "boolean"
|
|
},
|
|
"display_dimensions": {
|
|
"type": "string",
|
|
"pattern": "^[0-9]+x[0-9]+$"
|
|
},
|
|
"enabled_track": {
|
|
"type": "boolean"
|
|
},
|
|
"forced_track": {
|
|
"type": "boolean"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
},
|
|
"number": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"packetizer": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"pixel_dimensions": {
|
|
"type": "string",
|
|
"pattern": "^[0-9]+x[0-9]+$"
|
|
},
|
|
"stereo_mode": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"stream_id": {
|
|
"type": "string",
|
|
"pattern": "^[0-9a-f]{2}$"
|
|
},
|
|
"sub_stream_id": {
|
|
"type": "string",
|
|
"pattern": "^[0-9a-f]{2}$"
|
|
},
|
|
"tag_artist": {
|
|
"type": "string"
|
|
},
|
|
"tag_bitsps": {
|
|
"type": "string"
|
|
},
|
|
"tag_bps": {
|
|
"type": "string"
|
|
},
|
|
"tag_fps": {
|
|
"type": "string"
|
|
},
|
|
"tag_title": {
|
|
"type": "string"
|
|
},
|
|
"text_subtitles": {
|
|
"type": "boolean"
|
|
},
|
|
"track_name": {
|
|
"type": "string"
|
|
},
|
|
"ts_pid": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"uid": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"codec",
|
|
"id",
|
|
"type"
|
|
]
|
|
}
|
|
},
|
|
"warnings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|