Skip to content


MP4 File Tagger - Version 1.2 (Bento4 Version
(c) 2002-2008 Axiomatic Systems, LLC

usage: mp4tag [options] [commands...] <input> [<output>]
  --help            print this usage information
  --show-tags       show tags found in the input file
  --list-symbols    list all the builtin symbols
  --list-keys       list all the builtin symbolic key names
  --set <key>:<type>:<value>
      set a tag (if the tag does not already exist, set behaves like add)
  --add <key>:<type>:<value>
      set/add a tag
      where <type> is:
        S    if <value> is a UTF-8 string
        LS   if <value> is a UTF-8 string with a language code (see notes)
        I8   if <value> is an 8-bit integer
        I16  if <value> is a 16-bit integer
        I32  if <value> is a 32-bit integer
        JPEG if <value> is the name of a JPEG file
        GIF  if <value> is the name of a GIF file
        B    if <value> is a binary string (see notes)
        Z    if <value> is the name of a builtin symbol
  --remove <key>
       remove a tag
  --extract <key>:<file>
       extract the value of a tag and save it to a file

  In all commands with a <key> argument, except for '--add', <key> can be 
  <key-name> or <key-name>#n where n is the zero-based index of the key when
  there is more than one key with the same name (ex: multiple images for cover
  A <key-name> has the form <namespace>/<name> or simply <name> (in which case
  the namespace defaults to 'meta').
  The <name> of a key is either one of a symbolic keys
  (see --list-keys) or a 4-character atom name.
  The namespace can be 'meta' for itunes-style metadata or 'dcf' for
  OMA-DCF-style metadata, or a user-defined long-form namespace
  Binary strings can be expressed as a normal string of ASCII characters
  prefixed by a + character if all the bytes fall in the ASCII range,
  or hex-encoded prefixed by a # character (ex: +hello, or #0FC4)
  Strings with a language code are expressed as: <lang>:<string>,
  where <lang> is a 3 character language code (ex: eng:hello)