首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何看待WMA和WMV文件之间的神奇号码检测区别?

如何看待WMA和WMV文件之间的神奇号码检测区别?
EN

Stack Overflow用户
提问于 2012-03-28 15:01:58
回答 4查看 2.8K关注 0票数 2

我试着根据神奇的数字嗅出文件的类型。经过一些谷歌之后,我发现了以下信息:

世界海洋环境状况评估:

主要协会: Windows Media 公司:微软公司 文件分类:音频 Mime类型:音频/x-ms-wma,视频/x-ms-asf 识别字符十六进制: 30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C

WMV:

主关联: Windows媒体文件 公司:微软公司 Mime类型:视频/x-ms-wmv 识别字符十六进制: 30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C

音频和视频都使用这些神奇的数字。我怎样才能发现我是否有一个或另一个。注意:我不能使用扩展,我只有一个带字节的System.IO.Stream

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-28 16:14:40

这取决于你的嗅探器应该有多好,性能应该有多好。如果您可以分析大约1024字节,那么您可以搜索其他特定于WMV文件的元数据。如果没有这样的数据,您可以假设它是一个WMA。

(按预先排列的顺序)查找以下字节:

  1. AspectRatio (UTF-16)
  2. WindowsMediaVideo (UTF-16)
  3. WMV3 (ASCII)
  4. DeviceConformanceTemplate MP@ML (UTF-16)

header区域中的任何元数据标记都会将文件标识为WMV。因此,在最坏的情况下,您需要在1024字节区域执行大约8次搜索(包括所有DeviceConformanceTemplate类型)来检测WMV,在最好的情况下,需要执行1次搜索来检测WMV。

另一种方法是解析标头 (AsfMojo可能有帮助),它可以是一些典型的8K字节,但一般不受限制。我假设标题信息必须区分音频和视频数据(但我不是100%确定)。我更喜欢这种方式,如果不可能进行解析,我就会放弃"hacky“解决方案。

票数 1
EN

Stack Overflow用户

发布于 2012-03-28 15:13:34

来自MSDN

ASF文件与WMV或WMA文件之间唯一的区别是文件扩展名和MIME类型。WMV文件的MIME类型是视频/x wmv,对于WMA是音频/x wma。ASF的MIME类型是视频/x-ms-asf。这些文件的基本内部结构是相同的。

票数 1
EN

Stack Overflow用户

发布于 2012-03-28 16:24:37

如前所述,WMVWMA文件共享相同的格式- Advanced Systems Format (ASF)。那么,您可以在MS网站(它是可用的)上查看ASF格式规范,但这并不是针对心脏无力的人。

要知道文件中的内容,您可能需要使用WMCreateReader函数实例化WMCreateReader函数并使用IWMHeaderInfo接口检索有关文件的信息。

图书馆将为您提供使用来自C#的API所需的定义(可能还有有用的示例)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9910313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档