Metadata: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
No edit summary
(Changed tense of M3F + tidy)
 
(61 intermediate revisions by 14 users not shown)
Line 1: Line 1:
==Motivation==
This page aims to give an overview of the current state of metadata in Ogg and the ongoing projects towards improving it. The different components work in concert; for example [[Ogg Skeleton]] provides important infrastructure for [[CMML]], [[VorbisComment]] is simple to use and program, while the draft [[M3F|Multimedia Metadata Format (M3F)]] provides more sophisticated information.
 
== [[VorbisComment]]s ==


All the Xiph.org codecs have some internal mechanism for including metadata about the current stream.
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 [http://www.xiph.org/ogg/vorbis/doc/v-comment.html vorbis spec],  
Generally, this is one of the codec headers, and in the words of the [http://www.xiph.org/vorbis/doc/v-comment.html vorbis spec],  
"It is meant for short, text comments...much like someone jotting a quick note on the bottom of a CDR."
"It is meant for short, text comments ... much like someone jotting a quick note on the bottom of a CDR." A single VorbisComment can store upto 2^64 bytes (16 exabytes).
 
VorbisComments store metadata describing the stream in key=value pairs, such as "ARTIST=Elvis", "TITLE=Blue Suede Shoes". Multiple copies of any given key are allowed (for example you can specify ARTIST several times for multiple performers). The specification has several suggested keys: TITLE, VERSION, ALBUM, TRACKNUMBER, ARTIST, PERFORMER, COPYRIGHT, LICENSE, ORGANIZATION, DESCRIPTION, GENRE, DATE, LOCATION, CONTACT, ISRC. See the [http://www.xiph.org/vorbis/doc/v-comment.html specification] for the intent of each one.
 
The [[VorbisComment]] page contains improvements to the suggested comment set.
 
== [[FLAC]] metadata blocks ==
 
Metadata is included in the FLAC codec as METADATA_BLOCK_DATA. Seven types of metadata block are defined: 
#''METADATA_BLOCK_STREAMINFO'': Sample rate, number of channels, etc.
#''METADATA_BLOCK_PADDING'': Nul padding.
#''METADATA_BLOCK_APPLICATION'': Third-party applications can register an ID. Metadata is typically 32-bit integers, but any datatypes can be specified.
#''METADATA_BLOCK_SEEKTABLE'': For one or more seek points.
#''METADATA_BLOCK_VORBIS_COMMENT'': Also known as FLAC tags, the contents of a VorbisComment packet. Note that the 32-bit field lengths are little-endian coded according to the Vorbis spec, as opposed to the usual big-endian coding of fixed-length integers in the rest of FLAC. FLAC metadata blocks are limited to 2^24 bytes (16 megabytes) and a VorbisComment packet in FLAC must fit within that limit.
#''METADATA_BLOCK_CUESHEET'': Typically, but not necessarily, for CD-DA (Red Book) cuesheets.
#''METADATA_BLOCK_PICTURE'': For binary picture data.
 
== [[Ogg Skeleton]] ==
 
[[Ogg Skeleton]] provides metadata useful for handling Ogg streams. This includes information like mime-types and mapping for granulepos which allows seeking streams without the need for the demuxer to understand them. The latest version, [[Ogg Skeleton 4]], also provides a keyframe index to enable faster seeking over high latency networks.
 
Ogg Skeleton allows for attachment of message header fields, given as name-value pairs, that contain some sort of protocol messages about the logical bitstream. This is intended for decode related stuff, such as the screen size for a video bitstream or the number of channels for an audio bitstream.
 
== [[OggKate]] ==
 
[[OggKate]] was originally designed for karaoke and text. The stream can carry text and images, and these can be animated.
 
== [[CMML]] (deprecated) ==
 
CMML is not used anymore; use [[OggKate]] instead. The [[CMML|Continuous Media Markup Language]] allowed time-based marking up of media streams, at its simplest this allowed you to divide media files into clips and provide information about each clip.
 
== [[M3F]] (unused draft) ==
 
[[M3F|Multimedia Metadata Format]] is not being developed anymore; use [[VorbisComment]] instead.
 
The format was intended to replace VorbisComments for the use of ''structured'' metadata, allowing VorbisComments to revert to its orginally intended use of "short, text comments ... much like someone jotting a quick note on the bottom of a CDR."
 
[[M3F]] for the Ogg container was a draft specification which aimed to provide metadata for media streams. The exact aims of this project were still under development, but they included being able to describe artist relationships to a piece more accurately as well as providing the structure to encourage more reliable metadata.


This works well enough for most things, and can be overloaded/abused (depending on your point of view)
== [[XMLEmbedding]] (unused draft) ==
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.
To implement XML metadata in Ogg (as for [[M3F]]), a mapping to Ogg streams is needed. The use of XML metadata will also open the way for the inclusion of technologies such as:
* RDF + dublin core
* [http://www.adobe.com/products/xmp/ XMP]
* [http://wiki.musicbrainz.org/MusicBrainzXMLMetaData MusicBrainz]
* [http://www.w3.org/Graphics/SVG/ SVG]
This specification is still not past the discussion stage.


* ''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?
== Aims of advanced metadata ==


* ''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.
VorbisComments work 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.


==Proposed Solutions==
* '''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.


RDF + dublin core
* '''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?


XML-encoding (generic rdf or CMML?)
* '''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.
[http://www.gsyb.com压力表]
[http://www.shop263.com/i-413/938.htm 灌装机]
[http://www.shop263.com/i-413/939.htm 光触媒材料]
[http://www.shop263.com/i-413/940.htm 光固化地坪]
[http://www.shop263.com/i-413/941.htm 光固化涂料用树脂]
[http://www.shop263.com/i-413/942.htm 光缆集中监测系统]
[http://www.shop263.com/i-413/943.htm 光膜]
[http://www.shop263.com/i-413/944.htm 光学材料制造]
[http://www.shop263.com/i-413/945.htm 光学眼镜毛坯]
[http://www.shop263.com/i-413/946.htm 光阻剂]
[http://www.shop263.com/i-413/947.htm 广播级摄像机锂离子电池]
[http://www.shop263.com/i-413/948.htm 广告袋]
[http://www.shop263.com/i-413/949.htm 广告赠品]
[http://www.shop263.com/i-413/950.htm 规整波纹填料]
[http://www.shop263.com/i-413/951.htm 硅胶]
[http://www.shop263.com/i-413/952.htm 硅胶按键]
[http://www.shop263.com/i-413/953.htm 硅胶小包装]
[http://www.shop263.com/i-413/954.htm 硅凝胶]
[http://www.shop263.com/i-413/955.htm 硅酸锆]
[http://www.shop263.com/i-413/956.htm 硅酸盐水泥]
[http://www.shop263.com/i-413/957.htm 硅酮胶包装瓶]
[http://www.shop263.com/i-413/958.htm 硅烷交联聚乙烯电缆绝缘料耐环]
[http://www.shop263.com/i-413/959.htm 硅微粉]
[http://www.shop263.com/i-413/960.htm 国际国内贸易]
[http://www.shop263.com/i-413/961.htm 过滤布]
[http://www.shop263.com/i-413/962.htm 过滤稀土瓷砂]
[http://www.shop263.com/i-413/963.htm 海水电解不溶性氧化物电极]
[http://www.shop263.com/i-413/964.htm 含油尼龙]
[http://www.shop263.com/i-413/965.htm 航空煤油]
[http://www.shop263.com/i-413/966.htm 航空器材]
[http://www.shop263.com/i-413/967.htm 航空润滑油]
[http://www.shop263.com/i-413/968.htm 合成革]
[http://www.shop263.com/i-413/969.htm 合成树脂]
[http://www.shop263.com/i-413/970.htm 合成型热传导液]
[http://www.shop263.com/i-413/971.htm 黑白全色胶卷]
[http://www.shop263.com/i-413/972.htm 黑白全色胶片]
[http://www.shop263.com/i-413/973.htm 黑色抗静电塑料原料]
[http://www.shop263.com/i-413/974.htm 红外防伪发光材料]
[http://www.shop263.com/i-413/975.htm 红外激光探测板]
[http://www.shop263.com/i-413/976.htm 糊用聚氯乙烯树脂]
[http://www.shop263.com/i-413/977.htm 护耳罩]
[http://www.shop263.com/i-413/978.htm 护罩盖]
[http://www.shop263.com/i-413/979.htm 花钵]
[http://www.shop263.com/i-413/980.htm 花岗岩板材]
[http://www.shop263.com/i-413/981.htm 花坛]
[http://www.shop263.com/i-413/982.htm 滑石粉]
[http://www.shop263.com/i-413/983.htm 化肥]
[http://www.shop263.com/i-413/984.htm 化工填料]
[http://www.shop263.com/i-413/985.htm 化合物纳米粉末]
[http://www.shop263.com/i-413/986.htm 化纤]
[http://www.shop263.com/i-413/987.htm 化纤绸]
[http://www.shop263.com/i-413/988.htm 化纤面料]
[http://www.shop263.com/i-413/989.htm 化学矿]
[http://www.shop263.com/i-413/990.htm 化学试剂]
[http://www.shop263.com/i-413/991.htm 化学纤维丝网]
[http://www.shop263.com/i-413/992.htm 化学纤维油剂]
[http://www.shop263.com/i-413/993.htm 化油器清洗剂]
[http://www.shop263.com/i-413/994.htm 化妆品]
[http://www.shop263.com/i-413/995.htm 化妆品玻璃]
[http://www.shop263.com/i-413/996.htm 化妆品工艺]
[http://www.shop263.com/i-413/997.htm 化妆品瓶]
[http://www.shop263.com/i-413/998.htm 化妆品容器]
[http://www.shop263.com/i-413/999.htm 化妆品添加剂]
[http://www.shop263.com/i-413/1000.htm 环保大芯板]
[http://www.shop263.com/i-413/1001.htm 环保垃圾桶]
[http://www.shop263.com/i-413/1001.htm 环保滤料]
[http://www.shop263.com/i-413/1002.htm 环保乳胶漆]
[http://www.shop263.com/i-413/1003.htm 环境工程]
[http://www.shop263.com/i-413/1004.htm 环氧胶系列]
[http://www.shop263.com/i-413/1005.htm 环氧树脂]
[http://www.shop263.com/i-413/1006.htm 环氧系列固化稀释剂]
[http://www.shop263.com/i-413/1007.htm 黄蜡]
[http://www.shop263.com/i-413/1008.htm 黄抛光膏]
[http://www.shop263.com/i-413/1009.htm 磺化酞菁钴]
[http://www.shop263.com/i-413/1010.htm 回位装置]
[http://www.shop263.com/i-413/1011.htm 混苯]
[http://www.shop263.com/i-413/1012.htm 混合气体]
[http://www.shop263.com/i-413/1013.htm 混凝土防水屏障]
[http://www.shop263.com/i-413/1014.htm 混凝土膨剂]
[http://www.shop263.com/i-413/1015.htm 火柴]
[http://www.shop263.com/i-413/1016.htm 机械护罩]
[http://www.shop263.com/i-413/1017.htm 机械油]
[http://www.shop263.com/i-413/1018.htm 机械油封]
[http://www.shop263.com/i-413/1019.htm 机制甘油香皂]
[http://www.shop263.com/i-413/1020.htm 机制透明皂]
[http://www.shop263.com/i-413/1021.htm 激光照排胶片冲洗套药]
[http://www.shop263.com/i-413/1022.htm 集装桶]
[http://www.shop263.com/i-413/1023.htm 加氢阻垢剂]
[http://www.shop263.com/i-413/1024.htm 夹层玻璃]
[http://www.shop263.com/i-413/1025.htm 家庭急救用品]
[http://www.shop263.com/i-413/1026.htm 甲苯]
[http://www.shop263.com/i-413/1027.htm 甲基苯三唑]
[http://www.shop263.com/i-413/1028.htm 甲基丙烯酸甲酯]
[http://www.shop263.com/i-413/1029.htm 甲基儿茶酚]
[http://www.shop263.com/i-413/1030.htm 甲基二乙醇胺]
[http://www.shop263.com/i-413/1031.htm 甲基腈]
[http://www.shop263.com/i-413/1032.htm 甲基萘]
[http://www.shop263.com/i-413/1033.htm 甲基异丁基甲酮]
[http://www.shop263.com/i-413/1034.htm 甲醚化六羟甲基三聚氰胺树脂]
[http://www.shop263.com/i-413/1035.htm 甲酸]
[http://www.shop263.com/i-413/1036.htm 减速机专用脂]
[http://www.shop263.com/i-413/1037.htm 剪切平直型]
[http://www.shop263.com/i-413/1038.htm 碱锌光亮剂]
[http://www.shop263.com/i-413/1039.htm 碱性锌锰]
[http://www.shop263.com/i-413/1040.htm 碱性锌锰干电池]
[http://www.shop263.com/i-413/1041.htm 建材]
[http://www.shop263.com/i-413/1042.htm 建筑材料]
[http://www.shop263.com/i-413/1043.htm 建筑钢材]
[http://www.shop263.com/i-413/1044.htm 建筑模板]
[http://www.shop263.com/i-413/1045.htm 建筑模板生产车间]
[http://www.shop263.com/i-413/1046.htm 健身器材]
[http://www.shop263.com/i-413/1047.htm 键盘内衬]
[http://www.shop263.com/i-413/1048.htm 胶辊胶]
[http://www.shop263.com/i-413/1049.htm 胶合板模板平铺施工]
[http://www.shop263.com/i-413/1050.htm 胶木粉]
[http://www.shop263.com/i-413/1051.htm 焦宝石]
[http://www.shop263.com/i-413/1052.htm 焦亚硫酸钠]
[http://www.shop263.com/i-413/1053.htm 巾包装袋]
[http://www.shop263.com/i-413/1054.htm 金锭]
[http://www.shop263.com/i-413/1055.htm 金漆镶嵌]
[http://www.shop263.com/i-413/1056.htm 金属表面处理剂]
[http://www.shop263.com/i-413/1057.htm 金属加工用油]
[http://www.shop263.com/i-413/1058.htm 金属加工油]
[http://www.shop263.com/i-413/1059.htm 金属纳米粉末]
[http://www.shop263.com/i-413/1060.htm 锦纶6聚合]
[http://www.shop263.com/i-413/1061.htm 锦纶丝]
[http://www.shop263.com/i-413/1062.htm 锦纶线]
[http://www.shop263.com/i-413/1063.htm 精甲醇]
[http://www.shop263.com/i-413/1064.htm 精密仪器]
[http://www.shop263.com/i-413/1065.htm 精密铸造]
[http://www.shop263.com/i-413/1066.htm 精品搪瓷]
[http://www.shop263.com/i-413/1067.htm 精塑制品]
[http://www.shop263.com/i-413/1068.htm 精细化工]
[http://www.shop263.com/i-413/1069.htm 精制盐]
[http://www.shop263.com/i-413/1070.htm 警示带]
[http://www.shop263.com/i-413/1071.htm 净化设备]
[http://www.shop263.com/i-413/1072.htm 镜片胶]
[http://www.shop263.com/i-413/1073.htm 镜铜纸]
[http://www.shop263.com/i-413/1074.htm 酒精消毒湿巾]
[http://www.shop263.com/i-413/1075.htm 局部镀铝膜]
[http://www.shop263.com/i-413/1076.htm 矩形镀铜碳棒]
[http://www.shop263.com/i-413/1077.htm 矩形气刨炭棒]
[http://www.shop263.com/i-413/1078.htm 聚氨脂防水涂料]
[http://www.shop263.com/i-413/1079.htm 聚氨酯]
[http://www.shop263.com/i-413/1080.htm 聚氨酯树脂]
[http://www.shop263.com/i-413/1081.htm 聚胺脂泡沫填缝剂]
[http://www.shop263.com/i-413/1082.htm 聚丙烯]
[http://www.shop263.com/i-413/1083.htm 聚丙烯捆扎绳]
[http://www.shop263.com/i-413/1084.htm 聚丙烯填料]
[http://www.shop263.com/i-413/1085.htm 聚合硫酸铁]
[http://www.shop263.com/i-413/1086.htm 聚合物锂离子电池]
[http://www.shop263.com/i-413/1087.htm 聚氯乙烯复合管]
[http://www.shop263.com/i-413/1088.htm 聚氯乙烯加工助剂]
[http://www.shop263.com/i-413/1089.htm 聚氯乙烯排水管]
[http://www.shop263.com/i-413/1090.htm 聚醚多元醇]
[http://www.shop263.com/i-413/1091.htm 聚四氟乙烯]
[http://www.shop263.com/i-413/1092.htm 聚四氟乙烯密封圈]
[http://www.shop263.com/i-413/1093.htm 聚四氟乙烯制品]
[http://www.shop263.com/i-413/1094.htm 聚烯烃复合纤维]
[http://www.shop263.com/i-413/1095.htm 聚乙二醇]
[http://www.shop263.com/i-413/1096.htm 聚乙烯]
[http://www.shop263.com/i-413/1097.htm 聚乙烯醇]
[http://www.shop263.com/i-413/1098.htm 聚乙烯工农用薄膜]
[http://www.shop263.com/i-413/1099.htm 聚乙烯购物袋]
[http://www.shop263.com/i-413/1100.htm 聚酯薄膜]
[http://www.shop263.com/i-413/1101.htm 聚酯切片]
[http://www.shop263.com/i-413/1102.htm 聚酯芯输送带]
[http://www.shop263.com/i-413/1103.htm 卷装背心]
[http://www.shop263.com/i-413/1104.htm 卷装食品保鲜袋]
[http://www.shop263.com/i-413/1105.htm 绝缘护套]
[http://www.shop263.com/i-413/1106.htm 绝缘料聚丙烯管材专用料]
[http://www.shop263.com/i-413/1107.htm 军用高分子材料]
[http://www.shop263.com/i-413/1108.htm 卡扣线系列产品]
[http://www.shop263.com/i-413/1109.htm 聚晶石]
[http://www.shop263.com/i-413/1110.htm 开缸剂]
[http://www.shop263.com/i-413/1111.htm 开水炉]
[http://www.shop263.com/i-413/1112.htm 康复理疗器械]
[http://www.shop263.com/i-413/1113.htm 抗静电高分子材料]
[http://www.shop263.com/i-413/1114.htm 抗磨液压油]
[http://www.shop263.com/i-413/1115.htm 空气除尘滤袋]
[http://www.shop263.com/i-413/1116.htm 空气清新剂]
[http://www.shop263.com/i-413/1117.htm 苦味酸]
[http://www.shop263.com/i-413/1118.htm 矿物型导热油]
[http://www.shop263.com/i-413/1119.htm 矿渣硅酸盐水泥]
[http://www.shop263.com/i-413/1120.htm 垃圾袋]
[http://www.shop263.com/i-413/1121.htm 拉挤树脂]
[http://www.shop263.com/i-413/1122.htm 拉链片]
[http://www.shop263.com/i-413/1123.htm 蜡烛]
[http://www.shop263.com/i-413/1124.htm 蜡烛台玻璃]
[http://www.shop263.com/i-413/1125.htm 老弱病残护理商品]
[http://www.shop263.com/i-413/1126.htm 雷射]
[http://www.shop263.com/i-413/1127.htm 雷射雕刻按键]
[http://www.shop263.com/i-413/1128.htm 镭射膜]
[http://www.shop263.com/i-413/1129.htm 镭射转印膜]
[http://www.shop263.com/i-413/1130.htm 冷拔钢丝型]
[http://www.shop263.com/i-413/1131.htm 冷却塔]
[http://www.shop263.com/i-413/1132.htm 冷热水管]
[http://www.shop263.com/i-413/1133.htm 离子交换树脂]
[http://www.shop263.com/i-413/1134.htm 礼花弹]
[http://www.shop263.com/i-413/1135.htm 礼品玻璃]
[http://www.shop263.com/i-413/1136.htm 锂离子电池充电器]
[http://www.shop263.com/i-413/1137.htm 沥青]
[http://www.shop263.com/i-413/1138.htm 连接气刨炭棒]
[http://www.shop263.com/i-413/1139.htm 连接式镀铜碳棒]
[http://www.shop263.com/i-413/1140.htm 连卷袋]
[http://www.shop263.com/i-413/1141.htm 连体豪华玻璃洗手盆]
[http://www.shop263.com/i-413/1142.htm 连铸保护渣]
[http://www.shop263.com/i-413/1143.htm 炼油]
[http://www.shop263.com/i-413/1144.htm 磷矿粉]
[http://www.shop263.com/i-413/1145.htm 磷矿石]
[http://www.shop263.com/i-413/1146.htm 磷酸二氢铝]
[http://www.shop263.com/i-413/1147.htm 磷酸二氢镁]
[http://www.shop263.com/i-413/1148.htm 磷酸氢镁]
[http://www.shop263.com/i-413/1149.htm 磷酸盐]
[http://www.shop263.com/i-413/1150.htm 流态化石灰粉]
[http://www.shop263.com/i-413/1151.htm 硫磺块]
[http://www.shop263.com/i-413/1152.htm 硫酸锆]
[http://www.shop263.com/i-413/1153.htm 硫酸铅]
[http://www.shop263.com/i-413/1154.htm 硫酸氧锆]
[http://www.shop263.com/i-413/1155.htm 柳编制品]
[http://www.shop263.com/i-413/1156.htm 滤紫外线石英管]
[http://www.shop263.com/i-413/1157.htm 铝箔封口垫片]
[http://www.shop263.com/i-413/1158.htm 铝箔食品容器]
[http://www.shop263.com/i-413/1159.htm 铝材光亮剂]
[http://www.shop263.com/i-413/1160.htm 铝合金氧化]
[http://www.shop263.com/i-413/1161.htm 铝用碳素]
[http://www.shop263.com/i-413/1162.htm 绿色环保型增塑剂]
[http://www.shop263.com/i-413/1163.htm 氯化铵]
[http://www.shop263.com/i-413/1164.htm 氯化钾]
[http://www.shop263.com/i-413/1165.htm 氯化聚乙烯卷材]
[http://www.shop263.com/i-413/1166.htm 氯化镁]
[http://www.shop263.com/i-413/1167.htm 氯化石蜡]
[http://www.shop263.com/i-413/1168.htm 氯化石蜡油清]
[http://www.shop263.com/i-413/1169.htm 氯碱工业隔膜法]
[http://www.shop263.com/i-413/1170.htm 氯碱化工]
[http://www.shop263.com/i-413/1171.htm 氯霉素原料药]
[http://www.shop263.com/i-413/1172.htm 氯霉素中间体]
[http://www.shop263.com/i-413/1173.htm 氯酸盐工业用金属阳极]
[http://www.shop263.com/i-413/1174.htm 箩筐]
[http://www.shop263.com/i-413/1175.htm 螺栓松动剂]
[http://www.shop263.com/i-413/1176.htm 埋弧焊用烧结焊剂]
[http://www.shop263.com/i-413/1177.htm 梅花点波纹填料]
[http://www.shop263.com/i-413/1178.htm 煤焦油瓷漆]
[http://www.shop263.com/i-413/1179.htm 煤炭]
[http://www.shop263.com/i-413/1180.htm 煤油]
[http://www.shop263.com/i-413/1181.htm 美容面罩]
[http://www.shop263.com/i-413/1182.htm 美容泡泡沐浴露]
[http://www.shop263.com/i-413/1183.htm 美容纸]
[http://www.shop263.com/i-413/1184.htm 镁基脱硫剂]
[http://www.shop263.com/i-413/1185.htm 密封材料]
[http://www.shop263.com/i-413/1186.htm 密封段]
[http://www.shop263.com/i-413/1187.htm 密封件]
[http://www.shop263.com/i-413/1188.htm 密封胶溶剂]
[http://www.shop263.com/i-413/1189.htm 密封胶条]
[http://www.shop263.com/i-413/1190.htm 密压板]
[http://www.shop263.com/i-413/1191.htm 棉麻固色油]
[http://www.shop263.com/i-413/1192.htm 免洗型助焊剂]
[http://www.shop263.com/i-413/1193.htm 模具标准件加工]
[http://www.shop263.com/i-413/1194.htm 模具硅胶]
[http://www.shop263.com/i-413/1195.htm 模具注塑]
[http://www.shop263.com/i-413/1196.htm 模内标签]
[http://www.shop263.com/i-413/1197.htm 模内转印]
[http://www.shop263.com/i-413/1198.htm 模造纸]
[http://www.shop263.com/i-413/1199.htm 摩托车挡风玻璃]
[http://www.shop263.com/i-413/1200.htm 磨擦试验机]
[http://www.shop263.com/i-413/1201.htm 木材表面转印膜]
[http://www.shop263.com/i-413/1202.htm 木钙]
[http://www.shop263.com/i-413/1203.htm 木钠]
[http://www.shop263.com/i-413/1204.htm 木糖]
[http://www.shop263.com/i-413/1205.htm 木糖醇]
[http://www.shop263.com/i-413/1206.htm 木质素磺酸钙]
[http://www.shop263.com/i-413/1207.htm 内燃机油]
[http://www.shop263.com/i-413/1208.htm 高效脱硫剂]
[http://www.shop263.com/i-413/1209.htm 高效脱硫脱碳剂]
[http://www.shop263.com/i-413/1210.htm 高效脱漆剂]
[http://www.shop263.com/i-413/1211.htm 高效阻燃剂]
[http://www.shop263.com/i-413/1212.htm 复合橡胶分散剂]
[http://www.shop263.com/i-413/1213.htm 锆氟酸铵]
[http://www.shop263.com/i-413/1214.htm 锆氟酸钾]
[http://www.shop263.com/i-413/1215.htm 锆刚玉]
[http://www.shop263.com/i-413/1216.htm 锆英粉]
[http://www.shop263.com/i-413/1217.htm 锆英砂]
[http://www.shop263.com/i-413/1218.htm 隔热耐烧蚀涂料]
[http://www.shop263.com/i-413/1219.htm 各种溶剂]
[http://www.shop263.com/i-413/1220.htm 各种卫生纸]
[http://www.shop263.com/i-413/1221.htm 各种橡胶杂件]
[http://www.shop263.com/i-413/1222.htm 各种粘结剂]
[http://www.shop263.com/i-413/1223.htm 铬矿]
[http://www.shop263.com/i-413/1224.htm 给排水管件管材]
[http://www.shop263.com/i-413/1225.htm 给水管材]
[http://www.shop263.com/i-413/1226.htm 工程塑料包装]
[http://www.shop263.com/i-413/1227.htm 工程橡塑]
[http://www.shop263.com/i-413/1228.htm 工具箱]
[http://www.shop263.com/i-413/1229.htm 工矿橡胶配件]
[http://www.shop263.com/i-413/1230.htm 工业苯]
[http://www.shop263.com/i-413/1231.htm 工业齿轮油]
[http://www.shop263.com/i-413/1232.htm 工业缝包线]
[http://www.shop263.com/i-413/1233.htm 设备清洗]
[http://www.shop263.com/i-413/1234.htm 工业级羊毛脂]
[http://www.shop263.com/i-413/1235.htm 工业甲醛]
[http://www.shop263.com/i-413/1236.htm 工业硫酸]
[http://www.shop263.com/i-413/1237.htm 工业清洗剂]
[http://www.shop263.com/i-413/1238.htm 工业热风炉]
[http://www.shop263.com/i-413/1239.htm 工业润滑油]
[http://www.shop263.com/i-413/1240.htm 工业碳酸锂]
[http://www.shop263.com/i-413/1241.htm 工业陶瓷]
[http://www.shop263.com/i-413/1242.htm 工业盐]
[http://www.shop263.com/i-413/1243.htm 工业用润滑油]
[http://www.shop263.com/i-413/1244.htm 工业用塑料薄膜]
[http://www.shop263.com/i-413/1245.htm 工业用油]
[http://www.shop263.com/i-413/1246.htm 工艺玻璃]
[http://www.shop263.com/i-413/1247.htm 工艺雕刻用牛角]
[http://www.shop263.com/i-413/1248.htm 工艺品树脂]
[http://www.shop263.com/i-413/1249.htm 健康监测仪器]

Latest revision as of 11:44, 24 July 2013

This page aims to give an overview of the current state of metadata in Ogg and the ongoing projects towards improving it. The different components work in concert; for example Ogg Skeleton provides important infrastructure for CMML, VorbisComment is simple to use and program, while the draft Multimedia Metadata Format (M3F) provides more sophisticated information.

VorbisComments

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." A single VorbisComment can store upto 2^64 bytes (16 exabytes).

VorbisComments store metadata describing the stream in key=value pairs, such as "ARTIST=Elvis", "TITLE=Blue Suede Shoes". Multiple copies of any given key are allowed (for example you can specify ARTIST several times for multiple performers). The specification has several suggested keys: TITLE, VERSION, ALBUM, TRACKNUMBER, ARTIST, PERFORMER, COPYRIGHT, LICENSE, ORGANIZATION, DESCRIPTION, GENRE, DATE, LOCATION, CONTACT, ISRC. See the specification for the intent of each one.

The VorbisComment page contains improvements to the suggested comment set.

FLAC metadata blocks

Metadata is included in the FLAC codec as METADATA_BLOCK_DATA. Seven types of metadata block are defined:

  1. METADATA_BLOCK_STREAMINFO: Sample rate, number of channels, etc.
  2. METADATA_BLOCK_PADDING: Nul padding.
  3. METADATA_BLOCK_APPLICATION: Third-party applications can register an ID. Metadata is typically 32-bit integers, but any datatypes can be specified.
  4. METADATA_BLOCK_SEEKTABLE: For one or more seek points.
  5. METADATA_BLOCK_VORBIS_COMMENT: Also known as FLAC tags, the contents of a VorbisComment packet. Note that the 32-bit field lengths are little-endian coded according to the Vorbis spec, as opposed to the usual big-endian coding of fixed-length integers in the rest of FLAC. FLAC metadata blocks are limited to 2^24 bytes (16 megabytes) and a VorbisComment packet in FLAC must fit within that limit.
  6. METADATA_BLOCK_CUESHEET: Typically, but not necessarily, for CD-DA (Red Book) cuesheets.
  7. METADATA_BLOCK_PICTURE: For binary picture data.

Ogg Skeleton

Ogg Skeleton provides metadata useful for handling Ogg streams. This includes information like mime-types and mapping for granulepos which allows seeking streams without the need for the demuxer to understand them. The latest version, Ogg Skeleton 4, also provides a keyframe index to enable faster seeking over high latency networks.

Ogg Skeleton allows for attachment of message header fields, given as name-value pairs, that contain some sort of protocol messages about the logical bitstream. This is intended for decode related stuff, such as the screen size for a video bitstream or the number of channels for an audio bitstream.

OggKate

OggKate was originally designed for karaoke and text. The stream can carry text and images, and these can be animated.

CMML (deprecated)

CMML is not used anymore; use OggKate instead. The Continuous Media Markup Language allowed time-based marking up of media streams, at its simplest this allowed you to divide media files into clips and provide information about each clip.

M3F (unused draft)

Multimedia Metadata Format is not being developed anymore; use VorbisComment instead.

The format was intended to replace VorbisComments for the use of structured metadata, allowing VorbisComments to revert to its orginally intended use of "short, text comments ... much like someone jotting a quick note on the bottom of a CDR."

M3F for the Ogg container was a draft specification which aimed to provide metadata for media streams. The exact aims of this project were still under development, but they included being able to describe artist relationships to a piece more accurately as well as providing the structure to encourage more reliable metadata.

XMLEmbedding (unused draft)

To implement XML metadata in Ogg (as for M3F), a mapping to Ogg streams is needed. The use of XML metadata will also open the way for the inclusion of technologies such as:

This specification is still not past the discussion stage.

Aims of advanced metadata

VorbisComments work 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.