From XiphWiki
Revision as of 21:37, 27 October 2004 by (talk)
Jump to: navigation, search


All the 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?) 建筑用泡沫填缝 建筑装潢胶粘剂 胶水 胶粘 胶粘带 胶粘剂 胶粘剂原料 金刚石磨轮 精密注塑件 精细化学品 桔色硅胶 聚氨脂胶 聚氨酯 聚氨酯胶粘剂 聚氨酯清漆 聚氨酯树脂 聚氨酯油墨连接料 聚酯多元系列 聚酯漆 聚酯输送带 绝缘电气胶带 绝缘胶带 抗冲改性剂 空气过滤器用胶 快干环保装饰胶 蓝色硅胶 镭射烟用衬纸 冷裱膜系 冷补胶 离形胶带 沥青漆 邻苯二甲酰亚胺 六甲基二硅氮烷 六甲基二硅脲 铝箔复合胶 铝箔清漆 铝箔纸 铝型材表面处理药品 氯丁酚醛环保强力胶 氯丁万能胶 氯化树脂 氯化橡胶涂料 螺纹密封胶 螺纹锁固密封剂 玛拉胶带 锚杆钻机 锚杆钻机玻璃钢支腿 密封剂 密封胶 密封圈 棉纸基双面胶粘带 免水胶带 民用胶粘带 民用装饰涂料 模具胶专用补强剂 模温机 木板胶 木材湿接胶 木材专用组装胶 内墙腻子 内外墙涂料 纳米改性酚醛树脂 耐高温阻燃片材 尼龙输送带 黏合剂 尿布胶带 脲醛胶 脲醛脲粘剂 脲醛树脂胶 牛皮纸胶带 牛皮纸再湿胶带 蒎烯 泡棉胶 泡棉胶带 喷胶 批土 皮革工业用双面胶带 拼板胶 平面密封剂 普通输送带 汽车密封胶 汽车配线 汽车刹车片 汽车瞬间堵漏胶 汽车通用胶 强力装饰胶粘剂 清洗剂 氰基丙烯酸酯胶 全息铝箔 全息烟膜 染料 染料中间体 热固性酚醛树脂 热熔胶 热熔压敏胶 热熔粘合剂 热塑性酚醛树脂 日常用化工品 双酚 双酚A树脂单体 双面胶 双面胶带 水晶胶 水溶性复合胶 水性聚氨酯胶 树脂锚固剂 瞬间固化强力胶 瞬间胶 瞬间强力胶 四氢邻苯二甲酰亚胺 松香丁苯胶 塑胶 塑料 塑料包装 塑料改性材料 塑料容器 塑料上光油 酸性结构胶 羧基丁苯胶乳 太阳胶 炭布 炭绳 炭毡 特殊双面胶带 特种助剂 天燃气置换密封胶 填缝剂 萜烯树脂 铜版 透明玻胶 涂料 脱漆剂 万吨级连续化萜烯树脂装置 万能胶 文具胶 无纺布粘合剂 无钴变色硅胶 无机胶 无醛水性高分子胶粘剂 无三苯家俱用胶 无三苯鞋用胶粘剂 无三苯装饰万能胶 细空球形硅胶 细孔硅胶 橡胶型压敏胶 消磁线圈线束缠绕 硝基各色醇酸磁漆 硝基漆 鞋用聚氨酯胶粘剂 鞋用粘胶 烟片胶 颜料糊 颜料染料 厌氧胶 厌氧密封胶粘剂 腰果壳油改性酚醛树脂 药水糊 液晶 医药产品 医药中间体 乙苯 乙烯基树脂 异氰酸酯 印花粘合剂 印染前处理 印染助剂 印刷用油墨 荧光纸 油墨 有机硅材料 有机硅产品 有机硅胶 有机硅密封胶 有机无机颜料 渔竿把柄材料 圆柱型零件固持剂 增粘树脂 粘合剂 真空炉加热室总成 织物粘合专用胶 植绒胶 植物胶 指接胶 制鞋胶粘剂 中空容器 中温粘合剂 中性硅酮密封胶 中性硅酮耐候胶 中性结构胶 助剂 转移膜 装饰工程用双面胶带 装饰胶 装饰漆 装饰五金材料 装修漆 自喷漆 阻燃 组合浆料 组合聚醚 溶剂型丙烯酸酯压敏胶剂 乳胶漆 乳液 三甲氧基水杨酸 三氧化二锑 三元乙丙胶 杀菌净手器 刹车液 云石胶 树脂胶粘剂