Metadata: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
(Changed tense of M3F + tidy)
 
(89 intermediate revisions by 25 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.


This works well enough for most things, and can be overloaded/abused (depending on your point of view)
== [[Ogg Skeleton]] ==
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.
[[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.


* ''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?
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.


* ''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.
== [[OggKate]] ==


==Proposed Solutions==
[[OggKate]] was originally designed for karaoke and text. The stream can carry text and images, and these can be animated.


RDF + dublin core
== [[CMML]] (deprecated) ==


XML-encoding (generic rdf or CMML?)
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.
binary encoding (three-component length-encoded binary vectors)
[http://www.shop263.com/i-1/1201.htm 丙基三甲基氯化铵]
[http://www.shop263.com/i-1/1202.htm 丙嗪]
[http://www.shop263.com/i-1/1203.htm 丙炔醇]
[http://www.shop263.com/i-1/1204.htm 丙三醇]
[http://www.shop263.com/i-1/1205.htm 丙酸]
[http://www.shop263.com/i-1/1206.htm 丙酸丁酯]
[http://www.shop263.com/i-1/1207.htm 丙酸乙酯]
[http://www.shop263.com/i-1/1208.htm 丙酸酯]
[http://www.shop263.com/i-1/1209.htm 丙酮]
[http://www.shop263.com/i-1/1210.htm 丙酮酸]
[http://www.shop263.com/i-1/1211.htm 丙酮酸丁酯]
[http://www.shop263.com/i-1/1212.htm 丙酮酸甲酯]
[http://www.shop263.com/i-1/1213.htm 丙酮酸钠]
[http://www.shop263.com/i-1/1214.htm 丙酮酸乙脂]
[http://www.shop263.com/i-1/1215.htm 丙烷磺酸吡啶嗡盐]
[http://www.shop263.com/i-1/1216.htm 丙烯醇]
[http://www.shop263.com/i-1/1217.htm 丙烯腈]
[http://www.shop263.com/i-1/1218.htm 丙烯醛]
[http://www.shop263.com/i-1/1219.htm 丙烯酸]
[http://www.shop263.com/i-1/1220.htm 丙烯酸丁酯]
[http://www.shop263.com/i-1/1221.htm 丙烯酸甲酯]
[http://www.shop263.com/i-1/1222.htm 丙烯酸羟丙酯]
[http://www.shop263.com/i-1/1223.htm 丙烯酸树脂]
[http://www.shop263.com/i-1/1224.htm 丙烯酸系列单体]
[http://www.shop263.com/i-1/1225.htm 丙烯酸乙酯]
[http://www.shop263.com/i-1/1226.htm 丙烯酸异辛酯]
[http://www.shop263.com/i-1/1227.htm 丙烯酰氨基]
[http://www.shop263.com/i-1/1228.htm 丙烯酰胺]
[http://www.shop263.com/i-1/1229.htm 丙烯酰胺晶体]
[http://www.shop263.com/i-1/1230.htm 丙烯酰胺水溶液]
[http://www.shop263.com/i-1/1231.htm 丙烯酰氯]
[http://www.shop263.com/i-1/1232.htm 丙稀酸水溶性复膜胶]
[http://www.shop263.com/i-1/1233.htm 丙酰氯]
[http://www.shop263.com/i-1/1234.htm 剥离剂]
[http://www.shop263.com/i-1/1235.htm 铂炭]
[http://www.shop263.com/i-1/1236.htm 薄层层析硅胶板]
[http://www.shop263.com/i-1/1237.htm 不饱和聚酯树脂]
[http://www.shop263.com/i-1/1238.htm 不饱和脂肪酸]
[http://www.shop263.com/i-1/1239.htm 布罗波尔]
[http://www.shop263.com/i-1/1240.htm 布替萘芬]
[http://www.shop263.com/i-1/1241.htm 彩绘漆]
[http://www.shop263.com/i-1/1242.htm 菜油酸]
[http://www.shop263.com/i-1/1243.htm 草甘膦]
[http://www.shop263.com/i-1/1244.htm 草酸]
[http://www.shop263.com/i-1/1245.htm 草酸二丁酯]
[http://www.shop263.com/i-1/1246.htm 草酸二甲酯]
[http://www.shop263.com/i-1/1247.htm 草酸二乙酯]
[http://www.shop263.com/i-1/1248.htm 草酸锶]
[http://www.shop263.com/i-1/1249.htm 草酰氯]
[http://www.shop263.com/i-1/1250.htm 柴油发动机油]
[http://www.shop263.com/i-1/1251.htm 柴油添加剂]
[http://www.shop263.com/i-1/1252.htm 长效尿素]
[http://www.shop263.com/i-1/1253.htm 长效涂膜尿素]
[http://www.shop263.com/i-1/1254.htm 超微细氧化铝]
[http://www.shop263.com/i-1/1255.htm 车用机油]
[http://www.shop263.com/i-1/1256.htm 沉淀硫酸钡]
[http://www.shop263.com/i-1/1257.htm 沉淀碳酸钡]
[http://www.shop263.com/i-1/1258.htm 承重空心砖]
[http://www.shop263.com/i-1/1259.htm 赤磷]
[http://www.shop263.com/i-1/1260.htm 赤血盐钾]
[http://www.shop263.com/i-1/1261.htm 充油丁苯胶]
[http://www.shop263.com/i-1/1262.htm 虫白蜡]
[http://www.shop263.com/i-1/1263.htm 虫霉灵]
[http://www.shop263.com/i-1/1264.htm 川蜡]
[http://www.shop263.com/i-1/1265.htm 纯苯]
[http://www.shop263.com/i-1/1266.htm 纯苯甲苯]
[http://www.shop263.com/i-1/1267.htm 纯棉麻耐洗阻燃剂]
[http://www.shop263.com/i-1/1268.htm 纯吸塑油]
[http://www.shop263.com/i-1/1269.htm 醇胺]
[http://www.shop263.com/i-1/1270.htm 醇酸漆]
[http://www.shop263.com/i-1/1271.htm 次黄嘌呤]
[http://www.shop263.com/i-1/1272.htm 次磷酸]
[http://www.shop263.com/i-1/1273.htm 次磷酸盐]
[http://www.shop263.com/i-1/1274.htm 次氯酸钠]
[http://www.shop263.com/i-1/1275.htm 次水杨酸铋]
[http://www.shop263.com/i-1/1276.htm 粗酚]
[http://www.shop263.com/i-1/1277.htm 粗甘油]
[http://www.shop263.com/i-1/1278.htm 粗蜡]
[http://www.shop263.com/i-1/1279.htm 粗已二酸]
[http://www.shop263.com/i-1/1280.htm 醋氯芬酸]
[http://www.shop263.com/i-1/1281.htm 醋酸]
[http://www.shop263.com/i-1/1282.htm 醋酸丁脂]
[http://www.shop263.com/i-1/1283.htm 醋酸甘油酯]
[http://www.shop263.com/i-1/1284.htm 醋酸锆]
[http://www.shop263.com/i-1/1285.htm 醋酸甲基环乙酯]
[http://www.shop263.com/i-1/1286.htm 醋酸甲酯]
[http://www.shop263.com/i-1/1287.htm 醋酸钾]
[http://www.shop263.com/i-1/1288.htm 醋酸钠]
[http://www.shop263.com/i-1/1289.htm 醋酸铅]
[http://www.shop263.com/i-1/1290.htm 醋酸锶]
[http://www.shop263.com/i-1/1291.htm 醋酸铜]
[http://www.shop263.com/i-1/1292.htm 醋酸稀土]
[http://www.shop263.com/i-1/1293.htm 醋酸辛酯]
[http://www.shop263.com/i-1/1294.htm 醋酸锌]
[http://www.shop263.com/i-1/1295.htm 醋酸乙丁酯]
[http://www.shop263.com/i-1/1296.htm 醋酸乙烯]
[http://www.shop263.com/i-1/1297.htm 醋酸乙烯无光乳胶漆]
[http://www.shop263.com/i-1/1298.htm 醋酸乙酯]
[http://www.shop263.com/i-1/1299.htm 醋酸异丙酯]
[http://www.shop263.com/i-1/1300.htm 醋酸异辛酯]
[http://www.shop263.com/i-1/1301.htm 醋酸正丙酯]
[http://www.shop263.com/i-1/1302.htm 醋酸酯]
[http://www.shop263.com/i-1/1303.htm 醋纤助剂]
[http://www.shop263.com/i-1/1304.htm 醋纤嘴棒助剂]
[http://www.shop263.com/i-1/1305.htm 催化剂]
[http://www.shop263.com/i-1/1306.htm 大豆油脂肪酸]
[http://www.shop263.com/i-1/1307.htm 大苏打]
[http://www.shop263.com/i-1/1308.htm 大蒜素]
[http://www.shop263.com/i-1/1309.htm 单宁及衍生物]
[http://www.shop263.com/i-1/1310.htm 单宁酸]
[http://www.shop263.com/i-1/1311.htm 单宁酸脂]
[http://www.shop263.com/i-1/1312.htm 单烷氧基焦磷酸型]
[http://www.shop263.com/i-1/1313.htm 胆维他]
[http://www.shop263.com/i-1/1314.htm 蛋氨酸]
[http://www.shop263.com/i-1/1315.htm 蛋白胨]
[http://www.shop263.com/i-1/1316.htm 蛋白胨有喷雾型]
[http://www.shop263.com/i-1/1317.htm 蛋白同化激素]
[http://www.shop263.com/i-1/1318.htm 氮磷钾复混肥]
[http://www.shop263.com/i-1/1319.htm 氮氧自由基哌啶醇]
[http://www.shop263.com/i-1/1320.htm 二甲酯]
[http://www.shop263.com/i-1/1321.htm 导轨油]
[http://www.shop263.com/i-1/1322.htm 导热胶]
[http://www.shop263.com/i-1/1323.htm 导热油]
[http://www.shop263.com/i-1/1324.htm 道路沥青]
[http://www.shop263.com/i-1/1325.htm 得克斯消毒片]
[http://www.shop263.com/i-1/1326.htm 得克斯消毒散]
[http://www.shop263.com/i-1/1327.htm 得克斯消毒液]
[http://www.shop263.com/i-1/1328.htm 灯用卤磷酸钙荧光粉]
[http://www.shop263.com/i-1/1329.htm 灯用煤油]
[http://www.shop263.com/i-1/1330.htm 低芳溶剂油]
[http://www.shop263.com/i-1/1331.htm 低芳三线油]
[http://www.shop263.com/i-1/1332.htm 低分子聚乙烯蜡]
[http://www.shop263.com/i-1/1333.htm 低熔点阀口袋]
[http://www.shop263.com/i-1/1334.htm 低熔点橡胶配料袋]
[http://www.shop263.com/i-1/1335.htm 低压乙烯]
[http://www.shop263.com/i-1/1336.htm 低烟指数阻燃树脂]
[http://www.shop263.com/i-1/1337.htm 点断收卷袋]
[http://www.shop263.com/i-1/1338.htm 碘甲苯]
[http://www.shop263.com/i-1/1339.htm 电镀光亮剂]
[http://www.shop263.com/i-1/1340.htm 电解锰]
[http://www.shop263.com/i-1/1341.htm 电熔白刚玉]
[http://www.shop263.com/i-1/1342.htm 电石]
[http://www.shop263.com/i-1/1343.htm 电子灌封胶]
[http://www.shop263.com/i-1/1344.htm 电子化学品]
[http://www.shop263.com/i-1/1345.htm 电子蜡]
[http://www.shop263.com/i-1/1346.htm 电子元器件浸渍蜡]
[http://www.shop263.com/i-1/1347.htm 靛蓝]
[http://www.shop263.com/i-1/1348.htm 靛蓝粉]
[http://www.shop263.com/i-1/1349.htm 靛蓝造粒]
[http://www.shop263.com/i-1/1350.htm 雕白块]
[http://www.shop263.com/i-1/1351.htm 叠氮化钡]
[http://www.shop263.com/i-1/1352.htm 丁铵黑药]
[http://www.shop263.com/i-1/1353.htm 丁胺]
[http://www.shop263.com/i-1/1354.htm 丁苯胶]
[http://www.shop263.com/i-1/1355.htm 丁苯胶乳]
[http://www.shop263.com/i-1/1356.htm 丁二醇二丙酸酯]
[http://www.shop263.com/i-1/1357.htm 丁二酸]
[http://www.shop263.com/i-1/1358.htm 丁二酸酐]
[http://www.shop263.com/i-1/1359.htm 丁二烯]
[http://www.shop263.com/i-1/1360.htm 丁二酰丁二酸二甲酯]
[http://www.shop263.com/i-1/1361.htm 丁基黄药]
[http://www.shop263.com/i-1/1362.htm 丁基胶]
[http://www.shop263.com/i-1/1363.htm 丁腈胶]
[http://www.shop263.com/i-1/1364.htm 丁内脂]
[http://www.shop263.com/i-1/1365.htm 丁钠黑药]
[http://www.shop263.com/i-1/1366.htm 丁炔二醇]
[http://www.shop263.com/i-1/1367.htm 丁酮]
[http://www.shop263.com/i-1/1368.htm 丁烷四羧酸]
[http://www.shop263.com/i-1/1369.htm 丁酰氯]
[http://www.shop263.com/i-1/1370.htm 丁氧基丙]
[http://www.shop263.com/i-1/1371.htm 啶虫脒原药]
[http://www.shop263.com/i-1/1372.htm 动物油酸]
[http://www.shop263.com/i-1/1373.htm 豆蔻酸]
[http://www.shop263.com/i-1/1374.htm 镀硬铬]
[http://www.shop263.com/i-1/1375.htm 煅烧焦]
[http://www.shop263.com/i-1/1376.htm 煅烧石油针状焦]
[http://www.shop263.com/i-1/1377.htm 对氨基]
[http://www.shop263.com/i-1/1378.htm 对氨基苯酚]
[http://www.shop263.com/i-1/1379.htm 对氨基苯甲醚]
[http://www.shop263.com/i-1/1380.htm 对氨基苯甲酸]
[http://www.shop263.com/i-1/1381.htm 对氨基苯乙醚]
[http://www.shop263.com/i-1/1382.htm 对氨基苯乙酸]
[http://www.shop263.com/i-1/1383.htm 对氨基苯乙酮]
[http://www.shop263.com/i-1/1384.htm 对氨基酚]
[http://www.shop263.com/i-1/1385.htm 对氨基水杨酸钠]
[http://www.shop263.com/i-1/1386.htm 对苯二胺]
[http://www.shop263.com/i-1/1387.htm 对苯二甲醚]
[http://www.shop263.com/i-1/1388.htm 对苯二甲酰氯]
[http://www.shop263.com/i-1/1389.htm 对苯基苯酚]
[http://www.shop263.com/i-1/1390.htm 对苯醌二肟]
[http://www.shop263.com/i-1/1391.htm 对碘苯甲酸]
[http://www.shop263.com/i-1/1392.htm 对二乙基苯]
[http://www.shop263.com/i-1/1393.htm 对氟苯甲醛]
[http://www.shop263.com/i-1/1394.htm 对氟苯甲酰氯]
[http://www.shop263.com/i-1/1395.htm 对氟氯苄]
[http://www.shop263.com/i-1/1396.htm 对氟硝基苯]
[http://www.shop263.com/i-1/1397.htm 对甲氨基苯胺]
[http://www.shop263.com/i-1/1398.htm 对甲苯磺酸]
[http://www.shop263.com/i-1/1399.htm 对甲苯肼盐酸盐]
[http://www.shop263.com/i-1/1400.htm 对甲苯亚磺酸钠]
[http://www.shop263.com/i-1/1401.htm 对甲基苯]
[http://www.shop263.com/i-1/1402.htm 对甲基苯乙腈]
[http://www.shop263.com/i-1/1403.htm 对甲基苯乙醚]
[http://www.shop263.com/i-1/1404.htm 对甲硫基苯酚]
[http://www.shop263.com/i-1/1405.htm 对甲硫基间甲酚]
[http://www.shop263.com/i-1/1406.htm 对甲氧基苯乙酸]
[http://www.shop263.com/i-1/1407.htm 对甲氧基苯乙酮]
[http://www.shop263.com/i-1/1408.htm 对氯苯]
[http://www.shop263.com/i-1/1409.htm 对氯苯酚]
[http://www.shop263.com/i-1/1410.htm 对氯苯甲醇]
[http://www.shop263.com/i-1/1411.htm 对氯苯甲醛]
[http://www.shop263.com/i-1/1412.htm 对氯苯甲酰氯]
[http://www.shop263.com/i-1/1413.htm 对氯苯氧乙酸]
[http://www.shop263.com/i-1/1414.htm 对氯苄醇]
[http://www.shop263.com/i-1/1415.htm 对氯苄基氯]
[http://www.shop263.com/i-1/1416.htm 对氯二甲苯酚]
[http://www.shop263.com/i-1/1417.htm 对氯甲基苯甲酸]
[http://www.shop263.com/i-1/1418.htm 对氯氯苄]
[http://www.shop263.com/i-1/1419.htm 对氯三氯甲苯]
[http://www.shop263.com/i-1/1420.htm 对羟基安息香酸]
[http://www.shop263.com/i-1/1421.htm 对羟基苯丙酸甲酯]
[http://www.shop263.com/i-1/1422.htm 对羟基苯丙酮]
[http://www.shop263.com/i-1/1423.htm 对羟基苯甲腈]
[http://www.shop263.com/i-1/1424.htm 对羟基苯甲醛]
[http://www.shop263.com/i-1/1425.htm 对羟基苯甲酸]
[http://www.shop263.com/i-1/1426.htm 对羟基苯腈]
[http://www.shop263.com/i-1/1427.htm 对羟基苯乙胺]
[http://www.shop263.com/i-1/1428.htm 对羟基苯乙腈]
[http://www.shop263.com/i-1/1429.htm 对羟基苯乙酸]
[http://www.shop263.com/i-1/1430.htm 对羟基苯乙酮]
[http://www.shop263.com/i-1/1431.htm 对羟基苯乙酰胺]
[http://www.shop263.com/i-1/1432.htm 对羟基二苯胺]
[http://www.shop263.com/i-1/1433.htm 对三氟甲基苯胺]
[http://www.shop263.com/i-1/1434.htm 对叔丁基苯甲酸铝盐]
[http://www.shop263.com/i-1/1435.htm 对叔丁基甲苯]
[http://www.shop263.com/i-1/1436.htm 对叔丁基氯苄]
[http://www.shop263.com/i-1/1437.htm 对硝基苯基氯]
[http://www.shop263.com/i-1/1438.htm 对硝基苯甲腈]
[http://www.shop263.com/i-1/1439.htm 对硝基苯甲醚]
[http://www.shop263.com/i-1/1440.htm 对硝基苯甲酰胺]
[http://www.shop263.com/i-1/1441.htm 对硝基苯甲酰氯]
[http://www.shop263.com/i-1/1442.htm 对硝基甲苯]
[http://www.shop263.com/i-1/1443.htm 对硝基氯苯]
[http://www.shop263.com/i-1/1444.htm 对硝基氯化苯]
[http://www.shop263.com/i-1/1445.htm 对溴苯酚]
[http://www.shop263.com/i-1/1446.htm 对溴苯甲醚]
[http://www.shop263.com/i-1/1447.htm 对溴苯甲酸]
[http://www.shop263.com/i-1/1448.htm 对溴氟苯]
[http://www.shop263.com/i-1/1449.htm 对乙基苯甲醚]
[http://www.shop263.com/i-1/1450.htm 对乙基苯甲酰氯]
[http://www.shop263.com/i-1/1451.htm 对乙酰氨基]
[http://www.shop263.com/i-1/1452.htm 对异丙基酚]
[http://www.shop263.com/i-1/1453.htm 多聚甲醛]
[http://www.shop263.com/i-1/1454.htm 多聚磷酸]
[http://www.shop263.com/i-1/1455.htm 多菌灵]
[http://www.shop263.com/i-1/1456.htm 多羟基聚合氯化铝]
[http://www.shop263.com/i-1/1457.htm 多肽]
[http://www.shop263.com/i-1/1458.htm 蒽醌]
[http://www.shop263.com/i-1/1459.htm 蒽醌二磺酸钠]
[http://www.shop263.com/i-1/1460.htm 二氨基二苯砜]
[http://www.shop263.com/i-1/1461.htm 二苯基咪唑]
[http://www.shop263.com/i-1/1462.htm 二苯甲酮]
[http://www.shop263.com/i-1/1463.htm 二苄基羟胺]
[http://www.shop263.com/i-1/1464.htm 二丙酮醇]
[http://www.shop263.com/i-1/1465.htm 二冲程摩托车机油]
[http://www.shop263.com/i-1/1466.htm 二丁基氧化锡]
[http://www.shop263.com/i-1/1467.htm 二丁酯]
[http://www.shop263.com/i-1/1468.htm 二蒽酮]
[http://www.shop263.com/i-1/1469.htm 二氟苯胺]
[http://www.shop263.com/i-1/1470.htm 二氟苯甲酰胺]
[http://www.shop263.com/i-1/1471.htm 二氟苯晴]
[http://www.shop263.com/i-1/1472.htm 二氟二苯甲酮]
[http://www.shop263.com/i-1/1473.htm 二氟硝基苯]
[http://www.shop263.com/i-1/1474.htm 二氟溴苯]
[http://www.shop263.com/i-1/1475.htm 二氟一氯甲烷]
[http://www.shop263.com/i-1/1476.htm 二氟一氯乙烷]
[http://www.shop263.com/i-1/1477.htm 二号浮选油]
[http://www.shop263.com/i-1/1478.htm 二磺酸]
[http://www.shop263.com/i-1/1479.htm 二甲氨基甲酰氯]
[http://www.shop263.com/i-1/1480.htm 二甲胺基甲酸]
[http://www.shop263.com/i-1/1481.htm 二甲酚]
[http://www.shop263.com/i-1/1482.htm 二甲基二硫]
[http://www.shop263.com/i-1/1483.htm 二甲基二稀丙基氯化氨]
[http://www.shop263.com/i-1/1484.htm 二甲基硅油]
[http://www.shop263.com/i-1/1485.htm 二甲基海因]
[http://www.shop263.com/i-1/1486.htm 二甲基环硅氧烷]
[http://www.shop263.com/i-1/1487.htm 二甲基甲酰胺]
[http://www.shop263.com/i-1/1488.htm 二甲基硫醚]
[http://www.shop263.com/i-1/1489.htm 二甲基亚砜]
[http://www.shop263.com/i-1/1490.htm 二甲基乙酰胺]
[http://www.shop263.com/i-1/1491.htm 二甲醚]
[http://www.shop263.com/i-1/1492.htm 二甲氧基硅烷]
[http://www.shop263.com/i-1/1493.htm 二聚环戊二烯]
[http://www.shop263.com/i-1/1494.htm 二聚酸]
[http://www.shop263.com/i-1/1495.htm 二联苯酚]
[http://www.shop263.com/i-1/1496.htm 二硫化碳]
[http://www.shop263.com/i-1/1497.htm 二硫氰基甲烷]
[http://www.shop263.com/i-1/1498.htm 二氯]
[http://www.shop263.com/i-1/1499.htm 二氯苯]
[http://www.shop263.com/i-1/1500.htm 二氯苯甲腈]
[http://www.shop263.com/i-1/1501.htm 二氯苯腈]
[http://www.shop263.com/i-1/1502.htm 二氯吡啶酮乙酸]
[http://www.shop263.com/i-1/1503.htm 二氯哒嗪
[http://www.shop263.com/i-1/1504.htm 二氯海因]
[http://www.shop263.com/i-1/1505.htm 二氯化苄]
[http://www.shop263.com/i-1/1505.htm 二氯甲苯]
[http://www.shop263.com/i-1/1507.htm 二氯甲烷]
[http://www.shop263.com/i-1/1508.htm 二氯水杨酸]
[http://www.shop263.com/i-1/1509.htm 二氯硝基苯]
[http://www.shop263.com/i-1/1510.htm 二氯异氰脲酸钠]


== [[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.


== [[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:
* 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.


== 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?


[http://www.haishun.net 门禁]
* '''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.haishun.net 监控]
[http://www.genset-sh.com 发电机]
[http://www.haishun.net/p_mjds.htm 门禁]
[http://www.haishun.net/p_mjds_dmmj.htm 门禁]
[http://www.haishun.net/p_mjds_lwmj.htm 门禁]
[http://www.haishun.net/p_mjds_yjs.htm 门禁]
[http://www.haishun.net/cctv.htm 监控]
[http://www.haishun.net/p_cctv_jk.htm 监控]
[http://www.haishun.net/p_cctv_jk_sxj.htm 监控]
[http://www.haishun.net/p_cctv_jk_xsq.htm 监控]
[http://www.haishun.net/p_cctv_jk_yplxj.htm 监控]
[http://www.haishun.net/p_cctv_jk_yt.htm 监控]
[http://www.haishun.net/p_cctv_jk_zj.htm 监控]
[http://www.7766888.com 虚拟主机]
[http://www.7766888.com/introcom.htm asp虚拟主机]
[http://www.7766888.com/introcn.htm php虚拟主机]
[http://www.7766888.com/u_puji.htm unix虚拟主机]
[http://www.7766888.com/mysql.htm windows虚拟主机]
[http://www.7766888.com/u_jingji.htm 纯空间虚拟主机]
[http://www.7766888.com/u_biaozhun.htm 虚拟主机]
[http://www.7766888.com/u_zhiqiang.htm 虚拟主机]
[http://www.7766888.com/w_jingji.htm 虚拟主机]
[http://www.7766888.com/w_biaozhun.htm 虚拟主机]
[http://www.asp169.com/marketingsoft1.htm 空压机]
[http://www.asp169.com/marketingsoft2.htm 压缩机]
[http://www.asp169.com/zhaoguan.htm 消毒剂]
[http://www.asp169.com/crm.htm 化妆品]
[http://www.asp169.com/marketingsoft3.htm 战略咨询]
[http://www.asp169.com/marketingsoft4.htm 武夷山]
[http://www.asp169.com/marketingsoft5.htm 数据恢复]
[http://haishun11.51.net 虚拟主机]
[http://decorate.51.net 装修]
[http://decorate.51.net 团购]
[http://www.xsjby.cn 化工泵]
[http://www.asp169.com/zhaoguan2.htm 二氧化氯]
[http://www.fm360.net 网址大全]
[http://www.fm360.net/page/001.html 网址大全]
[http://www.fm360.net/page/game.htm 网址大全]
[http://www.fm360.net/page/software.htm 网址大全]
[http://www.fm360.net/page/jinshi.htm 网址大全]
[http://www.fm360.net/page/music.htm 网址大全]
[http://www.fm360.net/page/053.html 网址大全]
[http://www.fm360.net/page/flash.htm 网址大全]
[http://www.fm360.net/page/newsweek.htm 网址大全]
[http://www.fm360.net/page/club.htm 网址大全]
[http://www.fm360.net/page/stock.htm 网址大全]
[http://www.fm360.net/page/love.htm 网址大全]
[http://www.fm360.net/page/netcard.htm 网址大全]
[http://www.fm360.net/page/025.html 网址大全]
[http://www.fm360.net/page/hardware.htm 网址大全]
[http://www.fm360.net/page/sport.htm 网址大全]
[http://www.fm360.net/page/shouji.htm 网址大全]
[http://www.fm360.net/page/ym.htm 网址大全]
[http://www.fm360.net/page/ylbj.htm 网址大全]
[http://www.fm360.net/page/car.htm 网址大全]
[http://www.jifamark.com 线号机]
[http://www.jifamark.com/xhj.htm 线号机]
[http://www.jifamark.com 打号机]
[http://www.funasia.cn 装修]
[http://www.funasia.cn 团购]
[http://www.funasia.cn/pinpai.asp 装修]
[http://www.funasia.cn/client/gb_list.asp 装修]
[http://www.funasia.cn/design/index.asp 装修]
[http://www.funasia.cn/funasiaHome/index.asp 装修]
[http://www.funasia.cn/jiancai.asp 装修]
[http://www.funasia.cn/shishang.asp 装修]
[http://www.funasia.cn/mall/AboutOur.htm 团购]
[http://www.genset-sh.com/cai.asp 发电机]
[http://www.genset-sh.com/tancu.asp 发电机]
[http://www.genset-sh.com/xi3.asp 发电机]
[http://www.genset-sh.com/lan.asp 发电机]
[http://www.genset-sh.com/leng.asp 发电机]
[http://www.genset-sh.com/jiyou.asp 发电机]
[http://www.genset-sh.com/ranyou.asp 发电机]
[http://www.genset-sh.com/kuongqi.asp 发电机]
[http://www.genset-sh.com/ssss.asp 发电机]
[http://www.zj-df.com 减速机]
[http://www.xhhj.com.cn 离心机]
[http://www.hdfix.com.cn 数据恢复]

Latest revision as of 12: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.