cellar                                                         S. Lhomme
Internet-Draft
Intended status: Standards Track Informational                                 M. Bunkus
Expires: January 23, 29 April 2020
                                                                 D. Rice
                                                           July 22,
                                                         27 October 2019

                             Matroska Tags
                       draft-ietf-cellar-tags-02
                       draft-ietf-cellar-tags-03

Abstract

   This document defines the Matroska tags, namely the tag names and
   their respective semantic meaning.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on January 23, 29 April 2020.

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) (https://trustee.ietf.org/
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Simplified BSD License text
   as described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Status of this document . . . . . . . . . . . . . . . . . . .   3
   3.  Security Considerations . . . . . . . . . . . . . . . . . . .   3
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   3
   5.  Notations and Conventions . . . . . . . . . . . . . . . . . .   3
   6.  Tagging . . . . . . . . . . . . . . . . . . . . . . . . . . .   3
     6.1.  Why official tags matter  . . . . . . . . . . . . . . . .   4
     6.2.  Tag translations  . . . . . . . . . . . . . . . . . . . .   4
     6.3.  Tag Formatting  . . . . . . . . . . . . . . . . . . . . .   4   5
     6.4.  Target types  . . . . . . . . . . . . . . . . . . . . . .   5
     6.5.  Official tags . . . . . . . . . . . . . . . . . . . . . .   7
     6.6.  Nesting Information . . . . . . . . . . . . . . . . . . .   7
     6.7.  Organization Information  . . . . . . . . . . . . . . . .   7   9
     6.8.  Titles  . . . . . . . . . . . . . . . . . . . . . . . . .   8   9
     6.9.  Nested Information  . . . . . . . . . . . . . . . . . . .   8   9
     6.10. Entities  . . . . . . . . . . . . . . . . . . . . . . . .   9  10
     6.11. Search and Classification . . . . . . . . . . . . . . . .  11  14
     6.12. Temporal Information  . . . . . . . . . . . . . . . . . .  13  15
     6.13. Spacial Information . . . . . . . . . . . . . . . . . . .  13  16
     6.14. Personal  . . . . . . . . . . . . . . . . . . . . . . . .  14  17
     6.15. Technical Information . . . . . . . . . . . . . . . . . .  15  18
     6.16. Identifiers . . . . . . . . . . . . . . . . . . . . . . .  17  19
     6.17. Commercial  . . . . . . . . . . . . . . . . . . . . . . .  17  20
     6.18. Legal . . . . . . . . . . . . . . . . . . . . . . . . . .  18  21
     6.19. Notes . . . . . . . . . . . . . . . . . . . . . . . . . .  18
     7.1.  URIs  21
   7.  Normative References  . . . . . . . . . . . . . . . . . . . .  21
   8.  Informative References  . . . . . . .  19 . . . . . . . . . . . .  22
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  20  22

1.  Introduction

   Matroska aims to become THE standard of multimedia container formats.
   It can store timestamped multimedia data but also chapters and tags.
   The "Tag Elements" add important metadata to identify and classify
   the information found in a "Matroska Segment".  It can tag a whole
   "Segment", separate "Track Elements", individual "Chapter Elements"
   or "Attachment Elements".

   While the Matroska tagging framework allows anyone to create their
   own custom tags, it's important to have a common set of values for
   interoperability.  This document intends to define a set of common
   tag names used in Matroska.

2.  Status of this document

   This document is a work-in-progress specification defining the
   Matroska file format as part of the IETF Cellar working group [1].
   (https://datatracker.ietf.org/wg/cellar/charter/).  It uses basic
   elements and concepts already defined in the Matroska specifications
   defined by this workgroup.

3.  Security Considerations

   "Tag" values can be either strings or binary blobs.  This document
   inherits security considerations from the EBML and Matroska
   documents.

4.  IANA Considerations

   To be determined.

5.  Notations and Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [2]. BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

6.  Tagging

   When a Tag is nested within another Tag, the nested Tag becomes an
   attribute of the base tag.  For instance, if you wanted to store the
   dates that a singer used certain addresses for, that singer being the
   lead singer for a track that included multiple bands simultaneously,
   then your tag tree would look something like this:

   o  Targets

   *  Targets

      -  TrackUID

   o  BAND

   *  BAND

      -  LEADPERFORMER

      *

      -  ADDRESS

         +

         o  DATE

         +

         o  DATEEND

      *

      -  ADDRESS

         +

         o  DATE

   In this way, it becomes possible to store any Tag as attributes of
   another tag.

   Multiple items SHOULD never be stored as a list in a single
   TagString.  If there is more than one tag of a certain type to be
   stored, then more than one SimpleTag SHOULD be used.

   For authoring Tags outside of EBML, the following XML syntax is
   proposed [3] (http://www.matroska.org/files/tags/matroskatags.dtd) used
   in mkvmerge [4]. (http://www.bunkus.org/videotools/mkvtoolnix/doc/
   mkvmerge.html#mkvmerge.tags).  Binary data SHOULD be stored using
   BASE64 encoding if it is being stored at authoring time.

6.1.  Why official tags matter

   There is a debate between people who think all tags SHOULD be free
   and those who think all tags SHOULD be strict.  If you look at this
   page you will realize we are in between.

   Advanced-users application might let you put any tag in your file.
   But for the rest of the applications, they usually give you a basic
   list of tags you can use.  Both have their needs.  But it's usually a
   bad idea to use custom/exotic tags because you will probably be the
   only person to use this information even though everyone else could
   benefit from it.  So hopefully when someone wants to put information
   in one's file, they will find an official one that fit them and
   hopefully use it ! If it's not in the list, this person can contact
   us any time for addition of such a missing tag.  But it doesn't mean
   it will be accepted... Matroska files are not meant the become a
   whole database of people who made costumes for a film.  A website
   would be better for that... It's hard to define what SHOULD be in and
   what doesn't make sense in a file.  So we'll treat each request
   carefully.

   We also need an official list simply for developers to be able to
   display relevant information in their own design (if they choose to
   support a list of meta-information they SHOULD know which tag has the
   wanted meaning so that other apps could understand the same meaning).

6.2.  Tag translations

   To be able to save tags from other systems to Matroska we need to
   translate them to our system.  There is a translation table on our
   site [5]. (othertagsystems/comparetable.html).

6.3.  Tag Formatting

   o

   *  The TagName SHOULD always be written in all capital letters and
      contain no space.

   o

   *  The fields with dates SHOULD have the following format: YYYY-MM-DD
      hh:mm:ss.mss YYYY = Year, MM = Month, DD = Days, HH = Hours, mm =
      Minutes, ss = Seconds, mss = Milliseconds.  To store less
      accuracy, you remove items starting from the right.  To store only
      the year, you would use, "2004".  To store a specific day such as
      May 1st, 2003, you would use "2003-05-01".

   o

   *  Fields that require a Float SHOULD use the "." mark instead of the
      "," mark.  To display it differently for another local,
      applications SHOULD support auto replacement on display.  Also, a
      thousandths separator SHOULD NOT be used.

   o

   *  For currency amounts, there SHOULD only be a numeric value in the
      Tag. Only numbers, no letters or symbols other than ".".  For
      instance, you would store "15.59" instead of "$15.59USD".

6.4.  Target types

   The TargetType element allows tagging of different parts that are
   inside or outside a given file.  For example in an audio file with
   one song you could have information about the album it comes from and
   even the CD set even if it's not found in the file.

   For application to know what kind of information (like TITLE) relates
   to a certain level (CD title or track title), we also need a set of
   official TargetType names.  For now audio and video will have
   different values & names.  That also means the same tag name can have
   different meanings depending on where it is (otherwise we would end
   up with 15 TITLE_ tags).

   +-----------------+------------+------------+-----------------------+
   | TargetTypeValue | Audio      | Video      | Comment               |
   |                 | strings    | strings    |                       |
   +-----------------+------------+------------+-----------------------+
   +=================+============+============+=======================+
   | 70              | COLLECTION | COLLECTION | the high              |
   |                 |            |            | hierarchy             |
   |                 |            |            | consisting of many         |
   |                 |            |            | many different        |
   |                 |            |            | lower items           |
   +-----------------+------------+------------+-----------------------+
   | 60              | EDITION /  | SEASON /   | a list of lower       |
   |                 | ISSUE /    | SEQUEL /   | levels grouped        |
   |                 | VOLUME /   | VOLUME     | together              |
   |                 | OPUS       |            |                       |
   +-----------------+------------+------------+-----------------------+
   | 50              | ALBUM /    | MOVIE /    | the most common       |
   |                 | OPERA /    | EPISODE /  | grouping level of        |
   |                 | CONCERT    | CONCERT    | of music and video          |
   |                 |            |            | video (equals         |
   |                 |            |            | to an episode         |
   |                 |            |            | for TV series)        |
   +-----------------+------------+------------+-----------------------+
   | 40              | PART /     | PART /     | when an album or         |
   |                 | SESSION    | SESSION    | or episode has        |
   |                 |            |            | different             |
   |                 |            |            | logical parts         |
   +-----------------+------------+------------+-----------------------+
   | 30              | TRACK /    | CHAPTER    | the common parts of            |
   |                 | SONG       |            | parts of an           |
   |                 |            |            | album or a            |
   |                 |            |            | movie                 |
   +-----------------+------------+------------+-----------------------+
   | 20              | SUBTRACK / | SCENE      | corresponds to parts        |
   |                 | PART /     |            | parts of a            |
   |                 | MOVEMENT   |            | track for audio       |
   |                 | MOVEMENT            |            | (like a               |
   |                 |            |            | movement)             |
   +-----------------+------------+------------+-----------------------+
   | 10              | -          | SHOT       | the lowest hierarchy            |
   |                 |            |            | hierarchy found       |
   |                 |            |            | in music or           |
   |                 |            |            | movies                |
   +-----------------+------------+------------+-----------------------+

                                  Table 1

   An upper level value tag applies to the lower level.  That means if a
   CD has the same artist for all tracks, you just need to set the
   ARTIST tag at level 50 (ALBUM) and not to each TRACK (but you can).
   That also means that if some parts of the CD have no known ARTIST the
   value MUST be set to nothing (a void string "").

   When a level doesn't exist it MUST NOT be specified in the files, so
   that the TOTAL_PARTS and PART_NUMBER elements match the same levels.

   Here is an example of how these "organizational" tags work: If you
   set 10 TOTAL_PARTS to the ALBUM level (40) it means the album
   contains 10 lower parts.  The lower part in question is the first
   lower level that is specified in the file.  So if it's TRACK (30)
   then that means it contains 10 tracks.  If it's MOVEMENT (20) that
   means it's 10 movements, etc.

6.5.  Official tags

   The following is a complete list of the supported Matroska Tags.
   While it is possible to use Tag names that are not listed below, this
   is not recommended as compatibility will be compromised.  If you find
   that there is a Tag missing that you would like to use, then please
   contact the Matroska team for its inclusion in the specifications
   before the format reaches 1.0.

6.6.  Nesting Information

   Nesting Information tags are intended to contain other tags.

   +----------+-------+------------------------------------------------+

     +----------+-------+-------------------------------------------+
     | Tag Name | Type  | Description                               |
   +----------+-------+------------------------------------------------+
     +==========+=======+===========================================+
     | ORIGINAL | -     | A special tag that is meant to have other tags |
     |          |       | tags inside (using nested tags) to describe the        |
     |          |       | describe the original work of art that this item is based    |
     |          |       | this item is based on.  All tags in this  |
     |          |       | list can be used "under"  |
   |          |       | the ORIGINAL tag like LYRICIST, PERFORMER, |
     |          |       | like LYRICIST, PERFORMER, etc.            |
     +----------+-------+-------------------------------------------+
     | SAMPLE   | -     | A tag that contains other tags to describe a         |
     |          |       | describe a sample used in the targeted item taken from    |
     |          |       | item taken from another work of art.  All |
     |          |       | tags in this list can |
   |          |       | be used "under" the |
     |          |       | SAMPLE tag like TITLE, ARTIST,            |
     |          |       | ARTIST, DATE_RELEASED, etc.                       |
     +----------+-------+-------------------------------------------+
     | COUNTRY  | UTF-8 | The name of the country (biblio ISO-639-2 [6]) |
     |          |       | (https://www.loc.gov/standards/iso639-    |
     |          |       | 2/php/English_list.php)) that is meant to |
     |          |       | have other tags inside (using nested      |
     |          |       | nested tags) to country specific information     |
     |          |       | about the item.  All tags in this list can be    |
     |          |       | can be used "under" the COUNTRY_SPECIFIC tag like  |
     |          |       | tag like LABEL, PUBLISH_RATING, etc.      |
   +----------+-------+------------------------------------------------+
     +----------+-------+-------------------------------------------+

                                 Table 2

6.7.  Organization Information
   +-------------+-------+---------------------------------------------+

   +-------------+-------+--------------------------------------------+
   | Tag Name    | Type  | Description                                |
   +-------------+-------+---------------------------------------------+
   +=============+=======+============================================+
   | TOTAL_PARTS | UTF-8 | Total number of parts defined at the first |
   |             |       | lower level. (e.g. if TargetType is ALBUM, |
   |             |       | the total number of tracks of an audio CD) |
   +-------------+-------+--------------------------------------------+
   | PART_NUMBER | UTF-8 | Number of the current part of the current  |
   |             |       | level. (e.g. if TargetType is TRACK, the   |
   |             |       | track number of an audio CD)               |
   +-------------+-------+--------------------------------------------+
   | PART_OFFSET | UTF-8 | A number to add to PART_NUMBER when the    |
   |             |       | parts at that level don't start at 1. (e.g.      |
   |             |       | (e.g. if TargetType is TRACK, the track number of    |
   |             |       | number of the second audio CD)             |
   +-------------+-------+---------------------------------------------+
   +-------------+-------+--------------------------------------------+

                                 Table 3

6.8.  Titles

   +----------+-------+------------------------------------------------+
   | Tag Name | Type  | Description                                    |
   +----------+-------+------------------------------------------------+
   +==========+=======+================================================+
   | TITLE    | UTF-8 | The title of this item.  For example, for music          |
   |          |       | for music you might label this "Canon in D", or for          |
   |          |       | in D", or for video's audio track you might use "English          |
   |          |       | might use "English 5.1" This is akin to the TIT2           |
   |          |       | to the TIT2 tag in ID3.                        |
   +----------+-------+------------------------------------------------+
   | SUBTITLE | UTF-8 | Sub Title of the entity.                       |
   +----------+-------+------------------------------------------------+

                                  Table 4

6.9.  Nested Information

   Nested Information includes tags contained in other tags.

   +-------------+-------+---------------------------------------------+
   | Tag Name    | Type  | Description                                 |
   +-------------+-------+---------------------------------------------+
   +=============+=======+=============================================+
   | URL         | UTF-8 | URL corresponding to the tag it's included           |
   |             |       | included in.                                |
   +-------------+-------+---------------------------------------------+
   | SORT_WITH   | UTF-8 | A child element to indicate what            |
   |             |       | alternative value the parent tag can have            |
   |             |       | can have to be sorted, for example "Pet Shop Boys"          |
   |             |       | "Pet Shop Boys" instead of "The Pet         |
   |             |       | Shop Boys".  Or "Marley Bob" and            |
   |             |       | Bob" and "Marley Ziggy" (no comma needed).           |
   +-------------+-------+---------------------------------------------+
   | INSTRUMENTS | UTF-8 | The instruments that are being used/played,              |
   |             |       | used/played, separated by a comma.          |
   |             |       | It SHOULD be a child of the                 |
   |             |       | of the following tags: ARTIST,                     |
   |             |       | LEAD_PERFORMER or ACCOMPANIMENT.            |
   +-------------+-------+---------------------------------------------+
   | EMAIL       | UTF-8 | Email corresponding to the tag it's         |
   |             |       | included in.                                |
   +-------------+-------+---------------------------------------------+
   | ADDRESS     | UTF-8 | The physical address of the entity. The         |
   |             |       | The address SHOULD include a country code. It                |
   |             |       | country code.  It can be useful for         |
   |             |       | a recording label.                          |
   +-------------+-------+---------------------------------------------+
   | FAX         | UTF-8 | The fax number corresponding to the tag         |
   |             |       | tag it's included in.  It can be useful for a            |
   |             |       | useful for a recording label.               |
   +-------------+-------+---------------------------------------------+
   | PHONE       | UTF-8 | The phone number corresponding to the tag           |
   |             |       | the tag it's included in.  It can be useful for a           |
   |             |       | be useful for a recording label.            |
   +-------------+-------+---------------------------------------------+

                                  Table 5

6.10.  Entities

   +----------------------+-------+------------------------------------+

    +-------------------------+-------+-------------------------------+
    | Tag Name                | Type  | Description                   |
   +----------------------+-------+------------------------------------+
    +=========================+=======+===============================+
    | ARTIST                  | UTF-8 | A person or band/collective   |
    |                         |       | generally considered responsible          |
    |                         |       | responsible for the work.     |
    |                         |       | This is akin to the TPE1 tag  |
    |                         |       | TPE1 tag in ID3 [7]. (http://id3.org/       |
    |                         |       | id3v2.3.0#TPE1).              |
    +-------------------------+-------+-------------------------------+
    | LEAD_PERFORMER          | UTF-8 | Lead Performer/Soloist(s). This    |
    |                         |       | This can sometimes be the same as     |
    |                         |       | same as ARTIST.               |
    +-------------------------+-------+-------------------------------+
    | ACCOMPANIMENT           | UTF-8 | Band/orchestra/accompaniment/music Band/orchestra/accompaniment/ |
    |                         |       | ian. musician.  This is akin to    |
    |                         |       | the TPE2 tag in ID3           |
    |                         |       | in ID3 [8]. (http://id3.org/              |
    |                         |       | id3v2.3.0#TPE2).              |
    +-------------------------+-------+-------------------------------+
    | COMPOSER                | UTF-8 | The name of the composer of this   |
    |                         |       | this item.  This is akin to   |
    |                         |       | the TCOM tag in ID3           |
    |                         |       | in ID3 [9]. (http://id3.org/              |
    |                         |       | id3v2.3.0#TCOM).              |
    +-------------------------+-------+-------------------------------+
    | ARRANGER                | UTF-8 | The person who arranged the piece,   |
    |                         |       | piece, e.g., Ravel.           |
    +-------------------------+-------+-------------------------------+
    | LYRICS                  | UTF-8 | The lyrics corresponding to a song |
    |                         |       | song (in case audio synchronization is           |
    |                         |       | synchronization is not known  |
    |                         |       | or as a doublon to a subtitle |
    |                         |       | subtitle track).  Editing this value   |
    |                         |       | value when subtitles are found      |
    |                         |       | SHOULD also result in editing the |
    |                         |       | the subtitle track for more   |
    |                         |       | consistency.                  |
    +-------------------------+-------+-------------------------------+
    | LYRICIST                | UTF-8 | The person who wrote the lyrics      |
    |                         |       | lyrics for a musical item. This is akin    |
    |                         |       | This is akin to the TEXT [10]      |
    |                         |       | (http://id3.org/              |
    |                         |       | id3v2.3.0#TEXT) tag in ID3.   |
    +-------------------------+-------+-------------------------------+
    | CONDUCTOR               | UTF-8 | Conductor/performer refinement.           |
    |                         |       | refinement.  This is akin to  |
    |                         |       | the TPE3 [11]. (http://id3.org/     |
    |                         |       | id3v2.3.0#TPE3).              |
    +-------------------------+-------+-------------------------------+
    | DIRECTOR                | UTF-8 | This is akin to the IART [IART tag in |
    |                         |       | RIFF [12]. in RIFF][RIFF.tags].          |
    +-------------------------+-------+-------------------------------+
    | ASSISTANT_DIRECTOR      | UTF-8 | The name of the assistant     |
    |                         |       | director.                     |
    +-------------------------+-------+-------------------------------+
    | DIRECTOR_OF_PHOTOGRA DIRECTOR_OF_PHOTOGRAPHY | UTF-8 | The name of the director of   |
    | PHY                         |       | photography, also known as    |
    |                         |       | cinematographer.  This is akin to     |
    |                         |       | akin to the ICNM tag in       |
    |                         |       | Extended RIFF.                |
    +-------------------------+-------+-------------------------------+
    | SOUND_ENGINEER          | UTF-8 | The name of the sound engineer or         |
    |                         |       | engineer or sound recordist.  |
    +-------------------------+-------+-------------------------------+
    | ART_DIRECTOR            | UTF-8 | The person who oversees the   |
    |                         |       | artists and craftspeople who build  |
    |                         |       | build the sets.               |
    +-------------------------+-------+-------------------------------+
    | PRODUCTION_DESIGNER     | UTF-8 | Artist responsible for designing        |
    |                         |       | designing the overall visual appearance of a  |
    |                         |       | appearance of a movie.        |
    +-------------------------+-------+-------------------------------+
    | CHOREGRAPHER            | UTF-8 | The name of the choregrapher  |
    +-------------------------+-------+-------------------------------+
    | COSTUME_DESIGNER        | UTF-8 | The name of the costume       |
    |                         |       | designer                      |
    +-------------------------+-------+-------------------------------+
    | ACTOR                   | UTF-8 | An actor or actress playing a role |
    |                         |       | role in this movie.  This is the  |
    |                         |       | the person's real name, not the   |
    |                         |       | the character's name the person is      |
    |                         |       | person is playing.            |
    +-------------------------+-------+-------------------------------+
    | CHARACTER               | UTF-8 | The name of the character an actor  |
    |                         |       | actor or actress plays in this movie.     |
    |                         |       | this movie.  This SHOULD be a sub-tag of an |
    |                         |       | sub-tag of an "ACTOR" tag in  |
    |                         |       | order not to cause            |
    |                         |       | ambiguities.                  |
    +-------------------------+-------+-------------------------------+
    | WRITTEN_BY              | UTF-8 | The author of the story or script    |
    |                         |       | script (used for movies and   |
    |                         |       | TV shows).                    |
    +-------------------------+-------+-------------------------------+
    | SCREENPLAY_BY           | UTF-8 | The author of the screenplay or  |
    |                         |       | or scenario (used for movies and TV  |
    |                         |       | and TV shows).                |
    +-------------------------+-------+-------------------------------+
    | EDITED_BY               | UTF-8 | This is akin to the IEDT tag in  |
    |                         |       | in Extended RIFF.             |
    +-------------------------+-------+-------------------------------+
    | PRODUCER                | UTF-8 | Produced by.  This is akin to the |
    |                         |       | the IPRO tag in Extended      |
    |                         |       | RIFF.                         |
    +-------------------------+-------+-------------------------------+
    | COPRODUCER              | UTF-8 | The name of a co-producer.    |
    +-------------------------+-------+-------------------------------+
    | EXECUTIVE_PRODUCER      | UTF-8 | The name of an executive      |
    |                         |       | producer.                     |
    +-------------------------+-------+-------------------------------+
    | DISTRIBUTED_BY          | UTF-8 | This is akin to the IDST tag in  |
    |                         |       | in Extended RIFF.             |
    +-------------------------+-------+-------------------------------+
    | MASTERED_BY             | UTF-8 | The engineer who mastered the |
    |                         |       | content for a physical medium or |
    |                         |       | or for digital distribution.  |
    +-------------------------+-------+-------------------------------+
    | ENCODED_BY              | UTF-8 | This is akin to the TENC tag [13]  |
    |                         |       | (http://id3.org/              |
    |                         |       | id3v2.3.0#TENC) in ID3.       |
    +-------------------------+-------+-------------------------------+
    | MIXED_BY                | UTF-8 | DJ mix by the artist          |
    |                         |       | specified                     |
    +-------------------------+-------+-------------------------------+
    | REMIXED_BY              | UTF-8 | Interpreted, remixed, or otherwise      |
    |                         |       | otherwise modified by.  This  |
    |                         |       | is akin to the TPE4 tag in    |
    |                         |       | TPE4 tag in ID3 [14]. (http://id3.org/          |
    |                         |       | id3v2.3.0#TPE4).              |
    +-------------------------+-------+-------------------------------+
    | PRODUCTION_STUDIO       | UTF-8 | This is akin to the ISTD tag in  |
    |                         |       | in Extended RIFF.             |
    +-------------------------+-------+-------------------------------+
    | THANKS_TO               | UTF-8 | A very general tag for everyone        |
    |                         |       | everyone else that wants to   |
    |                         |       | be listed.                    |
    +-------------------------+-------+-------------------------------+
    | PUBLISHER               | UTF-8 | This is akin to the TPUB tag in  |
    |                         |       | in ID3 [15]. (http://id3.org/       |
    |                         |       | id3v2.3.0#TPUB).              |
    +-------------------------+-------+-------------------------------+
    | LABEL                   | UTF-8 | The record label or imprint on the   |
    |                         |       | on the disc.                  |
   +----------------------+-------+------------------------------------+
    +-------------------------+-------+-------------------------------+

                                  Table 6

6.11.  Search and Classification
   +---------------------+--------+------------------------------------+

   +---------------------+--------+-----------------------------------+
   | Tag Name            | Type   | Description                       |
   +---------------------+--------+------------------------------------+
   +=====================+========+===================================+
   | GENRE               | UTF-8  | The main genre (classical,        |
   |                     |        | ambient-house, synthpop, sci-fi,  |
   |                     |        | drama, etc).  The format follows  |
   |                     |        | the infamous TCON tag in ID3.     |
   +---------------------+--------+-----------------------------------+
   | MOOD                | UTF-8  | Intended to reflect the mood of   |
   |                     |        | the item with a few keywords, e.g.     |
   |                     |        | e.g.  "Romantic", "Sad" or "Uplifting".        |
   |                     |        | "Uplifting".  The format follows that of the  |
   |                     |        | that of the TMOO tag in ID3.      |
   +---------------------+--------+-----------------------------------+
   | ORIGINAL_MEDIA_TYPE | UTF-8  | Describes the original type of the    |
   |                     |        | the media, such as, "DVD", "CD",  |
   |                     |        | "computer image," "drawing,"      |
   |                     |        | "lithograph," and so forth.  This |
   |                     |        | is akin to the TMED tag in ID3    |
   |                     |        | [16]. (http://id3.org/id3v2.3.0#TMED).  |
   +---------------------+--------+-----------------------------------+
   | CONTENT_TYPE        | UTF-8  | The type of the item. e.g.        |
   |                     |        | Documentary, Feature Film,        |
   |                     |        | Cartoon, Music Video, Music, Sound      |
   |                     |        | Sound FX, ...                     |
   +---------------------+--------+-----------------------------------+
   | SUBJECT             | UTF-8  | Describes the topic of the file,  |
   |                     |        | such as "Aerial view of Seattle." |
   +---------------------+--------+-----------------------------------+
   | DESCRIPTION         | UTF-8  | A short description of the        |
   |                     |        | content, such as "Two birds       |
   |                     |        | flying."                          |
   +---------------------+--------+-----------------------------------+
   | KEYWORDS            | UTF-8  | Keywords to the item separated by |
   |                     |        | a comma, used for searching.      |
   +---------------------+--------+-----------------------------------+
   | SUMMARY             | UTF-8  | A plot outline or a summary of the    |
   |                     |        | the story.                        |
   +---------------------+--------+-----------------------------------+
   | SYNOPSIS            | UTF-8  | A description of the story line of   |
   |                     |        | of the item.                      |
   +---------------------+--------+-----------------------------------+
   | INITIAL_KEY         | UTF-8  | The initial key that a musical    |
   |                     |        | track starts in.  The format is   |
   |                     |        | identical to ID3.                 |
   +---------------------+--------+-----------------------------------+
   | PERIOD              | UTF-8  | Describes the period that the     |
   |                     |        | piece is from or about.  For      |
   |                     |        | example, "Renaissance".           |
   +---------------------+--------+-----------------------------------+
   | LAW_RATING          | UTF-8  | Depending on the "COUNTRY" it's   |
   |                     |        | the format of the rating of a     |
   |                     |        | movie (P, R, X in the USA, an age |
   |                     |        | in other countries or a URI       |
   |                     |        | defining a logo).                 |
   +---------------------+--------+-----------------------------------+
   | ICRA                | binary | The ICRA [17] content rating for (http://www.icra.org/)   |
   |                     |        | content rating for parental control. (Previously       |
   |                     |        | control.  (Previously RSACi)      |
   +---------------------+--------+------------------------------------+
   +---------------------+--------+-----------------------------------+

                                 Table 7

6.12.  Temporal Information

   +----------------+-------+------------------------------------------+

    +----------------+-------+---------------------------------------+
    | Tag Name       | Type  | Description                           |
   +----------------+-------+------------------------------------------+
    +================+=======+=======================================+
    | DATE_RELEASED  | UTF-8 | The time that the item was originally |
    |                |       | released.  This is akin to the TDRL tag   |
    |                |       | tag in ID3.                           |
    +----------------+-------+---------------------------------------+
    | DATE_RECORDED  | UTF-8 | The time that the recording began. This    |
    |                |       | This is akin to the TDRC tag in ID3.  |
    +----------------+-------+---------------------------------------+
    | DATE_ENCODED   | UTF-8 | The time that the encoding of this item    |
    |                |       | item was completed began.  This is akin to the    |
    |                |       | akin to the TDEN tag in ID3.          |
    +----------------+-------+---------------------------------------+
    | DATE_TAGGED    | UTF-8 | The time that the tags were done for  |
    |                |       | this item.  This is akin to the TDTG tag  |
    |                |       | tag in ID3.                           |
    +----------------+-------+---------------------------------------+
    | DATE_DIGITIZED | UTF-8 | The time that the item was transferred            |
    |                |       | transferred to a digital medium.      |
    |                |       | This is akin to the |
   |                |       | IDIT tag in RIFF. |
    +----------------+-------+---------------------------------------+
    | DATE_WRITTEN   | UTF-8 | The time that the writing of the      |
    |                |       | music/script began.                   |
    +----------------+-------+---------------------------------------+
    | DATE_PURCHASED | UTF-8 | Information on when the file was      |
    |                |       | purchased (see also Section 6.17). purchase tags     |
   +----------------+-------+------------------------------------------+
    |                |       | (#commercial)).                       |
    +----------------+-------+---------------------------------------+
                                 Table 8

6.13.  Spacial Information

   +----------------------+-------+------------------------------------+

   +----------------------+-------+-----------------------------------+
   | Tag Name             | Type  | Description                       |
   +----------------------+-------+------------------------------------+
   +======================+=======+===================================+
   | RECORDING_LOCATION   | UTF-8 | The location where the item was   |
   |                      |       | recorded.  The countries          |
   |                      |       | corresponding to the string, same |
   |                      |       | 2 octets as in Internet domains   |
   |                      |       | [18], (https://www.iana.org/whois), or  |
   |                      |       | possibly ISO-3166 [19].                 |
   |                      |       | (https://www.iso.org/iso-3166-    |
   |                      |       | country-codes.html).  This code   |
   |                      |       | is followed by a comma, then more |
   |                      |       | then more detailed information such as      |
   |                      |       | such as state/province, another comma,    |
   |                      |       | comma, and then city.  For example, "US, |
   |                      |       | "US, Texas, Austin".  This will allow  |
   |                      |       | allow for easy sorting.  It is okay to  |
   |                      |       | to only store the country, or the    |
   |                      |       | country and the state/province.   |
   |                      |       | More detailed information can be  |
   |                      |       | added after the city through the  |
   |                      |       | use of additional commas.  In cases     |
   |                      |       | cases where the province/state is |
   |                      |       | unknown, but you want to store the    |
   |                      |       | the city, simply leave a space between    |
   |                      |       | between the two commas.  For example, "US,      |
   |                      |       | example, "US, , Austin".          |
   +----------------------+-------+-----------------------------------+
   | COMPOSITION_LOCATION | UTF-8 | Location that the item was        |
   |                      |       | originally designed/written.  The |
   |                      |       | countries corresponding to the    |
   |                      |       | string, same 2 octets as in       |
   |                      |       | Internet domains [20],                  |
   |                      |       | (https://www.iana.org/whois), or possibly  |
   |                      |       | possibly ISO-3166 [21].                 |
   |                      |       | (https://www.iso.org/iso-3166-    |
   |                      |       | country-codes.html).  This code is   |
   |                      |       | is followed by a comma, then more |
   |                      |       | detailed information such as      |
   |                      |       | state/province, another comma, and    |
   |                      |       | and then city.  For example, "US, |
   |                      |       | Texas, Austin".  This will allow  |
   |                      |       | for easy sorting.  It is okay to  |
   |                      |       | only store the country, or the    |
   |                      |       | country and the state/province.   |
   |                      |       | More detailed information can be  |
   |                      |       | added after the city through the  |
   |                      |       | use of additional commas.  In cases     |
   |                      |       | cases where the province/state is |
   |                      |       | unknown, but you want to store the    |
   |                      |       | the city, simply leave a space between    |
   |                      |       | between the two commas.  For example, "US,      |
   |                      |       | example, "US, , Austin".          |
   +----------------------+-------+-----------------------------------+
   | COMPOSER_NATIONALITY | UTF-8 | Nationality of the main composer  |
   |                      |       | of the item, mostly for classical |
   |                      |       | music.  The countries corresponding             |
   |                      |       | corresponding to the string, same |
   |                      |       | 2 octets as in Internet domains   |
   |                      |       | Internet domains [22], (https://www.iana.org/whois), or possibly  |
   |                      |       | possibly ISO-3166 [23].                 |
   +----------------------+-------+------------------------------------+
   |                      |       | (https://www.iso.org/iso-3166-    |
   |                      |       | country-codes.html).              |
   +----------------------+-------+-----------------------------------+

                                 Table 9

6.14.  Personal
   +--------------+-------+--------------------------------------------+

     +--------------+-------+----------------------------------------+
     | Tag Name     | Type  | Description                            |
   +--------------+-------+--------------------------------------------+
     +==============+=======+========================================+
     | COMMENT      | UTF-8 | Any comment related to the content.    |
     +--------------+-------+----------------------------------------+
     | PLAY_COUNTER | UTF-8 | The number of time the item has been   |
     |              |       | played.                                |
     +--------------+-------+----------------------------------------+
     | RATING       | UTF-8 | A numeric value defining how much a person    |
     |              |       | person likes the song/movie.  The number is      |
     |              |       | number is between 0 and 5 with decimal values |
     |              |       | values possible (e.g. 2.7), 5(.0) being the      |
     |              |       | being the highest possible rating. Other rating     |
     |              |       | Other rating systems with different ranges will have to    |
     |              |       | ranges will have to be scaled.         |
   +--------------+-------+--------------------------------------------+
     +--------------+-------+----------------------------------------+

                                  Table 10

6.15.  Technical Information
   +------------------+--------+---------------------------------------+

    +------------------+--------+-------------------------------------+
    | Tag Name         | Type   | Description                         |
   +------------------+--------+---------------------------------------+
    +==================+========+=====================================+
    | ENCODER          | UTF-8  | The software or hardware used to    |
    |                  |        | encode this item.  ("LAME" or       |
    |                  |        | "XviD")                             |
    +------------------+--------+-------------------------------------+
    | ENCODER_SETTINGS | UTF-8  | A list of the settings used for     |
    |                  |        | encoding this item.  No specific    |
    |                  |        | format.                             |
    +------------------+--------+-------------------------------------+
    | BPS              | UTF-8  | The average bits per second of the  |
    |                  |        | specified item.  This is only the data   |
    |                  |        | data in the Blocks, and excludes headers    |
    |                  |        | headers and any container overhead. |
    +------------------+--------+-------------------------------------+
    | FPS              | UTF-8  | The average frames per second of the    |
    |                  |        | the specified item.  This is typically the        |
    |                  |        | typically the average number of Blocks per second.     |
    |                  |        | Blocks per second.  In the event    |
    |                  |        | that lacing is used, each laced     |
    |                  |        | each laced chunk is to be counted as a         |
    |                  |        | a separate frame.                     |
    +------------------+--------+-------------------------------------+
    | BPM              | UTF-8  | Average number of beats per minute in  |
    |                  |        | in the complete target (e.g. a chapter).      |
    |                  |        | chapter).  Usually a decimal        |
    |                  |        | number.                             |
    +------------------+--------+-------------------------------------+
    | MEASURE          | UTF-8  | In music, a measure is a unit of time    |
    |                  |        | time in Western music like "4/4". It   |
    |                  |        | It represents a regular grouping of |
    |                  |        | beats, a meter, as indicated in     |
    |                  |        | musical notation by the time        |
    |                  |        | signature.. The majority of the     |
    |                  |        | contemporary rock and pop music you |
    |                  |        | hear on the radio these days is     |
    |                  |        | written in the 4/4 time signature.  |
    +------------------+--------+-------------------------------------+
    | TUNING           | UTF-8  | It is saved as a frequency in hertz |
    |                  |        | to allow near-perfect tuning of     |
    |                  |        | instruments to the same tone as the |
    |                  |        | musical piece (e.g. "441.34" in     |
    |                  |        | Hertz).  The default value is 440.0 |
    |                  |        | Hz.                                 |
    +------------------+--------+-------------------------------------+
    | REPLAYGAIN_GAIN  | binary | The gain to apply to reach 89dB SPL |
    |                  |        | on playback.  This is based on the  |
    |                  |        | Replay Gain standard [24].                |
    |                  |        | (http://www.replaygain.org/).  Note that |
    |                  |        | that ReplayGain information can be found  |
    |                  |        | found at all TargetType levels (track,      |
    |                  |        | (track, album, etc).                |
    +------------------+--------+-------------------------------------+
    | REPLAYGAIN_PEAK  | binary | The maximum absolute peak value of  |
    |                  |        | the item.  This is based on the Replay     |
    |                  |        | Replay Gain standard [25].                |
   +------------------+--------+---------------------------------------+
    |                  |        | (http://www.replaygain.org/).       |
    +------------------+--------+-------------------------------------+

                                  Table 11

6.16.  Identifiers

   +----------------+--------+-----------------------------------------+

   +----------------+-------+------------------------------------------+
   | Tag Name       | Type  | Description                              |
   +----------------+--------+-----------------------------------------+
   +================+=======+==========================================+
   | ISRC           | UTF-8  | The |The International Standard Recording Code |
   |                |       | Code [26], (http://www.ifpi.org/isrc/               |
   |                |       |isrc_handbook.html#Heading198), excluding the "ISRC" prefix |
   |                |       | the "ISRC" prefix and including hyphens. |
   +----------------+-------+------------------------------------------+
   | MCDI           | binary           |binary | This is a binary dump of the TOC of the  |
   |                |        | CDROM       |CDROM that this item was taken from.  This|
   |                |                |        | This holds       |holds the same information as the MCDI in |
   |                |       | MCDI in ID3.                                     |
   +----------------+-------+------------------------------------------+
   | ISBN           | UTF-8 | International Standard Book Number [27]       |
   |                |       | (https://www.isbn-international.org/)    |
   +----------------+-------+------------------------------------------+
   | BARCODE        | UTF-8 | EAN-13 [28] (European Article                                   |
   |                |       | (https://www.gs1.org/standards/barcodes/ |
   |                |       | ean-upc) (European Article Numbering) or |
   |                |       | UPC-A [29] (Universal (http://www.uc-council.org/)       |
   |                |       | (Universal Product Code) bar code        |
   |                |       | identifier                               |
   +----------------+-------+------------------------------------------+
   | CATALOG_NUMBER | UTF-8 | A label-specific string used to identify |
   |                |       | identify the release (TIC 01 for        |
   |                |        | example).        |
   +----------------+-------+------------------------------------------+
   | LABEL_CODE     | UTF-8 | A 4-digit or 5-digit number to identify  |
   |                |       | the record label, typically printed as   |
   |                |       | (LC) xxxx or (LC) 0xxxx on CDs medias or |
   |                |       | or covers (only the number is stored).      |
   +----------------+-------+------------------------------------------+
   | LCCN           | UTF-8 | Library of Congress Control Number [30]       |
   |                |       | (https://www.loc.gov/marc/lccn.html)     |
   +----------------+-------+------------------------------------------+
   | IMDB           | UTF-8 | Internet Movie Database (IMDb) [31]           |
   |                |       | (https://www.imdb.com/) identifier. 'tt' followed |
   |                |       |followed by at least 7 |
   |                |        | digits for Movies, TV Shows and |
   |                |       | TV Shows and Episodes.                   |
   +----------------+-------+------------------------------------------+
   | TMDB           | UTF-8 | The Movie Database (TMDb) [32]          |                |
   |                |       |(https://www.themoviedb.org/) identifier. The variable length digits  | |
   |                |       |The variable length digits string MUST be prefixed with either |
   |                |       | prefixed with either "movie/" or "tv/".  |
   +----------------+-------+------------------------------------------+
   | TVDB           | UTF-8 | The TV Database (TheTVDB) [33]                |
   |                |       | (https://www.thetvdb.com/) identifier.   |
   |                |       | Variable length all-digits string        |
   |                |       | string identifying a TV Show.                   |
   +----------------+--------+-----------------------------------------+
   +----------------+-------+------------------------------------------+

                                  Table 12

6.17.  Commercial
   +-------------------+-------+---------------------------------------+

    +-------------------+-------+------------------------------------+
    | Tag Name          | Type  | Description                        |
   +-------------------+-------+---------------------------------------+
    +===================+=======+====================================+
    | PURCHASE_ITEM     | UTF-8 | URL to purchase this file.  This is   |
    |                   |       | is akin to the WPAY tag in ID3.    |
    +-------------------+-------+------------------------------------+
    | PURCHASE_INFO     | UTF-8 | Information on where to purchase this   |
    |                   |       | this album.  This is akin to the WCOM tag   |
    |                   |       | WCOM tag in ID3.                   |
    +-------------------+-------+------------------------------------+
    | PURCHASE_OWNER    | UTF-8 | Information on the person who      |
    |                   |       | purchased the file.  This is akin to  |
    |                   |       | to the TOWN tag in ID3 [34].             |
    |                   |       | (http://id3.org/id3v2.3.0#TOWN).   |
    +-------------------+-------+------------------------------------+
    | PURCHASE_PRICE    | UTF-8 | The amount paid for entity.  There |
    |                   |       | SHOULD only be a numeric value in  |
    |                   |       | here.  Only numbers, no letters or |
    |                   |       | symbols other than ".".  For instance,       |
    |                   |       | instance, you would store "15.59" instead of  |
    |                   |       | instead of "$15.59USD".            |
    +-------------------+-------+------------------------------------+
    | PURCHASE_CURRENCY | UTF-8 | The currency type used to pay for the  |
    |                   |       | the entity.  Use ISO-4217 [35] for the 3          |
    |                   |       | (https://www.xe.com/iso4217.php)   |
    |                   |       | for the 3 letter currency code.    |
   +-------------------+-------+---------------------------------------+
    +-------------------+-------+------------------------------------+

                                 Table 13

6.18.  Legal

   +----------------------+-------+------------------------------------+

    +----------------------+-------+---------------------------------+
    | Tag Name             | Type  | Description                     |
   +----------------------+-------+------------------------------------+
    +======================+=======+=================================+
    | COPYRIGHT            | UTF-8 | The copyright information as per    |
    |                      |       | per the copyright holder.  This is akin |
    |                      |       | is akin to the TCOP tag in ID3. |
    +----------------------+-------+---------------------------------+
    | PRODUCTION_COPYRIGHT | UTF-8 | The copyright information as per    |
    |                      |       | per the production copyright holder.    |
    |                      |       | holder.  This is akin to the TPRO tag in    |
    |                      |       | TPRO tag in ID3.                |
    +----------------------+-------+---------------------------------+
    | LICENSE              | UTF-8 | The license applied to the content      |
    |                      |       | content (like Creative Commons  |
    |                      |       | variants).                      |
    +----------------------+-------+---------------------------------+
    | TERMS_OF_USE         | UTF-8 | The terms of use for this item. |
    |                      |       | This is akin to the USER tag in |
    |                      |       | ID3.                            |
   +----------------------+-------+------------------------------------+
    +----------------------+-------+---------------------------------+

                                 Table 14

6.19.  Notes

   o

   *  In the Target list, a logical OR is applied on all tracks, a
      logical OR is applied on all chapters.  Then a logical AND is
      applied between the Tracks list and the Chapters list to know if
      an element belongs to this Target.

7.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

8.  Informative References

7.1.  URIs

   [1] https://datatracker.ietf.org/wg/cellar/charter/

   [2] https://tools.ietf.org/html/rfc2119

   [3] http://www.matroska.org/files/tags/matroskatags.dtd

   [4] http://www.bunkus.org/videotools/mkvtoolnix/doc/
       mkvmerge.html#mkvmerge.tags

   [5] othertagsystems/comparetable.html

   [6] https://www.loc.gov/standards/iso639-2/php/English_list.php

   [7] http://id3.org/id3v2.3.0#TPE1

   [8] http://id3.org/id3v2.3.0#TPE2

   [9] http://id3.org/id3v2.3.0#TCOM

   [10] http://id3.org/id3v2.3.0#TEXT

   [11] http://id3.org/id3v2.3.0#TPE3

   [12] https://sno.phy.queensu.ca/~phil/exiftool/TagNames/RIFF.html

   [13] http://id3.org/id3v2.3.0#TENC

   [14] http://id3.org/id3v2.3.0#TPE4

   [15] http://id3.org/id3v2.3.0#TPUB

   [16] http://id3.org/id3v2.3.0#TMED

   [17] http://www.icra.org/

   [18] https://www.iana.org/whois

   [19] https://www.iso.org/iso-3166-country-codes.html

   [20] https://www.iana.org/whois

   [21] https://www.iso.org/iso-3166-country-codes.html

   [22] https://www.iana.org/whois

   [23] https://www.iso.org/iso-3166-country-codes.html

   [24] http://www.replaygain.org/

   [25] http://www.replaygain.org/

   [26] http://www.ifpi.org/isrc/isrc_handbook.html#Heading198

   [27] https://www.isbn-international.org/

   [28] https://www.gs1.org/standards/barcodes/ean-upc

   [29] http://www.uc-council.org/

   [30] https://www.loc.gov/marc/lccn.html

   [31] https://www.imdb.com/

   [32] https://www.themoviedb.org/

   [33] https://www.thetvdb.com/

   [34] http://id3.org/id3v2.3.0#TOWN

   [35] https://www.xe.com/iso4217.php

   [RIFF.tags]
              Exiftool, "RIFF Tags", October 2019,
              <https://sno.phy.queensu.ca/~phil/exiftool/TagNames/
              RIFF.html>.

Authors' Addresses

   Steve Lhomme

   Email: slhomme@matroska.org

   Moritz Bunkus

   Email: moritz@bunkus.org

   Dave Rice

   Email: dave@dericed.com