idnits 2.17.1 draft-ietf-cellar-tags-06.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (12 April 2021) is 1082 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 cellar S. Lhomme 3 Internet-Draft 4 Intended status: Informational M. Bunkus 5 Expires: 14 October 2021 6 D. Rice 7 12 April 2021 9 Matroska Media Container Tag Specifications 10 draft-ietf-cellar-tags-06 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 14 October 2021. 34 Copyright Notice 36 Copyright (c) 2021 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 (https://trustee.ietf.org/ 41 license-info) in effect on the date of publication of this document. 42 Please review these documents carefully, as they describe your rights 43 and restrictions with respect to this document. Code Components 44 extracted from this document must include Simplified BSD License text 45 as described in Section 4.e of the Trust Legal Provisions and are 46 provided without warranty as described in the Simplified BSD License. 48 Table of Contents 50 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 51 2. Status of this document . . . . . . . . . . . . . . . . . . . 3 52 3. Security Considerations . . . . . . . . . . . . . . . . . . . 3 53 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 3 54 5. Notation and Conventions . . . . . . . . . . . . . . . . . . 3 55 6. Tagging . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 56 6.1. Why official tags matter . . . . . . . . . . . . . . . . 4 57 6.2. Tag Formatting . . . . . . . . . . . . . . . . . . . . . 4 58 6.3. Target types . . . . . . . . . . . . . . . . . . . . . . 5 59 6.4. Official tags . . . . . . . . . . . . . . . . . . . . . . 7 60 6.5. Nesting Information . . . . . . . . . . . . . . . . . . . 7 61 6.6. Organization Information . . . . . . . . . . . . . . . . 8 62 6.7. Titles . . . . . . . . . . . . . . . . . . . . . . . . . 9 63 6.8. Nested Information . . . . . . . . . . . . . . . . . . . 9 64 6.9. Entities . . . . . . . . . . . . . . . . . . . . . . . . 10 65 6.10. Search and Classification . . . . . . . . . . . . . . . . 13 66 6.11. Temporal Information . . . . . . . . . . . . . . . . . . 15 67 6.12. Spatial Information . . . . . . . . . . . . . . . . . . . 15 68 6.13. Personal . . . . . . . . . . . . . . . . . . . . . . . . 17 69 6.14. Technical Information . . . . . . . . . . . . . . . . . . 17 70 6.15. Identifiers . . . . . . . . . . . . . . . . . . . . . . . 18 71 6.16. Commercial . . . . . . . . . . . . . . . . . . . . . . . 20 72 6.17. Legal . . . . . . . . . . . . . . . . . . . . . . . . . . 20 73 6.18. Notes . . . . . . . . . . . . . . . . . . . . . . . . . . 21 74 7. Normative References . . . . . . . . . . . . . . . . . . . . 21 75 8. Informative References . . . . . . . . . . . . . . . . . . . 22 76 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 78 1. Introduction 80 Matroska aims to become THE standard of multimedia container formats. 81 It can store timestamped multimedia data but also chapters and tags. 82 The "Tag Elements" add important metadata to identify and classify 83 the information found in a "Matroska Segment". It can tag a whole 84 "Segment", separate "Track Elements", individual Chapter elements or 85 "Attachment Elements". 87 While the Matroska tagging framework allows anyone to create their 88 own custom tags, it's important to have a common set of values for 89 interoperability. This document intends to define a set of common 90 tag names used in Matroska. 92 2. Status of this document 94 This document is a work-in-progress specification defining the 95 Matroska file format as part of the IETF Cellar working group 96 (https://datatracker.ietf.org/wg/cellar/charter/). It uses basic 97 elements and concepts already defined in the Matroska specifications 98 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. Notation and Conventions 112 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 113 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 114 "OPTIONAL" in this document are to be interpreted as described in BCP 115 14 [RFC2119] [RFC8174] when, and only when, they appear in all 116 capitals, as shown here. 118 6. Tagging 120 When a Tag is nested within another Tag, the nested Tag becomes an 121 attribute of the base tag. For instance, if you wanted to store the 122 dates that a singer used certain addresses for, that singer being the 123 lead singer for a track that included multiple bands simultaneously, 124 then your tag tree would look something like this: 126 * Targets 128 - TrackUID 130 * BAND 132 - LEADPERFORMER 134 - ADDRESS 136 o DATE 138 o DATEEND 140 - ADDRESS 142 o DATE 144 In this way, it becomes possible to store any Tag as attributes of 145 another tag. 147 Multiple items SHOULD never be stored as a list in a single 148 TagString. If there is more than one tag of a certain type to be 149 stored, then more than one SimpleTag SHOULD be used. 151 6.1. Why official tags matter 153 There is a debate between people who think all tags SHOULD be free 154 and those who think all tags SHOULD be strict. If you look at this 155 page you will realize we are in between. 157 Advanced-users application might let you put any tag in your file. 158 But for the rest of the applications, they usually give you a basic 159 list of tags you can use. Both have their needs. But it's usually a 160 bad idea to use custom/exotic tags because you will probably be the 161 only person to use this information even though everyone else could 162 benefit from it. So hopefully, when someone wants to put information 163 in one's file, they will find an official one that fit them and 164 hopefully use it ! If it's not in the list, this person can contact 165 us any time for addition of such a missing tag. But it doesn't mean 166 it will be accepted... Matroska files are not meant the become a 167 whole database of people who made costumes for a film. A website 168 would be better for that... It's hard to define what SHOULD be in and 169 what doesn't make sense in a file. So we'll treat each request 170 carefully. 172 We also need an official list simply for developers to be able to 173 display relevant information in their own design (if they choose to 174 support a list of meta-information they SHOULD know which tag has the 175 wanted meaning so that other apps could understand the same meaning). 177 6.2. Tag Formatting 179 * The TagName SHOULD always be written in all capital letters and 180 contain no space. 182 * The fields with dates SHOULD have the following format: YYYY-MM-DD 183 hh:mm:ss.mss YYYY = Year, MM = Month, DD = Days, HH = Hours, mm = 184 Minutes, ss = Seconds, mss = Milliseconds. To store less 185 accuracy, you remove items starting from the right. To store only 186 the year, you would use, "2004". To store a specific day such as 187 May 1st, 2003, you would use "2003-05-01". 189 * Fields that require a Float SHOULD use the "." mark instead of the 190 "," mark. To display it differently for another local, 191 applications SHOULD support auto replacement on display. Also, a 192 thousandths separator SHOULD NOT be used. 194 * For currency amounts, there SHOULD only be a numeric value in the 195 Tag. Only numbers, no letters or symbols other than ".". For 196 instance, you would store "15.59" instead of "$15.59USD". 198 6.3. Target types 200 The TargetType element allows tagging of different parts that are 201 inside or outside a given file. For example, in an audio file with 202 one song you could have information about the album it comes from and 203 even the CD set even if it's not found in the file. 205 For application to know what kind of information (like TITLE) relates 206 to a certain level (CD title or track title), we also need a set of 207 official TargetType names. For now audio and video will have 208 different values & names. That also means the same tag name can have 209 different meanings depending on where it is (otherwise we would end 210 up with 15 TITLE_ tags). 212 +=================+============+============+=======================+ 213 | TargetTypeValue | Audio | Video | Comment | 214 | | strings | strings | | 215 +=================+============+============+=======================+ 216 | 70 | COLLECTION | COLLECTION | the high | 217 | | | | hierarchy | 218 | | | | consisting of | 219 | | | | many different | 220 | | | | lower items | 221 +-----------------+------------+------------+-----------------------+ 222 | 60 | EDITION / | SEASON / | a list of lower | 223 | | ISSUE / | SEQUEL / | levels grouped | 224 | | VOLUME / | VOLUME | together | 225 | | OPUS | | | 226 +-----------------+------------+------------+-----------------------+ 227 | 50 | ALBUM / | MOVIE / | the most common | 228 | | OPERA / | EPISODE / | grouping level | 229 | | CONCERT | CONCERT | of music and | 230 | | | | video (equals | 231 | | | | to an episode | 232 | | | | for TV series) | 233 +-----------------+------------+------------+-----------------------+ 234 | 40 | PART / | PART / | when an album | 235 | | SESSION | SESSION | or episode has | 236 | | | | different | 237 | | | | logical parts | 238 +-----------------+------------+------------+-----------------------+ 239 | 30 | TRACK / | CHAPTER | the common | 240 | | SONG | | parts of an | 241 | | | | album or a | 242 | | | | movie | 243 +-----------------+------------+------------+-----------------------+ 244 | 20 | SUBTRACK / | SCENE | corresponds to | 245 | | PART / | | parts of a | 246 | | MOVEMENT | | track for audio | 247 | | | | (like a | 248 | | | | movement) | 249 +-----------------+------------+------------+-----------------------+ 250 | 10 | - | SHOT | the lowest | 251 | | | | hierarchy found | 252 | | | | in music or | 253 | | | | movies | 254 +-----------------+------------+------------+-----------------------+ 256 Table 1 258 An upper level value tag applies to the lower level. That means if a 259 CD has the same artist for all tracks, you just need to set the 260 ARTIST tag at level 50 (ALBUM) and not to each TRACK (but you can). 261 That also means that, if some parts of the CD have no known ARTIST, 262 the value MUST be set to nothing (a void string ""). 264 When a level doesn't exist it MUST NOT be specified in the files, so 265 that the TOTAL_PARTS and PART_NUMBER elements match the same levels. 267 Here is an example of how these "organizational" tags work: If you 268 set 10 TOTAL_PARTS to the ALBUM level (40) it means the album 269 contains 10 lower parts. The lower part in question is the first 270 lower level that is specified in the file. So, if it's TRACK (30), 271 then that means it contains 10 tracks. If it's MOVEMENT (20), that 272 means it's 10 movements, etc. 274 6.4. Official tags 276 The following is a complete list of the supported Matroska Tags. 277 While it is possible to use Tag names that are not listed below, this 278 is not recommended as compatibility will be compromised. If you find 279 that there is a Tag missing that you would like to use, then please 280 contact the Matroska team for its inclusion in the specifications 281 before the format reaches 1.0. 283 6.5. Nesting Information 285 Nesting Information tags are intended to contain other tags. 287 +==========+=======+==========================================+ 288 | Tag Name | Type | Description | 289 +==========+=======+==========================================+ 290 | ORIGINAL | - | A special tag that is meant to have | 291 | | | other tags inside (using nested tags) to | 292 | | | describe the original work of art that | 293 | | | this item is based on. All tags in this | 294 | | | list can be used "under" the ORIGINAL | 295 | | | tag like LYRICIST, PERFORMER, etc. | 296 +----------+-------+------------------------------------------+ 297 | SAMPLE | - | A tag that contains other tags to | 298 | | | describe a sample used in the targeted | 299 | | | item taken from another work of art. | 300 | | | All tags in this list can be used | 301 | | | "under" the SAMPLE tag like TITLE, | 302 | | | ARTIST, DATE_RELEASED, etc. | 303 +----------+-------+------------------------------------------+ 304 | COUNTRY | UTF-8 | The name of the country (bibliographic | 305 | | | ISO-639-2 form [ISO639-2]) that is meant | 306 | | | to have other tags inside (using nested | 307 | | | tags) to country specific information | 308 | | | about the item. All tags in this list | 309 | | | can be used "under" the COUNTRY_SPECIFIC | 310 | | | tag like LABEL, PUBLISH_RATING, etc. | 311 +----------+-------+------------------------------------------+ 313 Table 2 315 6.6. Organization Information 317 +=============+=======+=============================================+ 318 | Tag Name | Type | Description | 319 +=============+=======+=============================================+ 320 | TOTAL_PARTS | UTF-8 | Total number of parts defined at the | 321 | | | first lower level. (e.g., if | 322 | | | TargetType is ALBUM, the total number | 323 | | | of tracks of an audio CD) | 324 +-------------+-------+---------------------------------------------+ 325 | PART_NUMBER | UTF-8 | Number of the current part of the | 326 | | | current level. (e.g., if TargetType is | 327 | | | TRACK, the track number of an audio | 328 | | | CD) | 329 +-------------+-------+---------------------------------------------+ 330 | PART_OFFSET | UTF-8 | A number to add to PART_NUMBER, when | 331 | | | the parts at that level don't start at | 332 | | | 1. (e.g., if TargetType is TRACK, the | 333 | | | track number of the second audio CD) | 334 +-------------+-------+---------------------------------------------+ 335 Table 3 337 6.7. Titles 339 +==========+=======+=======================================+ 340 | Tag Name | Type | Description | 341 +==========+=======+=======================================+ 342 | TITLE | UTF-8 | The title of this item. For example, | 343 | | | for music you might label this "Canon | 344 | | | in D", or for video's audio track you | 345 | | | might use "English 5.1" This is akin | 346 | | | to the "TIT2" tag in [ID3v2]. | 347 +----------+-------+---------------------------------------+ 348 | SUBTITLE | UTF-8 | Sub Title of the entity. | 349 +----------+-------+---------------------------------------+ 351 Table 4 353 6.8. Nested Information 355 Nested Information includes tags contained in other tags. 357 +=============+=======+======================================+ 358 | Tag Name | Type | Description | 359 +=============+=======+======================================+ 360 | URL | UTF-8 | URL corresponding to the tag it's | 361 | | | included in. | 362 +-------------+-------+--------------------------------------+ 363 | SORT_WITH | UTF-8 | A child element to indicate what | 364 | | | alternative value the parent tag can | 365 | | | have to be sorted -- for example, | 366 | | | "Pet Shop Boys" instead of "The Pet | 367 | | | Shop Boys". Or "Marley Bob" and | 368 | | | "Marley Ziggy" (no comma needed). | 369 +-------------+-------+--------------------------------------+ 370 | INSTRUMENTS | UTF-8 | The instruments that are being used/ | 371 | | | played, separated by a comma. It | 372 | | | SHOULD be a child of the following | 373 | | | tags: ARTIST, LEAD_PERFORMER, or | 374 | | | ACCOMPANIMENT. | 375 +-------------+-------+--------------------------------------+ 376 | EMAIL | UTF-8 | Email corresponding to the tag it's | 377 | | | included in. | 378 +-------------+-------+--------------------------------------+ 379 | ADDRESS | UTF-8 | The physical address of the entity. | 380 | | | The address SHOULD include a country | 381 | | | code. It can be useful for a | 382 | | | recording label. | 383 +-------------+-------+--------------------------------------+ 384 | FAX | UTF-8 | The fax number corresponding to the | 385 | | | tag it's included in. It can be | 386 | | | useful for a recording label. | 387 +-------------+-------+--------------------------------------+ 388 | PHONE | UTF-8 | The phone number corresponding to | 389 | | | the tag it's included in. It can be | 390 | | | useful for a recording label. | 391 +-------------+-------+--------------------------------------+ 393 Table 5 395 6.9. Entities 397 +=========================+=======+===============================+ 398 | Tag Name | Type | Description | 399 +=========================+=======+===============================+ 400 | ARTIST | UTF-8 | A person or band/collective | 401 | | | generally considered | 402 | | | responsible for the work. | 403 | | | This is akin to the "TPE1" | 404 | | | tag in [ID3v2]. | 405 +-------------------------+-------+-------------------------------+ 406 | LEAD_PERFORMER | UTF-8 | Lead Performer/Soloist(s). | 407 | | | This can sometimes be the | 408 | | | same as ARTIST. | 409 +-------------------------+-------+-------------------------------+ 410 | ACCOMPANIMENT | UTF-8 | Band/orchestra/accompaniment/ | 411 | | | musician. This is akin to | 412 | | | the "TPE2" tag in [ID3v2]. | 413 +-------------------------+-------+-------------------------------+ 414 | COMPOSER | UTF-8 | The name of the composer of | 415 | | | this item. This is akin to | 416 | | | the "TCOM" tag in [ID3v2]. | 417 +-------------------------+-------+-------------------------------+ 418 | ARRANGER | UTF-8 | The person who arranged the | 419 | | | piece, e.g., Ravel. | 420 +-------------------------+-------+-------------------------------+ 421 | LYRICS | UTF-8 | The lyrics corresponding to a | 422 | | | song (in case audio | 423 | | | synchronization is not known | 424 | | | or as a doublon to a subtitle | 425 | | | track). Editing this value, | 426 | | | when subtitles are found, | 427 | | | SHOULD also result in editing | 428 | | | the subtitle track for more | 429 | | | consistency. | 430 +-------------------------+-------+-------------------------------+ 431 | LYRICIST | UTF-8 | The person who wrote the | 432 | | | lyrics for a musical item. | 433 | | | This is akin to the "TEXT" | 434 | | | tag in [ID3v2]. | 435 +-------------------------+-------+-------------------------------+ 436 | CONDUCTOR | UTF-8 | Conductor/performer | 437 | | | refinement. This is akin to | 438 | | | the "TPE3" tag in [ID3v2]. | 439 +-------------------------+-------+-------------------------------+ 440 | DIRECTOR | UTF-8 | This is akin to the "IART" | 441 | | | tag [RIFF.tags]. | 442 +-------------------------+-------+-------------------------------+ 443 | ASSISTANT_DIRECTOR | UTF-8 | The name of the assistant | 444 | | | director. | 445 +-------------------------+-------+-------------------------------+ 446 | DIRECTOR_OF_PHOTOGRAPHY | UTF-8 | The name of the director of | 447 | | | photography, also known as | 448 | | | cinematographer. This is | 449 | | | akin to the "ICNM" tag in | 450 | | | [RIFF.tags]. | 451 +-------------------------+-------+-------------------------------+ 452 | SOUND_ENGINEER | UTF-8 | The name of the sound | 453 | | | engineer or sound recordist. | 454 +-------------------------+-------+-------------------------------+ 455 | ART_DIRECTOR | UTF-8 | The person who oversees the | 456 | | | artists and craftspeople who | 457 | | | build the sets. | 458 +-------------------------+-------+-------------------------------+ 459 | PRODUCTION_DESIGNER | UTF-8 | Artist responsible for | 460 | | | designing the overall visual | 461 | | | appearance of a movie. | 462 +-------------------------+-------+-------------------------------+ 463 | CHOREGRAPHER | UTF-8 | The name of the choregrapher | 464 +-------------------------+-------+-------------------------------+ 465 | COSTUME_DESIGNER | UTF-8 | The name of the costume | 466 | | | designer | 467 +-------------------------+-------+-------------------------------+ 468 | ACTOR | UTF-8 | An actor or actress playing a | 469 | | | role in this movie. This is | 470 | | | the person's real name, not | 471 | | | the character's name the | 472 | | | person is playing. | 473 +-------------------------+-------+-------------------------------+ 474 | CHARACTER | UTF-8 | The name of the character an | 475 | | | actor or actress plays in | 476 | | | this movie. This SHOULD be a | 477 | | | sub-tag of an "ACTOR" tag in | 478 | | | order not to cause | 479 | | | ambiguities. | 480 +-------------------------+-------+-------------------------------+ 481 | WRITTEN_BY | UTF-8 | The author of the story or | 482 | | | script (used for movies and | 483 | | | TV shows). | 484 +-------------------------+-------+-------------------------------+ 485 | SCREENPLAY_BY | UTF-8 | The author of the screenplay | 486 | | | or scenario (used for movies | 487 | | | and TV shows). | 488 +-------------------------+-------+-------------------------------+ 489 | EDITED_BY | UTF-8 | This is akin to the "IEDT" | 490 | | | tag in [RIFF.tags]. | 491 +-------------------------+-------+-------------------------------+ 492 | PRODUCER | UTF-8 | Produced by. This is akin to | 493 | | | the "IPRO" tag in | 494 | | | [RIFF.tags]. | 495 +-------------------------+-------+-------------------------------+ 496 | COPRODUCER | UTF-8 | The name of a co-producer. | 497 +-------------------------+-------+-------------------------------+ 498 | EXECUTIVE_PRODUCER | UTF-8 | The name of an executive | 499 | | | producer. | 500 +-------------------------+-------+-------------------------------+ 501 | DISTRIBUTED_BY | UTF-8 | This is akin to the "IDST" | 502 | | | tag in [RIFF.tags]. | 503 +-------------------------+-------+-------------------------------+ 504 | MASTERED_BY | UTF-8 | The engineer who mastered the | 505 | | | content for a physical medium | 506 | | | or for digital distribution. | 507 +-------------------------+-------+-------------------------------+ 508 | ENCODED_BY | UTF-8 | This is akin to the "TENC" | 509 | | | tag in [ID3v2]. | 510 +-------------------------+-------+-------------------------------+ 511 | MIXED_BY | UTF-8 | DJ mix by the artist | 512 | | | specified | 513 +-------------------------+-------+-------------------------------+ 514 | REMIXED_BY | UTF-8 | Interpreted, remixed, or | 515 | | | otherwise modified by. This | 516 | | | is akin to the "TPE4" tag in | 517 | | | [ID3v2]. | 518 +-------------------------+-------+-------------------------------+ 519 | PRODUCTION_STUDIO | UTF-8 | This is akin to the "ISTD" | 520 | | | tag in [RIFF.tags]. | 521 +-------------------------+-------+-------------------------------+ 522 | THANKS_TO | UTF-8 | A very general tag for | 523 | | | everyone else that wants to | 524 | | | be listed. | 525 +-------------------------+-------+-------------------------------+ 526 | PUBLISHER | UTF-8 | This is akin to the "TPUB" | 527 | | | tag in [ID3v2]. | 528 +-------------------------+-------+-------------------------------+ 529 | LABEL | UTF-8 | The record label or imprint | 530 | | | on the disc. | 531 +-------------------------+-------+-------------------------------+ 533 Table 6 535 6.10. Search and Classification 537 +=====================+=======+====================================+ 538 | Tag Name | Type | Description | 539 +=====================+=======+====================================+ 540 | GENRE | UTF-8 | The main genre (classical, | 541 | | | ambient-house, synthpop, sci-fi, | 542 | | | drama, etc). The format follows | 543 | | | the infamous "TCON" tag in | 544 | | | [ID3v2]. | 545 +---------------------+-------+------------------------------------+ 546 | MOOD | UTF-8 | Intended to reflect the mood of | 547 | | | the item with a few keywords, | 548 | | | e.g., "Romantic", "Sad" or | 549 | | | "Uplifting". The format follows | 550 | | | that of the "TMOO" tag in [ID3v2]. | 551 +---------------------+-------+------------------------------------+ 552 | ORIGINAL_MEDIA_TYPE | UTF-8 | Describes the original type of the | 553 | | | media, such as, "DVD", "CD", | 554 | | | "computer image," "drawing," | 555 | | | "lithograph," and so forth. This | 556 | | | is akin to the "TMED" tag in | 557 | | | [ID3v2]. | 558 +---------------------+-------+------------------------------------+ 559 | CONTENT_TYPE | UTF-8 | The type of the item. e.g., | 560 | | | Documentary, Feature Film, | 561 | | | Cartoon, Music Video, Music, Sound | 562 | | | FX, ... | 563 +---------------------+-------+------------------------------------+ 564 | SUBJECT | UTF-8 | Describes the topic of the file, | 565 | | | such as "Aerial view of Seattle." | 566 +---------------------+-------+------------------------------------+ 567 | DESCRIPTION | UTF-8 | A short description of the | 568 | | | content, such as "Two birds | 569 | | | flying." | 570 +---------------------+-------+------------------------------------+ 571 | KEYWORDS | UTF-8 | Keywords to the item separated by | 572 | | | a comma, used for searching. | 573 +---------------------+-------+------------------------------------+ 574 | SUMMARY | UTF-8 | A plot outline or a summary of the | 575 | | | story. | 576 +---------------------+-------+------------------------------------+ 577 | SYNOPSIS | UTF-8 | A description of the story line of | 578 | | | the item. | 579 +---------------------+-------+------------------------------------+ 580 | INITIAL_KEY | UTF-8 | The initial key that a musical | 581 | | | track starts in. The format is | 582 | | | identical to "TKEY" tag in | 583 | | | [ID3v2]. | 584 +---------------------+-------+------------------------------------+ 585 | PERIOD | UTF-8 | Describes the period that the | 586 | | | piece is from or about. For | 587 | | | example, "Renaissance". | 588 +---------------------+-------+------------------------------------+ 589 | LAW_RATING | UTF-8 | Depending on the "COUNTRY" it's | 590 | | | the format of the rating of a | 591 | | | movie (P, R, X in the USA, an age | 592 | | | in other countries or a URI | 593 | | | defining a logo). | 594 +---------------------+-------+------------------------------------+ 596 Table 7 598 6.11. Temporal Information 600 +================+=======+========================================+ 601 | Tag Name | Type | Description | 602 +================+=======+========================================+ 603 | DATE_RELEASED | UTF-8 | The time that the item was originally | 604 | | | released. This is akin to the "TDRL" | 605 | | | tag in [ID3v2]. | 606 +----------------+-------+----------------------------------------+ 607 | DATE_RECORDED | UTF-8 | The time that the recording began. | 608 | | | This is akin to the "TDRC" tag in | 609 | | | [ID3v2]. | 610 +----------------+-------+----------------------------------------+ 611 | DATE_ENCODED | UTF-8 | The time that the encoding of this | 612 | | | item was completed began. This is | 613 | | | akin to the "TDEN" tag in [ID3v2]. | 614 +----------------+-------+----------------------------------------+ 615 | DATE_TAGGED | UTF-8 | The time that the tags were done for | 616 | | | this item. This is akin to the "TDTG" | 617 | | | tag in [ID3v2]. | 618 +----------------+-------+----------------------------------------+ 619 | DATE_DIGITIZED | UTF-8 | The time that the item was transferred | 620 | | | to a digital medium. This is akin to | 621 | | | the "IDIT" tag in [RIFF.tags]. | 622 +----------------+-------+----------------------------------------+ 623 | DATE_WRITTEN | UTF-8 | The time that the writing of the | 624 | | | music/script began. | 625 +----------------+-------+----------------------------------------+ 626 | DATE_PURCHASED | UTF-8 | Information on when the file was | 627 | | | purchased; see also Section 6.16 on | 628 | | | purchase tags. | 629 +----------------+-------+----------------------------------------+ 631 Table 8 633 6.12. Spatial Information 635 +======================+=======+===================================+ 636 | Tag Name | Type | Description | 637 +======================+=======+===================================+ 638 | RECORDING_LOCATION | UTF-8 | The location where the item was | 639 | | | recorded. The countries | 640 | | | corresponding to the string, same | 641 | | | 2 octets country-codes as in | 642 | | | Internet domains [IANADomains] | 643 | | | based on [ISO3166-1] alpha-2 | 644 | | | codes. This code is followed by | 645 | | | a comma, then more detailed | 646 | | | information such as state/ | 647 | | | province, another comma, and then | 648 | | | city. For example, "US, Texas, | 649 | | | Austin". This will allow for | 650 | | | easy sorting. It is okay to only | 651 | | | store the country, or the country | 652 | | | and the state/province. More | 653 | | | detailed information can be added | 654 | | | after the city through the use of | 655 | | | additional commas. In cases | 656 | | | where the province/state is | 657 | | | unknown, but you want to store | 658 | | | the city, simply leave a space | 659 | | | between the two commas. For | 660 | | | example, "US, , Austin". | 661 +----------------------+-------+-----------------------------------+ 662 | COMPOSITION_LOCATION | UTF-8 | Location that the item was | 663 | | | originally designed/written. The | 664 | | | countries corresponding to the | 665 | | | string, same 2 octets country- | 666 | | | codes as in Internet domains | 667 | | | [IANADomains] based on | 668 | | | [ISO3166-1] alpha-2 codes. This | 669 | | | code is followed by a comma, then | 670 | | | more detailed information such as | 671 | | | state/province, another comma, | 672 | | | and then city. For example, "US, | 673 | | | Texas, Austin". This will allow | 674 | | | for easy sorting. It is okay to | 675 | | | only store the country, or the | 676 | | | country and the state/province. | 677 | | | More detailed information can be | 678 | | | added after the city through the | 679 | | | use of additional commas. In | 680 | | | cases where the province/state is | 681 | | | unknown, but you want to store | 682 | | | the city, simply leave a space | 683 | | | between the two commas. For | 684 | | | example, "US, , Austin". | 685 +----------------------+-------+-----------------------------------+ 686 | COMPOSER_NATIONALITY | UTF-8 | Nationality of the main composer | 687 | | | of the item, mostly for classical | 688 | | | music. The countries | 689 | | | corresponding to the string, same | 690 | | | 2 octets country-codes as in | 691 | | | Internet domains [IANADomains] | 692 | | | based on [ISO3166-1] alpha-2 | 693 | | | codes. | 694 +----------------------+-------+-----------------------------------+ 696 Table 9 698 6.13. Personal 700 +==============+=======+========================================+ 701 | Tag Name | Type | Description | 702 +==============+=======+========================================+ 703 | COMMENT | UTF-8 | Any comment related to the content. | 704 +--------------+-------+----------------------------------------+ 705 | PLAY_COUNTER | UTF-8 | The number of time the item has been | 706 | | | played. | 707 +--------------+-------+----------------------------------------+ 708 | RATING | UTF-8 | A numeric value defining how much a | 709 | | | person likes the song/movie. The | 710 | | | number is between 0 and 5 with decimal | 711 | | | values possible (e.g., 2.7), 5(.0) | 712 | | | being the highest possible rating. | 713 | | | Other rating systems with different | 714 | | | ranges will have to be scaled. | 715 +--------------+-------+----------------------------------------+ 717 Table 10 719 6.14. Technical Information 721 +==================+========+=====================================+ 722 | Tag Name | Type | Description | 723 +==================+========+=====================================+ 724 | ENCODER | UTF-8 | The software or hardware used to | 725 | | | encode this item. ("LAME" or | 726 | | | "XviD") | 727 +------------------+--------+-------------------------------------+ 728 | ENCODER_SETTINGS | UTF-8 | A list of the settings used for | 729 | | | encoding this item. No specific | 730 | | | format. | 731 +------------------+--------+-------------------------------------+ 732 | BPS | UTF-8 | The average bits per second of the | 733 | | | specified item. This is only the | 734 | | | data in the Blocks, and excludes | 735 | | | headers and any container overhead. | 736 +------------------+--------+-------------------------------------+ 737 | FPS | UTF-8 | The average frames per second of | 738 | | | the specified item. This is | 739 | | | typically the average number of | 740 | | | Blocks per second. In the event | 741 | | | that lacing is used, each laced | 742 | | | chunk is to be counted as a | 743 | | | separate frame. | 744 +------------------+--------+-------------------------------------+ 745 | BPM | UTF-8 | Average number of beats per minute | 746 | | | in the complete target (e.g., a | 747 | | | chapter). Usually a decimal | 748 | | | number. | 749 +------------------+--------+-------------------------------------+ 750 | MEASURE | UTF-8 | In music, a measure is a unit of | 751 | | | time in Western music like "4/4". | 752 | | | It represents a regular grouping of | 753 | | | beats, a meter, as indicated in | 754 | | | musical notation by the time | 755 | | | signature. The majority of the | 756 | | | contemporary rock and pop music you | 757 | | | hear on the radio these days is | 758 | | | written in the 4/4 time signature. | 759 +------------------+--------+-------------------------------------+ 760 | TUNING | UTF-8 | It is saved as a frequency in hertz | 761 | | | to allow near-perfect tuning of | 762 | | | instruments to the same tone as the | 763 | | | musical piece (e.g., "441.34" in | 764 | | | Hertz). The default value is 440.0 | 765 | | | Hz. | 766 +------------------+--------+-------------------------------------+ 767 | REPLAYGAIN_GAIN | binary | The gain to apply to reach 89dB SPL | 768 | | | on playback. This is based on the | 769 | | | [ReplayGain] standard. Note that | 770 | | | ReplayGain information can be found | 771 | | | at all TargetType levels (track, | 772 | | | album, etc). | 773 +------------------+--------+-------------------------------------+ 774 | REPLAYGAIN_PEAK | binary | The maximum absolute peak value of | 775 | | | the item. This is based on the | 776 | | | [ReplayGain] standard. | 777 +------------------+--------+-------------------------------------+ 779 Table 11 781 6.15. Identifiers 783 +================+========+=========================================+ 784 | Tag Name | Type | Description | 785 +================+========+=========================================+ 786 | ISRC | UTF-8 | The International Standard Recording | 787 | | | Code [ISRC], excluding the "ISRC" | 788 | | | prefix and including hyphens. | 789 +----------------+--------+-----------------------------------------+ 790 | MCDI | binary | This is a binary dump of the TOC of | 791 | | | the CDROM that this item was taken | 792 | | | from. This holds the same | 793 | | | information as the "MCDI" in [ID3v2]. | 794 +----------------+--------+-----------------------------------------+ 795 | ISBN | UTF-8 | International Standard Book Number | 796 | | | [ISBN]. | 797 +----------------+--------+-----------------------------------------+ 798 | BARCODE | UTF-8 | European Article Numbering EAN-13 | 799 | | | barcode defined in [GS1] General | 800 | | | Specifications. | 801 +----------------+--------+-----------------------------------------+ 802 | CATALOG_NUMBER | UTF-8 | A label-specific string used to | 803 | | | identify the release -- for example, | 804 | | | TIC 01. | 805 +----------------+--------+-----------------------------------------+ 806 | LABEL_CODE | UTF-8 | A 4-digit or 5-digit number to | 807 | | | identify the record label, typically | 808 | | | printed as (LC) xxxx or (LC) 0xxxx on | 809 | | | CDs medias or covers (only the number | 810 | | | is stored). | 811 +----------------+--------+-----------------------------------------+ 812 | LCCN | UTF-8 | Library of Congress Control Number | 813 | | | [LCCN]. | 814 +----------------+--------+-----------------------------------------+ 815 | IMDB | UTF-8 | Internet Movie Database [IMDb] | 816 | | | identifier. "tt" followed by at least | 817 | | | 7 digits for Movies, TV Shows, and | 818 | | | Episodes. | 819 +----------------+--------+-----------------------------------------+ 820 | TMDB | UTF-8 | The Movie DB "movie_id" or "tv_id" | 821 | | | identifier for movies/TV shows | 822 | | | [MovieDB]. The variable length | 823 | | | digits string MUST be prefixed with | 824 | | | either "movie/" or "tv/". | 825 +----------------+--------+-----------------------------------------+ 826 | TVDB | UTF-8 | The TV Database "Series ID" or | 827 | | | "Episode ID" identifier for TV shows | 828 | | | [TheTVDB]. Variable length all- | 829 | | | digits string identifying a TV Show. | 830 +----------------+--------+-----------------------------------------+ 832 Table 12 834 6.16. Commercial 836 +===================+=======+====================================+ 837 | Tag Name | Type | Description | 838 +===================+=======+====================================+ 839 | PURCHASE_ITEM | UTF-8 | URL to purchase this file. This | 840 | | | is akin to the "WPAY" tag in | 841 | | | [ID3v2]. | 842 +-------------------+-------+------------------------------------+ 843 | PURCHASE_INFO | UTF-8 | Information on where to purchase | 844 | | | this album. This is akin to the | 845 | | | "WCOM" tag in [ID3v2]. | 846 +-------------------+-------+------------------------------------+ 847 | PURCHASE_OWNER | UTF-8 | Information on the person who | 848 | | | purchased the file. This is akin | 849 | | | to the "TOWN" tag in [ID3v2]. | 850 +-------------------+-------+------------------------------------+ 851 | PURCHASE_PRICE | UTF-8 | The amount paid for entity. There | 852 | | | SHOULD only be a numeric value in | 853 | | | here. Only numbers, no letters or | 854 | | | symbols other than ".". For | 855 | | | instance, you would store "15.59" | 856 | | | instead of "$15.59USD". | 857 +-------------------+-------+------------------------------------+ 858 | PURCHASE_CURRENCY | UTF-8 | The currency type used to pay for | 859 | | | the entity. Use [ISO4217] for the | 860 | | | 3 letter alphabetic code. | 861 +-------------------+-------+------------------------------------+ 863 Table 13 865 6.17. Legal 867 +======================+=======+====================================+ 868 | Tag Name | Type | Description | 869 +======================+=======+====================================+ 870 | COPYRIGHT | UTF-8 | The copyright information as | 871 | | | per the copyright holder. | 872 | | | This is akin to the "TCOP" | 873 | | | tag in [ID3v2]. | 874 +----------------------+-------+------------------------------------+ 875 | PRODUCTION_COPYRIGHT | UTF-8 | The copyright information as | 876 | | | per the production copyright | 877 | | | holder. This is akin to the | 878 | | | "TPRO" tag in [ID3v2]. | 879 +----------------------+-------+------------------------------------+ 880 | LICENSE | UTF-8 | The license applied to the | 881 | | | content (like Creative | 882 | | | Commons variants). | 883 +----------------------+-------+------------------------------------+ 884 | TERMS_OF_USE | UTF-8 | The terms of use for this | 885 | | | item. This is akin to the | 886 | | | "USER" tag in [ID3v2]. | 887 +----------------------+-------+------------------------------------+ 889 Table 14 891 6.18. Notes 893 * In the Target list, a logical OR is applied on all tracks, a 894 logical OR is applied on all chapters. Then a logical AND is 895 applied between the Tracks list and the Chapters list to know if 896 an element belongs to this Target. 898 7. Normative References 900 [GS1] "GS1 General Specifications", GS1 20.0, January 2020, 901 . 904 [IANADomains] 905 "IANA Root Zone Database", 906 . 908 [ID3v2] Nilsson, M., Mahoney, D., Ed., and J. Sundstrom, Ed., "ID3 909 tag version 2.3.0", 3 February 1999, 910 . 912 [IMDb] Internet Movie Database, "IMDb API Documentation", 913 . 915 [ISBN] International ISBN Agency, "ISBN Users' Manual", December 916 2017, . 919 [ISO3166-1] 920 International Organization for Standardization, "Codes for 921 the representation of names of countries and their 922 subdivisions -- Part 1: Country code", ISO 3166-1:2020, 923 August 2020, . 925 [ISO4217] International Organization for Standardization, "ISO 4217 926 Currency codes", ISO 4217:2015, August 2015, 927 . 929 [ISO639-2] United States Library Of Congress, "Codes for the 930 Representation of Names of Languages", ISO 639-2:1998, 21 931 December 2017, . 934 [ISRC] IFPI Secretariat, "International Standard Recording Code 935 (ISRC) Handbook", IFPI 3rd Edition, 2009, 936 . 939 [LCCN] United States Library Of Congress, "Library Of Congress 940 Control Number", October 1999, 941 . 943 [MovieDB] The Movie Database, "The Movie Database API", 944 . 947 [ReplayGain] 948 Robinson, D., "ReplayGain 1.0 specification", 10 July 949 2001, . 952 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 953 Requirement Levels", BCP 14, RFC 2119, 954 DOI 10.17487/RFC2119, March 1997, 955 . 957 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 958 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 959 May 2017, . 961 [TheTVDB] The TVDB, "API documentation", 962 . 964 8. Informative References 966 [RIFF.tags] 967 Exiftool, "RIFF Tags", 968 . 970 Authors' Addresses 972 Steve Lhomme 974 Email: slhomme@matroska.org 975 Moritz Bunkus 977 Email: moritz@bunkus.org 979 Dave Rice 981 Email: dave@dericed.com