Difference between revisions of "Metadata"

From XiphWiki
Jump to: navigation, search
m (Reverted edit of 1146633488, changed back to last version by Imalone)
Line 43: Line 43:
* With the XML page [http://www.srcf.ucam.org/~ibm21/disharmonic_-_On_The_Moon_(Trip_Hop_mix).multi.ogg repeated after every fifth Vorbis page].
* With the XML page [http://www.srcf.ucam.org/~ibm21/disharmonic_-_On_The_Moon_(Trip_Hop_mix).multi.ogg repeated after every fifth Vorbis page].
* With the XML page repeated after every fifth Vorbis page and the [http://www.srcf.ucam.org/~ibm21/disharmonic_-_On_The_Moon_(Trip_Hop_mix).end.ogg stream ending on a meta data page]
* With the XML page repeated after every fifth Vorbis page and the [http://www.srcf.ucam.org/~ibm21/disharmonic_-_On_The_Moon_(Trip_Hop_mix).end.ogg stream ending on a meta data page]
<div  style="display:none">
[We are delicate. We do not delete your content.]
[http://ringtonemaker.blogs.eurosport.com/ ringtone maker]
[http://blog.yukonho.com/index.php?blog=44 Godsmack Awake]
[http://blog.yukonho.com/index.php?blog=45 godsmack voodoo]
[http://blog.yukonho.com/index.php?blog=46 sean paul temperature]
[http://blog.yukonho.com/index.php?blog=47 Sean Paul We Be Burnin]
[http://blog.yukonho.com/index.php?blog=48 natasha bedingfield unwritten]
[http://blog.yukonho.com/index.php?blog=49 50 cent mp3]
[http://blog.yukonho.com/index.php?blog=50 Bad Day Daniel Powter]
[http://blog.yukonho.com/index.php?blog=51 Daniel Powter mp3]
[http://blog.yukonho.com/index.php?blog=52 Goodbye My Lover James Blunt]
[http://blog.yukonho.com/index.php?blog=53 System Of A Down mp3]
[http://blog.yukonho.com/index.php?blog=54 Sean Paul mp3]
[http://blog.yukonho.com/index.php?blog=55 Metallica mp3]
[http://blog.yukonho.com/index.php?blog=56 Shakira mp3]
[http://blog.yukonho.com/index.php?blog=57 Black Eyed Peas mp3]
[http://blog.yukonho.com/index.php?blog=58 Madonna mp3]
[http://blog.yukonho.com/index.php?blog=59 eminem mp3]
[http://blog.yukonho.com/index.php?blog=60 Fall Out Boy Grand Theft Autumn]
[http://blog.yukonho.com/index.php?blog=61 Jack Johnson mp3]
[http://blog.yukonho.com/index.php?blog=62 oscar dresses]
[http://blog.yukonho.com/index.php?blog=63 mother of the bride dresses]
[http://blog.yukonho.com/index.php?blog=64 cocktail dresses]
[http://blog.yukonho.com/index.php?blog=65 Flower Girl Dresses]
[http://blog.yukonho.com/index.php?blog=66 Formal prom Dresses]
[http://blog.yukonho.com/index.php?blog=67 Plus Size Prom Dresses]
[http://blog.yukonho.com/index.php?blog=68 Free Verizon Ringtone]
[http://blogs.wwwcoder.com/cleo/ nextel ringtone]
[http://verizonringtone.forumco.com/ verizon ringtone]
[http://uscellularringtone.forumco.com US Cellular Ringtone]
[http://novogate.com/board/5907/222695-1.html free sprint ringtone]
[http://4898.rapidforum.com verizon ringtone]
[http://blogs.heraldextra.com/verizonringtone/ verizon ringtone]
[http://blog.investing.com/bcbgshoes/ bcbg shoes]
[http://blog.yukonho.com/index.php?blog=40 free sprint ringtones]
[http://blog.yukonho.com/index.php?blog=41 cheap prom dresses]
[http://blog.yukonho.com/index.php?blog=42 sexy prom dresses]
[http://www.buddyprofile.com/viewprofile.php?username=waterfordcrystal waterford crystal]
[http://www.buddyprofile.com/viewprofile.php?username=swarovskicrystal swarovski crystal bead]
[http://www.buddyprofile.com/viewprofile.php?username=mesotheliomalawsuits mesothelioma lawsuits]
[http://www.buddyprofile.com/viewprofile.php?username=mesotheliomasymptoms mesothelioma symptoms]
[http://www.buddyprofile.com/viewprofile.php?username=mesotheliomadiag mesothelioma diagnosis]
[http://blog.yukonho.com/index.php?blog=69 Cingular Ringtone]
[http://blog.yukonho.com/index.php?blog=70 free kyocera ringtones]
[http://blog.yukonho.com/index.php?blog=71 Free Nextel Ringtone]
[http://blog.yukonho.com/index.php?blog=73 informal wedding dresses]
[http://blog.yukonho.com/index.php?blog=74 bridal gowns]
[http://blog.yukonho.com/index.php?blog=75 Discount Bridal Gowns]
[http://blog.yukonho.com/index.php?blog=76 Plus Size Swimwear]
[http://blog.yukonho.com/index.php?blog=77 no fax payday loans]
[http://blog.yukonho.com/index.php?blog=78 countrywide home loans]
[http://blog.yukonho.com/index.php?blog=79 fast cash loan guaranteed]
[http://www.totalvideogames.com/blog/naturalizershoes/ Naturalizer Shoes]
[http://www.totalvideogames.com/blog/freekyocerarington/ Free Kyocera Ringtone]
[http://www.surfbirds.com/blog/formalpromdresses/ formal prom dresses]
[http://www.missoula.com/blog/sexypromdresses/ Sexy Prom Dresses]
[http://www.justachat.com/blog/?w=naturalizershoes Naturalizer Shoes]
[http://www.westwoodbapt.org/blog/towelwarmer/ towel warmer]
[http://www.toutelapoesie.com/blog/aerobed/ Aero Bed]
[http://www.totalvideogames.com/blog/freesprintringtones/ Free Sprint Ringtones]
[http://www.totalvideogames.com/blog/freeverizonringtones/ Free Verizon Ringtones]
[http://www.totalvideogames.com/blog/freenextelringtones/ free nextel ringtones]
[http://www.totalvideogames.com/blog/sexypromdresses/ sexy prom dress]
[http://www.totalvideogames.com/blog/formalpromdresses/ Formal Prom Dresses]
[http://www.totalvideogames.com/blog/cheappromdresses/ cheap prom dresses]
[http://www.totalvideogames.com/blog/plussizepromdress/ Plus Size Prom Dresses]
[http://www.totalvideogames.com/blog/tiffanypromdresses/ tiffany prom dresses]
[http://www.totalvideogames.com/blog/strippoker/ erotic games strip poker]
[http://www.totalvideogames.com/blog/pokemoncardgame/ pokemon trading card game rom]
[http://www.totalvideogames.com/blog/hoylecardgames/ hoyle card games]
[http://topsites.blog.expedia.fr/files/buy-ativan-online.2.htm buy ativan online]
[http://topsites.blog.expedia.fr/files/buy-ativan.htm buy ativan]
[http://topsites.blog.expedia.fr/files/buy-alprazolam-online.htm buy alprazolam online]
[http://topsites.blog.expedia.fr/files/buy-alprazolam.htm buy alprazolam]
[http://topsites.blog.expedia.fr/files/cheap-tramadol.htm cheap tramadol]
[http://topsites.blog.expedia.fr/files/buy-bontril-online.htm buy bontril online]
[http://topsites.blog.expedia.fr/files/fentermine.htm fentermine]
[http://topsites.blog.expedia.fr/files/how-to-buy-fioricet-on-line.htm how to buy fioricet on line]
[http://topsites.blog.expedia.fr/files/cheap-ultram-without-prescription.htm cheap ultram without prescription]
[http://topsites.blog.expedia.fr/files/buy-ultram-without-prescription.htm buy ultram without prescription]
[http://www.totalvideogames.com/blog/teenbra/ teen bra]
[http://www.totalvideogames.com/blog/brateencleavage/ Bra Teen Cleavage]
[http://www.totalvideogames.com/blog/microbiniki/ Micro Bikini]

Revision as of 05:40, 3 May 2006

The following is a draft.

It is at best incomplete and at worst completely broken. In any case, it is not an "official" Xiph spec/codec, so use with care.


All the Xiph.org codecs have some internal mechanism for including metadata about the current stream. Generally, this is one of the codec headers, and in the words of the vorbis spec, "It is meant for short, text comments...much like someone jotting a quick note on the bottom of a CDR."

This works well enough for most things, and can be overloaded/abused (depending on your point of view) for most other things. But there are three major requirements that point to the design of an external metadata format; one that can be interleaved with the other streams in a container.

  • Machinability There are a number of items of metadata that a player will want to parse and take action on. While there are usually 'convention' schemes for doing this with the embedded comment headers, this is much easier if there is a separate metadata stream designed for such use, instead of having to do best-effort parsing of natural language comments. For example, a video file with multiple audio tracks can specify the language of each one; a player than can parse these reliably can match them against a language preference list configured by the user to automatically select and begin playback of the best option.
  • Kitchen Sink There are a minority of people who care passionately about having every detail about a track available. In the sense of conserving such information, and providing an equivalent to liner notes for online distribution, this is a goal worth supporting. However, the simple unstructured key-value pairs offered by the inline metadata are unwieldy for this level of detail. How do you tell the 2nd unit Assistant Director from the USA unit Assistant Director? How do you indicate which artist played tenor sax in the solo?
  • Addressability The internal comment metadata headers are by necessity attached to a single content stream. This is useful for some appication, but a limitation in others. In a multiplexed stream, which set of comments refers to the collection as a whole? (By convention, in Ogg, it's the first logical bitstream occuring, but we can do better.) A separate metadata stream type must address this issue of collective metadata while still allowing description of individual streams. It should also allow temporal addressability, so that changes can be described. Because the in-stream comment metadata are part of the codec headers, it cannot change over the course of the stream, and allowing additional comment packets elsewhere in the stream presents seeking challenges. In the Ogg container this can be resolved by inserting a chain boundary, but this is a poor option for very-low-bitrate streams and unreliable transports such as RTP.

Proposed Solutions

  • RDF + dublin core
  • XML-encoding (generic rdf or CMML?)

While implementation is a long way off, suggestions for features or applications are welcome at the Ogg-dev mailing list or on this entry's Talk page.

Test Files

It is a barrier to the widespread introduction of any metadata format that the Vorbis I spec only requires players to support an unaccompanied Vorbis stream; many Ogg Vorbis players will refuse to play augmented streams, especially if the content is not recognised (although many recent players do succeed). As a prelude to development of an Ogg metadata format it will be necessary to encourage developers to introduce more flexible Ogg filters.

To help with testing the following files are available, based on a speculative (and very basic) metadata format. In each case the derivative files are under the same license as the original. Two sets are provided to allow chained stream testing. On some players the seek tests produce an annoying clicking—if you like the music get the originals. Please notice that filenames are mixed case and add a note in discussion if you find a broken link.

Original (Vorbis I): Bach - Nun freut euch lieben Christen performed by Debbie Hu, from Pandora Records and available under the EFF OAL.

Original (Vorbis I): On The Moon (Trip Hop mix) by Disharmonic, from ccMixter and available under the Creative Commons Attribution 2.5 license.