idnits 2.17.1 draft-ietf-cellar-tags-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 17, 2018) is 2108 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Missing reference section? '1' on line 726 looks like a reference -- Missing reference section? '2' on line 728 looks like a reference -- Missing reference section? '3' on line 730 looks like a reference -- Missing reference section? '4' on line 732 looks like a reference -- Missing reference section? '5' on line 735 looks like a reference -- Missing reference section? '6' on line 737 looks like a reference -- Missing reference section? '7' on line 739 looks like a reference -- Missing reference section? '8' on line 741 looks like a reference -- Missing reference section? '9' on line 743 looks like a reference -- Missing reference section? '10' on line 745 looks like a reference -- Missing reference section? '11' on line 747 looks like a reference -- Missing reference section? '12' on line 749 looks like a reference -- Missing reference section? '13' on line 751 looks like a reference -- Missing reference section? '14' on line 753 looks like a reference -- Missing reference section? '15' on line 755 looks like a reference -- Missing reference section? '16' on line 757 looks like a reference -- Missing reference section? '17' on line 759 looks like a reference -- Missing reference section? '18' on line 761 looks like a reference -- Missing reference section? '19' on line 763 looks like a reference -- Missing reference section? '20' on line 765 looks like a reference -- Missing reference section? '21' on line 767 looks like a reference -- Missing reference section? '22' on line 769 looks like a reference -- Missing reference section? '23' on line 771 looks like a reference -- Missing reference section? '24' on line 773 looks like a reference -- Missing reference section? '25' on line 775 looks like a reference -- Missing reference section? '26' on line 777 looks like a reference -- Missing reference section? '27' on line 779 looks like a reference -- Missing reference section? '28' on line 781 looks like a reference -- Missing reference section? '29' on line 783 looks like a reference -- Missing reference section? '30' on line 785 looks like a reference -- Missing reference section? '31' on line 787 looks like a reference -- Missing reference section? '32' on line 789 looks like a reference Summary: 1 error (**), 0 flaws (~~), 1 warning (==), 33 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 cellar S. Lhomme 3 Internet-Draft 4 Intended status: Standards Track M. Bunkus 5 Expires: January 18, 2019 6 D. Rice 7 July 17, 2018 9 Matroska Tags 10 draft-ietf-cellar-tags-00 12 Abstract 14 This document defines the Matroska tags, namely the tag names and 15 their respective semantic meaning. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at https://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on January 18, 2019. 34 Copyright Notice 36 Copyright (c) 2018 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (https://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 2. Status of this document . . . . . . . . . . . . . . . . . . . 3 53 3. Security Considerations . . . . . . . . . . . . . . . . . . . 3 54 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 3 55 5. Notations and Conventions . . . . . . . . . . . . . . . . . . 3 56 6. Tagging . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 57 6.1. Why official tags matter . . . . . . . . . . . . . . . . 4 58 6.2. Tag translations . . . . . . . . . . . . . . . . . . . . 4 59 6.3. Tag Formatting . . . . . . . . . . . . . . . . . . . . . 4 60 6.4. Target types . . . . . . . . . . . . . . . . . . . . . . 5 61 6.5. Official tags . . . . . . . . . . . . . . . . . . . . . . 7 62 6.6. Nesting Information . . . . . . . . . . . . . . . . . . . 7 63 6.7. Organization Information . . . . . . . . . . . . . . . . 7 64 6.8. Titles . . . . . . . . . . . . . . . . . . . . . . . . . 8 65 6.9. Nested Information . . . . . . . . . . . . . . . . . . . 8 66 6.10. Entities . . . . . . . . . . . . . . . . . . . . . . . . 9 67 6.11. Search and Classification . . . . . . . . . . . . . . . . 11 68 6.12. Temporal Information . . . . . . . . . . . . . . . . . . 13 69 6.13. Spacial Information . . . . . . . . . . . . . . . . . . . 13 70 6.14. Personal . . . . . . . . . . . . . . . . . . . . . . . . 14 71 6.15. Technical Information . . . . . . . . . . . . . . . . . . 15 72 6.16. Identifiers . . . . . . . . . . . . . . . . . . . . . . . 17 73 6.17. Commercial . . . . . . . . . . . . . . . . . . . . . . . 17 74 6.18. Legal . . . . . . . . . . . . . . . . . . . . . . . . . . 18 75 6.19. Notes . . . . . . . . . . . . . . . . . . . . . . . . . . 18 76 7.1. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 19 77 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 79 1. Introduction 81 Matroska aims to become THE standard of multimedia container formats. 82 It can store timestamped multimedia data but also chapters and tags. 83 The "Tag Elements" add important metadata to identify and classify 84 the information found in a "Matroska Segment". It can tag a whole 85 "Segment", separate "Track Elements", individual "Chapter Elements" 86 or "Attachment Elements". 88 While the Matroska tagging framework allows anyone to create their 89 own custom tags, it's important to have a common set of values for 90 interoperability. This document intends to define a set of common 91 tag names used in Matroska. 93 2. Status of this document 95 This document is a work-in-progress specification defining the 96 Matroska file format as part of the IETF Cellar working group [1]. 97 It uses basic elements and concepts already defined in the Matroska 98 specifications defined by this workgroup. 100 3. Security Considerations 102 "Tag" values can be either strings or binary blobs. This document 103 inherits security considerations from the EBML and Matroska 104 documents. 106 4. IANA Considerations 108 To be determined. 110 5. Notations and Conventions 112 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 113 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 114 document are to be interpreted as described in RFC 2119 [2]. 116 6. Tagging 118 When a Tag is nested within another Tag, the nested Tag becomes an 119 attribute of the base tag. For instance, if you wanted to store the 120 dates that a singer used certain addresses for, that singer being the 121 lead singer for a track that included multiple bands simultaneously, 122 then your tag tree would look something like this: 124 o Targets 126 * TrackUID 128 o BAND 130 * LEADPERFORMER 132 * ADDRESS 134 + DATE 136 + DATEEND 138 * ADDRESS 140 + DATE 142 In this way, it becomes possible to store any Tag as attributes of 143 another tag. 145 Multiple items SHOULD never be stored as a list in a single 146 TagString. If there is more than one tag of a certain type to be 147 stored, then more than one SimpleTag SHOULD be used. 149 For authoring Tags outside of EBML, the following XML syntax is 150 proposed [3] used in mkvmerge [4]. Binary data SHOULD be stored 151 using BASE64 encoding if it is being stored at authoring time. 153 6.1. Why official tags matter 155 There is a debate between people who think all tags SHOULD be free 156 and those who think all tags SHOULD be strict. If you look at this 157 page you will realise we are in between. 159 Advanced-users application might let you put any tag in your file. 160 But for the rest of the applications, they usually give you a basic 161 list of tags you can use. Both have their needs. But it's usually a 162 bad idea to use custom/exotic tags because you will probably be the 163 only person to use this information even though everyone else could 164 benefit from it. So hopefully when someone wants to put information 165 in one's file, they will find an official one that fit them and 166 hopefully use it ! If it's not in the list, this person can contact 167 us any time for addition of such a missing tag. But it doesn't mean 168 it will be accepted... Matroska files are not meant the become a 169 whole database of people who made costumes for a film. A website 170 would be better for that... It's hard to define what SHOULD be in and 171 what doesn't make sense in a file. So we'll treat each request 172 carefully. 174 We also need an official list simply for developers to be able to 175 display relevant information in their own design (if they choose to 176 support a list of meta-information they SHOULD know which tag has the 177 wanted meaning so that other apps could understand the same meaning). 179 6.2. Tag translations 181 To be able to save tags from other systems to Matroska we need to 182 translate them to our system. There is a translation table on our 183 site [5]. 185 6.3. Tag Formatting 187 o The TagName SHOULD always be written in all capital letters and 188 contain no space. 190 o The fields with dates SHOULD have the following format: YYYY-MM-DD 191 hh:mm:ss.mss YYYY = Year, MM = Month, DD = Days, HH = Hours, mm = 192 Minutes, ss = Seconds, mss = Milliseconds. To store less 193 accuracy, you remove items starting from the right. To store only 194 the year, you would use, "2004". To store a specific day such as 195 May 1st, 2003, you would use "2003-05-01". 197 o Fields that require a Float SHOULD use the "." mark instead of the 198 "," mark. To display it differently for another local, 199 applications SHOULD support auto replacement on display. Also, a 200 thousandths separator SHOULD NOT be used. 202 o For currency amounts, there SHOULD only be a numeric value in the 203 Tag. Only numbers, no letters or symbols other than ".". For 204 instance, you would store "15.59" instead of "$15.59USD". 206 6.4. Target types 208 The TargetType element allows tagging of different parts that are 209 inside or outside a given file. For example in an audio file with 210 one song you could have information about the album it comes from and 211 even the CD set even if it's not found in the file. 213 For application to know what kind of information (like TITLE) relates 214 to a certain level (CD title or track title), we also need a set of 215 official TargetType names. For now audio and video will have 216 different values & names. That also means the same tag name can have 217 different meanings depending on where it is (otherwise we would end 218 up with 15 TITLE_ tags). 220 +-----------------+------------+------------+-----------------------+ 221 | TargetTypeValue | Audio | Video | Comment | 222 | | strings | strings | | 223 +-----------------+------------+------------+-----------------------+ 224 | 70 | COLLECTION | COLLECTION | the high hierarchy | 225 | | | | consisting of many | 226 | | | | different lower items | 227 | 60 | EDITION / | SEASON / | a list of lower | 228 | | ISSUE / | SEQUEL / | levels grouped | 229 | | VOLUME / | VOLUME | together | 230 | | OPUS | | | 231 | 50 | ALBUM / | MOVIE / | the most common | 232 | | OPERA / | EPISODE / | grouping level of | 233 | | CONCERT | CONCERT | music and video | 234 | | | | (equals to an episode | 235 | | | | for TV series) | 236 | 40 | PART / | PART / | when an album or | 237 | | SESSION | SESSION | episode has different | 238 | | | | logical parts | 239 | 30 | TRACK / | CHAPTER | the common parts of | 240 | | SONG | | an album or a movie | 241 | 20 | SUBTRACK / | SCENE | corresponds to parts | 242 | | PART / | | of a track for audio | 243 | | MOVEMENT | | (like a movement) | 244 | 10 | - | SHOT | the lowest hierarchy | 245 | | | | found in music or | 246 | | | | movies | 247 +-----------------+------------+------------+-----------------------+ 249 An upper level value tag applies to the lower level. That means if a 250 CD has the same artist for all tracks, you just need to set the 251 ARTIST tag at level 50 (ALBUM) and not to each TRACK (but you can). 252 That also means that if some parts of the CD have no known ARTIST the 253 value MUST be set to nothing (a void string ""). 255 When a level doesn't exist it MUST NOT be specified in the files, so 256 that the TOTAL_PARTS and PART_NUMBER elements match the same levels. 258 Here is an example of how these "organizational" tags work: If you 259 set 10 TOTAL_PARTS to the ALBUM level (40) it means the album 260 contains 10 lower parts. The lower part in question is the first 261 lower level that is specified in the file. So if it's TRACK (30) 262 then that means it contains 10 tracks. If it's MOVEMENT (20) that 263 means it's 10 movements, etc. 265 6.5. Official tags 267 The following is a complete list of the supported Matroska Tags. 268 While it is possible to use Tag names that are not listed below, this 269 is not recommended as compatibility will be compromised. If you find 270 that there is a Tag missing that you would like to use, then please 271 contact the Matroska team for its inclusion in the specifications 272 before the format reaches 1.0. 274 6.6. Nesting Information 276 Nesting Information tags are intended to contain other tags. 278 +----------+-------+------------------------------------------------+ 279 | Tag Name | Type | Description | 280 +----------+-------+------------------------------------------------+ 281 | ORIGINAL | - | A special tag that is meant to have other tags | 282 | | | inside (using nested tags) to describe the | 283 | | | original work of art that this item is based | 284 | | | on. All tags in this list can be used "under" | 285 | | | the ORIGINAL tag like LYRICIST, PERFORMER, | 286 | | | etc. | 287 | SAMPLE | - | A tag that contains other tags to describe a | 288 | | | sample used in the targeted item taken from | 289 | | | another work of art. All tags in this list can | 290 | | | be used "under" the SAMPLE tag like TITLE, | 291 | | | ARTIST, DATE_RELEASED, etc. | 292 | COUNTRY | UTF-8 | The name of the country (biblio ISO-639-2 [6]) | 293 | | | that is meant to have other tags inside (using | 294 | | | nested tags) to country specific information | 295 | | | about the item. All tags in this list can be | 296 | | | used "under" the COUNTRY_SPECIFIC tag like | 297 | | | LABEL, PUBLISH_RATING, etc. | 298 +----------+-------+------------------------------------------------+ 300 6.7. Organization Information 301 +-------------+-------+---------------------------------------------+ 302 | Tag Name | Type | Description | 303 +-------------+-------+---------------------------------------------+ 304 | TOTAL_PARTS | UTF-8 | Total number of parts defined at the first | 305 | | | lower level. (e.g. if TargetType is ALBUM, | 306 | | | the total number of tracks of an audio CD) | 307 | PART_NUMBER | UTF-8 | Number of the current part of the current | 308 | | | level. (e.g. if TargetType is TRACK, the | 309 | | | track number of an audio CD) | 310 | PART_OFFSET | UTF-8 | A number to add to PART_NUMBER when the | 311 | | | parts at that level don't start at 1. (e.g. | 312 | | | if TargetType is TRACK, the track number of | 313 | | | the second audio CD) | 314 +-------------+-------+---------------------------------------------+ 316 6.8. Titles 318 +----------+-------+------------------------------------------------+ 319 | Tag Name | Type | Description | 320 +----------+-------+------------------------------------------------+ 321 | TITLE | UTF-8 | The title of this item. For example, for music | 322 | | | you might label this "Canon in D", or for | 323 | | | video's audio track you might use "English | 324 | | | 5.1" This is akin to the TIT2 tag in ID3. | 325 | SUBTITLE | UTF-8 | Sub Title of the entity. | 326 +----------+-------+------------------------------------------------+ 328 6.9. Nested Information 330 Nested Information includes tags contained in other tags. 332 +-------------+-------+---------------------------------------------+ 333 | Tag Name | Type | Description | 334 +-------------+-------+---------------------------------------------+ 335 | URL | UTF-8 | URL corresponding to the tag it's included | 336 | | | in. | 337 | SORT_WITH | UTF-8 | A child element to indicate what | 338 | | | alternative value the parent tag can have | 339 | | | to be sorted, for example "Pet Shop Boys" | 340 | | | instead of "The Pet Shop Boys". Or "Marley | 341 | | | Bob" and "Marley Ziggy" (no comma needed). | 342 | INSTRUMENTS | UTF-8 | The instruments that are being used/played, | 343 | | | separated by a comma. It SHOULD be a child | 344 | | | of the following tags: ARTIST, | 345 | | | LEAD_PERFORMER or ACCOMPANIMENT. | 346 | EMAIL | UTF-8 | Email corresponding to the tag it's | 347 | | | included in. | 348 | ADDRESS | UTF-8 | The physical address of the entity. The | 349 | | | address SHOULD include a country code. It | 350 | | | can be useful for a recording label. | 351 | FAX | UTF-8 | The fax number corresponding to the tag | 352 | | | it's included in. It can be useful for a | 353 | | | recording label. | 354 | PHONE | UTF-8 | The phone number corresponding to the tag | 355 | | | it's included in. It can be useful for a | 356 | | | recording label. | 357 +-------------+-------+---------------------------------------------+ 359 6.10. Entities 361 +----------------------+-------+------------------------------------+ 362 | Tag Name | Type | Description | 363 +----------------------+-------+------------------------------------+ 364 | ARTIST | UTF-8 | A person or band/collective | 365 | | | generally considered responsible | 366 | | | for the work. This is akin to the | 367 | | | TPE1 tag in ID3 [7]. | 368 | LEAD_PERFORMER | UTF-8 | Lead Performer/Soloist(s). This | 369 | | | can sometimes be the same as | 370 | | | ARTIST. | 371 | ACCOMPANIMENT | UTF-8 | Band/orchestra/accompaniment/music | 372 | | | ian. This is akin to the TPE2 tag | 373 | | | in ID3 [8]. | 374 | COMPOSER | UTF-8 | The name of the composer of this | 375 | | | item. This is akin to the TCOM tag | 376 | | | in ID3 [9]. | 377 | ARRANGER | UTF-8 | The person who arranged the piece, | 378 | | | e.g., Ravel. | 379 | LYRICS | UTF-8 | The lyrics corresponding to a song | 380 | | | (in case audio synchronization is | 381 | | | not known or as a doublon to a | 382 | | | subtitle track). Editing this | 383 | | | value when subtitles are found | 384 | | | SHOULD also result in editing the | 385 | | | subtitle track for more | 386 | | | consistency. | 387 | LYRICIST | UTF-8 | The person who wrote the lyrics | 388 | | | for a musical item. This is akin | 389 | | | to the TEXT [10] tag in ID3. | 390 | CONDUCTOR | UTF-8 | Conductor/performer refinement. | 391 | | | This is akin to the TPE3 [11]. | 392 | DIRECTOR | UTF-8 | This is akin to the IART tag in | 393 | | | RIFF [12]. | 394 | ASSISTANT_DIRECTOR | UTF-8 | The name of the assistant | 395 | | | director. | 396 | DIRECTOR_OF_PHOTOGRA | UTF-8 | The name of the director of | 397 | PHY | | photography, also known as | 398 | | | cinematographer. This is akin to | 399 | | | the ICNM tag in Extended RIFF. | 400 | SOUND_ENGINEER | UTF-8 | The name of the sound engineer or | 401 | | | sound recordist. | 402 | ART_DIRECTOR | UTF-8 | The person who oversees the | 403 | | | artists and craftspeople who build | 404 | | | the sets. | 405 | PRODUCTION_DESIGNER | UTF-8 | Artist responsible for designing | 406 | | | the overall visual appearance of a | 407 | | | movie. | 408 | CHOREGRAPHER | UTF-8 | The name of the choregrapher | 409 | COSTUME_DESIGNER | UTF-8 | The name of the costume designer | 410 | ACTOR | UTF-8 | An actor or actress playing a role | 411 | | | in this movie. This is the | 412 | | | person's real name, not the | 413 | | | character's name the person is | 414 | | | playing. | 415 | CHARACTER | UTF-8 | The name of the character an actor | 416 | | | or actress plays in this movie. | 417 | | | This SHOULD be a sub-tag of an | 418 | | | "ACTOR" tag in order not to cause | 419 | | | ambiguities. | 420 | WRITTEN_BY | UTF-8 | The author of the story or script | 421 | | | (used for movies and TV shows). | 422 | SCREENPLAY_BY | UTF-8 | The author of the screenplay or | 423 | | | scenario (used for movies and TV | 424 | | | shows). | 425 | EDITED_BY | UTF-8 | This is akin to the IEDT tag in | 426 | | | Extended RIFF. | 427 | PRODUCER | UTF-8 | Produced by. This is akin to the | 428 | | | IPRO tag in Extended RIFF. | 429 | COPRODUCER | UTF-8 | The name of a co-producer. | 430 | EXECUTIVE_PRODUCER | UTF-8 | The name of an executive producer. | 431 | DISTRIBUTED_BY | UTF-8 | This is akin to the IDST tag in | 432 | | | Extended RIFF. | 433 | MASTERED_BY | UTF-8 | The engineer who mastered the | 434 | | | content for a physical medium or | 435 | | | for digital distribution. | 436 | ENCODED_BY | UTF-8 | This is akin to the TENC tag [13] | 437 | | | in ID3. | 438 | MIXED_BY | UTF-8 | DJ mix by the artist specified | 439 | REMIXED_BY | UTF-8 | Interpreted, remixed, or otherwise | 440 | | | modified by. This is akin to the | 441 | | | TPE4 tag in ID3 [14]. | 442 | PRODUCTION_STUDIO | UTF-8 | This is akin to the ISTD tag in | 443 | | | Extended RIFF. | 444 | THANKS_TO | UTF-8 | A very general tag for everyone | 445 | | | else that wants to be listed. | 446 | PUBLISHER | UTF-8 | This is akin to the TPUB tag in | 447 | | | ID3 [15]. | 448 | LABEL | UTF-8 | The record label or imprint on the | 449 | | | disc. | 450 +----------------------+-------+------------------------------------+ 452 6.11. Search and Classification 453 +---------------------+--------+------------------------------------+ 454 | Tag Name | Type | Description | 455 +---------------------+--------+------------------------------------+ 456 | GENRE | UTF-8 | The main genre (classical, | 457 | | | ambient-house, synthpop, sci-fi, | 458 | | | drama, etc). The format follows | 459 | | | the infamous TCON tag in ID3. | 460 | MOOD | UTF-8 | Intended to reflect the mood of | 461 | | | the item with a few keywords, e.g. | 462 | | | "Romantic", "Sad" or "Uplifting". | 463 | | | The format follows that of the | 464 | | | TMOO tag in ID3. | 465 | ORIGINAL_MEDIA_TYPE | UTF-8 | Describes the original type of the | 466 | | | media, such as, "DVD", "CD", | 467 | | | "computer image," "drawing," | 468 | | | "lithograph," and so forth. This | 469 | | | is akin to the TMED tag in ID3 | 470 | | | [16]. | 471 | CONTENT_TYPE | UTF-8 | The type of the item. e.g. | 472 | | | Documentary, Feature Film, | 473 | | | Cartoon, Music Video, Music, Sound | 474 | | | FX, ... | 475 | SUBJECT | UTF-8 | Describes the topic of the file, | 476 | | | such as "Aerial view of Seattle." | 477 | DESCRIPTION | UTF-8 | A short description of the | 478 | | | content, such as "Two birds | 479 | | | flying." | 480 | KEYWORDS | UTF-8 | Keywords to the item separated by | 481 | | | a comma, used for searching. | 482 | SUMMARY | UTF-8 | A plot outline or a summary of the | 483 | | | story. | 484 | SYNOPSIS | UTF-8 | A description of the story line of | 485 | | | the item. | 486 | INITIAL_KEY | UTF-8 | The initial key that a musical | 487 | | | track starts in. The format is | 488 | | | identical to ID3. | 489 | PERIOD | UTF-8 | Describes the period that the | 490 | | | piece is from or about. For | 491 | | | example, "Renaissance". | 492 | LAW_RATING | UTF-8 | Depending on the "COUNTRY" it's | 493 | | | the format of the rating of a | 494 | | | movie (P, R, X in the USA, an age | 495 | | | in other countries or a URI | 496 | | | defining a logo). | 497 | ICRA | binary | The ICRA [17] content rating for | 498 | | | parental control. (Previously | 499 | | | RSACi) | 500 +---------------------+--------+------------------------------------+ 502 6.12. Temporal Information 504 +----------------+-------+------------------------------------------+ 505 | Tag Name | Type | Description | 506 +----------------+-------+------------------------------------------+ 507 | DATE_RELEASED | UTF-8 | The time that the item was originally | 508 | | | released. This is akin to the TDRL tag | 509 | | | in ID3. | 510 | DATE_RECORDED | UTF-8 | The time that the recording began. This | 511 | | | is akin to the TDRC tag in ID3. | 512 | DATE_ENCODED | UTF-8 | The time that the encoding of this item | 513 | | | was completed began. This is akin to the | 514 | | | TDEN tag in ID3. | 515 | DATE_TAGGED | UTF-8 | The time that the tags were done for | 516 | | | this item. This is akin to the TDTG tag | 517 | | | in ID3. | 518 | DATE_DIGITIZED | UTF-8 | The time that the item was transferred | 519 | | | to a digital medium. This is akin to the | 520 | | | IDIT tag in RIFF. | 521 | DATE_WRITTEN | UTF-8 | The time that the writing of the | 522 | | | music/script began. | 523 | DATE_PURCHASED | UTF-8 | Information on when the file was | 524 | | | purchased (see also Section 6.17). | 525 +----------------+-------+------------------------------------------+ 527 6.13. Spacial Information 529 +----------------------+-------+------------------------------------+ 530 | Tag Name | Type | Description | 531 +----------------------+-------+------------------------------------+ 532 | RECORDING_LOCATION | UTF-8 | The location where the item was | 533 | | | recorded. The countries | 534 | | | corresponding to the string, same | 535 | | | 2 octets as in Internet domains | 536 | | | [18], or possibly ISO-3166 [19]. | 537 | | | This code is followed by a comma, | 538 | | | then more detailed information | 539 | | | such as state/province, another | 540 | | | comma, and then city. For example, | 541 | | | "US, Texas, Austin". This will | 542 | | | allow for easy sorting. It is okay | 543 | | | to only store the country, or the | 544 | | | country and the state/province. | 545 | | | More detailed information can be | 546 | | | added after the city through the | 547 | | | use of additional commas. In cases | 548 | | | where the province/state is | 549 | | | unknown, but you want to store the | 550 | | | city, simply leave a space between | 551 | | | the two commas. For example, "US, | 552 | | | , Austin". | 553 | COMPOSITION_LOCATION | UTF-8 | Location that the item was | 554 | | | originally designed/written. The | 555 | | | countries corresponding to the | 556 | | | string, same 2 octets as in | 557 | | | Internet domains [20], or possibly | 558 | | | ISO-3166 [21]. This code is | 559 | | | followed by a comma, then more | 560 | | | detailed information such as | 561 | | | state/province, another comma, and | 562 | | | then city. For example, "US, | 563 | | | Texas, Austin". This will allow | 564 | | | for easy sorting. It is okay to | 565 | | | only store the country, or the | 566 | | | country and the state/province. | 567 | | | More detailed information can be | 568 | | | added after the city through the | 569 | | | use of additional commas. In cases | 570 | | | where the province/state is | 571 | | | unknown, but you want to store the | 572 | | | city, simply leave a space between | 573 | | | the two commas. For example, "US, | 574 | | | , Austin". | 575 | COMPOSER_NATIONALITY | UTF-8 | Nationality of the main composer | 576 | | | of the item, mostly for classical | 577 | | | music. The countries corresponding | 578 | | | to the string, same 2 octets as in | 579 | | | Internet domains [22], or possibly | 580 | | | ISO-3166 [23]. | 581 +----------------------+-------+------------------------------------+ 583 6.14. Personal 584 +--------------+-------+--------------------------------------------+ 585 | Tag Name | Type | Description | 586 +--------------+-------+--------------------------------------------+ 587 | COMMENT | UTF-8 | Any comment related to the content. | 588 | PLAY_COUNTER | UTF-8 | The number of time the item has been | 589 | | | played. | 590 | RATING | UTF-8 | A numeric value defining how much a person | 591 | | | likes the song/movie. The number is | 592 | | | between 0 and 5 with decimal values | 593 | | | possible (e.g. 2.7), 5(.0) being the | 594 | | | highest possible rating. Other rating | 595 | | | systems with different ranges will have to | 596 | | | be scaled. | 597 +--------------+-------+--------------------------------------------+ 599 6.15. Technical Information 600 +------------------+--------+---------------------------------------+ 601 | Tag Name | Type | Description | 602 +------------------+--------+---------------------------------------+ 603 | ENCODER | UTF-8 | The software or hardware used to | 604 | | | encode this item. ("LAME" or "XviD") | 605 | ENCODER_SETTINGS | UTF-8 | A list of the settings used for | 606 | | | encoding this item. No specific | 607 | | | format. | 608 | BPS | UTF-8 | The average bits per second of the | 609 | | | specified item. This is only the data | 610 | | | in the Blocks, and excludes headers | 611 | | | and any container overhead. | 612 | FPS | UTF-8 | The average frames per second of the | 613 | | | specified item. This is typically the | 614 | | | average number of Blocks per second. | 615 | | | In the event that lacing is used, | 616 | | | each laced chunk is to be counted as | 617 | | | a separate frame. | 618 | BPM | UTF-8 | Average number of beats per minute in | 619 | | | the complete target (e.g. a chapter). | 620 | | | Usually a decimal number. | 621 | MEASURE | UTF-8 | In music, a measure is a unit of time | 622 | | | in Western music like "4/4". It | 623 | | | represents a regular grouping of | 624 | | | beats, a meter, as indicated in | 625 | | | musical notation by the time | 626 | | | signature.. The majority of the | 627 | | | contemporary rock and pop music you | 628 | | | hear on the radio these days is | 629 | | | written in the 4/4 time signature. | 630 | TUNING | UTF-8 | It is saved as a frequency in hertz | 631 | | | to allow near-perfect tuning of | 632 | | | instruments to the same tone as the | 633 | | | musical piece (e.g. "441.34" in | 634 | | | Hertz). The default value is 440.0 | 635 | | | Hz. | 636 | REPLAYGAIN_GAIN | binary | The gain to apply to reach 89dB SPL | 637 | | | on playback. This is based on the | 638 | | | Replay Gain standard [24]. Note that | 639 | | | ReplayGain information can be found | 640 | | | at all TargetType levels (track, | 641 | | | album, etc). | 642 | REPLAYGAIN_PEAK | binary | The maximum absolute peak value of | 643 | | | the item. This is based on the Replay | 644 | | | Gain standard [25]. | 645 +------------------+--------+---------------------------------------+ 647 6.16. Identifiers 649 +----------------+--------+-----------------------------------------+ 650 | Tag Name | Type | Description | 651 +----------------+--------+-----------------------------------------+ 652 | ISRC | UTF-8 | The International Standard Recording | 653 | | | Code [26], excluding the "ISRC" prefix | 654 | | | and including hyphens. | 655 | MCDI | binary | This is a binary dump of the TOC of the | 656 | | | CDROM that this item was taken from. | 657 | | | This holds the same information as the | 658 | | | MCDI in ID3. | 659 | ISBN | UTF-8 | International Standard Book Number [27] | 660 | BARCODE | UTF-8 | EAN-13 [28] (European Article | 661 | | | Numbering) or UPC-A [29] (Universal | 662 | | | Product Code) bar code identifier | 663 | CATALOG_NUMBER | UTF-8 | A label-specific string used to | 664 | | | identify the release (TIC 01 for | 665 | | | example). | 666 | LABEL_CODE | UTF-8 | A 4-digit or 5-digit number to identify | 667 | | | the record label, typically printed as | 668 | | | (LC) xxxx or (LC) 0xxxx on CDs medias | 669 | | | or covers (only the number is stored). | 670 | LCCN | UTF-8 | Library of Congress Control Number [30] | 671 +----------------+--------+-----------------------------------------+ 673 6.17. Commercial 674 +-------------------+-------+---------------------------------------+ 675 | Tag Name | Type | Description | 676 +-------------------+-------+---------------------------------------+ 677 | PURCHASE_ITEM | UTF-8 | URL to purchase this file. This is | 678 | | | akin to the WPAY tag in ID3. | 679 | PURCHASE_INFO | UTF-8 | Information on where to purchase this | 680 | | | album. This is akin to the WCOM tag | 681 | | | in ID3. | 682 | PURCHASE_OWNER | UTF-8 | Information on the person who | 683 | | | purchased the file. This is akin to | 684 | | | the TOWN tag in ID3 [31]. | 685 | PURCHASE_PRICE | UTF-8 | The amount paid for entity. There | 686 | | | SHOULD only be a numeric value in | 687 | | | here. Only numbers, no letters or | 688 | | | symbols other than ".". For instance, | 689 | | | you would store "15.59" instead of | 690 | | | "$15.59USD". | 691 | PURCHASE_CURRENCY | UTF-8 | The currency type used to pay for the | 692 | | | entity. Use ISO-4217 [32] for the 3 | 693 | | | letter currency code. | 694 +-------------------+-------+---------------------------------------+ 696 6.18. Legal 698 +----------------------+-------+------------------------------------+ 699 | Tag Name | Type | Description | 700 +----------------------+-------+------------------------------------+ 701 | COPYRIGHT | UTF-8 | The copyright information as per | 702 | | | the copyright holder. This is akin | 703 | | | to the TCOP tag in ID3. | 704 | PRODUCTION_COPYRIGHT | UTF-8 | The copyright information as per | 705 | | | the production copyright holder. | 706 | | | This is akin to the TPRO tag in | 707 | | | ID3. | 708 | LICENSE | UTF-8 | The license applied to the content | 709 | | | (like Creative Commons variants). | 710 | TERMS_OF_USE | UTF-8 | The terms of use for this item. | 711 | | | This is akin to the USER tag in | 712 | | | ID3. | 713 +----------------------+-------+------------------------------------+ 715 6.19. Notes 717 o In the Target list, a logical OR is applied on all tracks, a 718 logical OR is applied on all chapters. Then a logical AND is 719 applied between the Tracks list and the Chapters list to know if 720 an element belongs to this Target. 722 7. References 724 7.1. URIs 726 [1] https://datatracker.ietf.org/wg/cellar/charter/ 728 [2] https://tools.ietf.org/html/rfc2119 730 [3] http://www.matroska.org/files/tags/matroskatags.dtd 732 [4] http://www.bunkus.org/videotools/mkvtoolnix/doc/ 733 mkvmerge.html#mkvmerge.tags 735 [5] othertagsystems/comparetable.html 737 [6] http://lcweb.loc.gov/standards/iso639-2/englangn.html#two 739 [7] http://id3.org/id3v2.3.0#TPE1 741 [8] http://id3.org/id3v2.3.0#TPE2 743 [9] http://id3.org/id3v2.3.0#TCOM 745 [10] http://id3.org/id3v2.3.0#TEXT 747 [11] http://id3.org/id3v2.3.0#TPE3 749 [12] http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/RIFF.html 751 [13] http://id3.org/id3v2.3.0#TENC 753 [14] http://id3.org/id3v2.3.0#TPE4 755 [15] http://id3.org/id3v2.3.0#TPUB 757 [16] http://id3.org/id3v2.3.0#TMED 759 [17] http://www.icra.org/ 761 [18] http://www.iana.org/cctld/cctld-whois.htm 763 [19] http://www.iso.org/iso/country_codes 765 [20] http://www.iana.org/cctld/cctld-whois.htm 767 [21] http://www.iso.org/iso/country_codes 769 [22] http://www.iana.org/cctld/cctld-whois.htm 771 [23] http://www.iso.org/iso/country_codes 773 [24] http://www.replaygain.org/ 775 [25] http://www.replaygain.org/ 777 [26] http://www.ifpi.org/isrc/isrc_handbook.html#Heading198 779 [27] http://www.isbn-international.org/ 781 [28] http://www.ean-int.org/ 783 [29] http://www.uc-council.org/ 785 [30] http://www.loc.gov/marc/lccn.html 787 [31] http://id3.org/id3v2.3.0#TOWN 789 [32] http://www.xe.com/iso4217.htm 791 Authors' Addresses 793 Steve Lhomme 795 Email: slhomme@matroska.org 797 Moritz Bunkus 799 Email: moritz@bunkus.org 801 Dave Rice 803 Email: dave@dericed.com