{ "$schema": "http://json-schema.org/draft-04/schema#", "id": "https://mkvtoolnix.download/doc/mkvmerge-identification-output-schema-v2.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": "The file name of an additional file processed as well", "type": "string", "minLength": 1 }, "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_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": { } }, "identification_format_version": { "description": "The output format's version", "type": "integer", "minimum": 1 }, "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" } } } }