- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(mkv格式解析
[转载]MKV文件格式(2009-09-16 14:24)
分类: Unsorted
原文地址:/CharlesPrince/archive/2009/03
1.EBML (Extensible Binary Meta Language):
EBML语言使用不定长整数,这种方式相对于固定长度的32位/64位字长的整数值更节约空间.放置的位置也不受字节对齐约束..这种长度编码方式来自于UTF-8编码规范.
不定长度的无符号整数值(“vint”):
长度的计算方法:
长度 = 1 +整数前缀0比特的个数.
使用大字节编码方式.
可以使用大于=8字节的整数值,这时它的第一个字节的值将会是0x00,用来表达长度超过56位的整数值.但它是被MATROSKAY文件禁止的.
举个例子:
43 85 03:将它换算成二进制如下10000101前缀0比特的个数为1,总长度为:1 + 1 = 2,所包括的字节为10000101,最 前值为1的比特用作中止前缀0比特.它不能被用来计算整数的结果,那么最终的整数值等于:03 85(901).这样看来,1个字节表示长度最多可以有7个前缀0比特,它也是MATROSKA文件所支持的整数最长长度.使数据所占的空间减小,这是EBML文件最大亮点.
长度未知整数值:
如果除了前缀0之外的比特位全部都是1的话,表示此整数的长度未知.MASTROSKA文件中除了文件头最后一个元素之外,都不要这样写.如果有的整数正好是这样的形式,要对它重编码,如:16383 = 7F FF,要把它编码成: 20 3F FF,虽然整数的长度不可避免的增加了.
EBML元素:
存储方式如下:
typedef struct {
vint ID; //Element ID
vint size; //Element size
char Data[size] //Element Data
} Ebml_Element;
包含其它元素的元素被称做:EBML Master Elements.子元素的排列顺序是任意的,但最好还是.有一种确定的定义.
有符号整数的表示方法:
大字节序,根据其值的正负符号来减去00或FF来得到具体的数值,如-257 = FE FF, FE FF – FFFF=257.
实数表示方法:
大字节序,可以使用32或64比特来表示IEEE标准定义的浮点数,虽然标准包括了80比特的浮点数,但MATROSKA不使用.
字符串类型:
String类型用ASCII编码方式.UTF-8类型用UTF-8编码方式.
2.MATROSKA文件项级元素:
只有两种顶级元素:
1. EBML Header:
用来描述文件中的内容,一个文件只能有一个EBML Header,更多的将被读取它的程序忽略掉.有的MKV生成器在添加多个文件时可能会出现这种情况.
2. Segment
包括了多媒体数据和回放时所需要的信息头.一个文件可以包括多个信息头,但很多的库不支持多个Segment,Windows平台下可以用Haali Media Splitter来支 持多Segment.
3. EBML文件头:
描述了EBML编解码器的版本号,文件类型,文件名.
元素列表:
Uint EBMLVersion ID:42 86默认值:1 EBML编码器版本号.
Uint EBMLReadVersion ID:42 F7默认值:1 EBML解析器版本号
Uint EBMLMaxIDLength ID:42 F2默认值:4 EBML元素ID号的最长长度(多少字节),在MATROSKA文件中最长为4字节.
Uint EBMLMAXSizeLength ID:42 F3默认值:8 EBML元素最长长度(多少字节).
Uint DocTypes ID: 42 82默认值:matroska EBML文件中的内容类型,MATROSKA文件为”matroska”.
Uint DocTypeVersion ID:42 87默认值:1 EBML文件包含数据的编码器版本号.
Uint DocTypeReadVersion ID:42 85默认值:1 EBML文件包含数据的解析器版本号.
由于所有的元素都包括的默认值,所以可以使用空EBML文件头.
最好不要使ID和元素最大长度超过8字节,对于几乎所有数据来说,它已经足够了,同时对于当前流行的32/65位字长的计算机来说,它将使一次整数运算生成多条指令.
4. Segment
Master SegmentInfo ID:15 49 A9 66包括了SEGMENT元素的信息,如UID,标题等.
Master SeekHe
您可能关注的文档
- (KPISys测试计划.doc
- (KPI管理工具的有效应用满分试题答案.doc
- (kndlefrehd8.9个人评测之问题一箩筐.docx
- (KPMG笔试资料整理.docx
- (KPMG笔试题.doc
- [北大张颐武教授语录选.doc
- (KS1102号框部件工艺分析及装配型架设计.doc
- (KS5U2012年海南省高考压轴卷历史试卷.doc
- (KS5U首发陕西省师大附中2012届高三第四次模拟试题语文.doc
- (K线图分析反转形态10种.docx
- 第5课 控制系统的三个环节(教学设计)2023-2024学年五年级下册信息科技浙教版.docx
- 2024-2025学年高中历史必修三北师大版教学设计合集.docx
- 2024-2025学年初中音乐九年级下册苏少版(2024)教学设计合集.docx
- 2024-2025学年初中信息技术(信息科技)七年级上册川教版(2019)教学设计合集.docx
- 2024-2025学年高中地理必修二鲁教版教学设计合集.docx
- 【新课标】Unit 2 What time is it整体单元教学设计.docx
- 2024-2025学年初中信息技术(信息科技)八年级上册滇人版(2016)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)四年级上册西师大版教学设计合集.docx
- 2024-2025学年高中地理选择性必修2中图中华地图版教学设计合集.docx
- 2024-2025学年初中信息技术(信息科技)八年级上册湘电子版(2019)教学设计合集.docx
文档评论(0)