CN101917609B - 嵌入式流媒体文件格式识别方法 - Google Patents
嵌入式流媒体文件格式识别方法 Download PDFInfo
- Publication number
- CN101917609B CN101917609B CN2010102533407A CN201010253340A CN101917609B CN 101917609 B CN101917609 B CN 101917609B CN 2010102533407 A CN2010102533407 A CN 2010102533407A CN 201010253340 A CN201010253340 A CN 201010253340A CN 101917609 B CN101917609 B CN 101917609B
- Authority
- CN
- China
- Prior art keywords
- file
- byte
- files
- media file
- streaming media
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明涉及嵌入式流媒体文件,具体的说是涉及一种嵌入式流媒体文件格式识别方法。本发明公开了一种嵌入式流媒体文件格式识别方法,解决在采用传统技术对流媒体文件格式进行识别时,可能由于流媒体文件后缀名与实际格式不符合,导致后续无法播放的问题。其技术方案的要点可概括为:通过研究当前网络环境下存在的流媒体文件,发现每种流媒体文件封装格式都有一组或一个特征值。通过将这些特征值与文件开始512个字节内的某些位数据进行比较,从而确定流媒体文件的封装格式。本发明的有益效果是:确定流媒体文件格式,避免出现由于后缀名与实际格式不符的情况,适用于流媒体文件格式识别。
Description
技术领域
本发明涉及嵌入式流媒体文件,具体的说是涉及一种嵌入式流媒体文件格式识别方法。
背景技术
网络电视作为三网融合下的一个终端产品,自然也就带有流媒体播放器功能。网络中存在的流媒体文件封装格式种类繁多,每种封装格式有独有的数据组织规范,即在播放流媒体文件时,每种封装格式就对应着一个文件解析器。每种流媒体文件封装格式都会有一个或两个后缀名与之对应,所以在传统技术中,一般是根据流媒体文件后缀名来判断出流媒体文件封装格式,再选择对应格式的文件解析器解析;但是在实际操作中,还存在不少文件后缀名与实际文件封装格式不匹配的流媒体文件。如果按照传统的方法进行流媒体文件解析,必然会导致出错,造成无法播放的问题。
发明内容
本发明所要解决的技术问题是:提供一种嵌入式流媒体文件格式识别方法,解决在采用传统技术对流媒体文件格式进行识别时,可能由于流媒体文件后缀名与实际格式不符合,导致后续无法播放的问题。
本发明解决上述技术问题所采用的技术方案是:嵌入式流媒体文件格式识别方法,包括以下步骤:
a.读取流媒体文件的前512个字节数据,取前4个字节数据按照地址由低到高的顺序排列成一个32位数;
b.将此32位数与RM文件、AVI文件、MKV文件、WMV文件、PS文件的文件特征值分别进行比较,如果与其中的某一个文件特征值相等,则该文件特征值对应的文件格式即为该流媒体文件的格式,否则,执行步骤c;
c.将此32位数与0XFFFFFF00作与运算,判断运算后的结果是否为0X464C5600,如果是,则该流媒体文件的格式即为FLV,否则执行步骤d;
d.取第5个字节至第8个字节的数据按照地址由低到高的顺序再生成一个32位数,并将该32位数与MP4文件的文件特征值进行比较,如果相等,则该流媒体文件的格式即为MP4,否则执行步骤e;
e.判断读取的512个字节数据中第n个字节的值与TS文件的文件特征值是否相等,如果相等则执行步骤f,否则该流媒体文件的格式无法识别,1≤n≤192;
f.判断第n个字节后第188个字节的值是否与TS文件的文件特征值相等,如果相等,则该流媒体文件的格式为TS;否则,判断第n个字节后第192个字节的值是否与TS文件的文件特征值相等,如果相等,则该流媒体文件的格式为M2TS,否则该流媒体文件的格式无法识别。
本发明的有益效果是:通过取流媒体文件的前512个字节数据与各个文件格式的文件特征码进行比较,从而确定流媒体文件格式,避免出现由于后缀名与实际格式不符的情况。
具体实施方式
下面结合实施例对本发明作进一步的描述。
本发明提出了一种嵌入式流媒体文件格式识别方法,解决在采用传统技术对流媒体文件格式进行识别时,可能由于流媒体文件后缀名与实际格式不符合的情况,导致后续无法播放的问题。通过研究当前网络环境下存在的流媒体文件,发现每种流媒体文件封装格式都有一组或一个特征值。本发明提出的方法,就是通过将这些特征值与文件开始512个字节内的某些位数据进行比较,从而确定流媒体文件的封装格式。
其具体实现方式如下:
1.嵌入式流媒体文件格式识别方法,其特征在于:包括以下步骤:
a.读取流媒体文件的前512个字节数据,取前4个字节数据按照地址由低到高的顺序排列成一个32位数;
b.将此32位数与RM文件、AVI文件、MKV文件、WMV文件、PS文件的文件特征值分别进行比较,如果与其中的某一个文件特征值相等,则该文件特征值对应的文件格式即为该流媒体文件的格式,否则,执行步骤c;
c.将此32位数与0XFFFFFF00作与运算,判断运算后的结果是否为0X464C5600,如果是,则该流媒体文件的格式即为FLV,否则执行步骤d;
d.取第5个字节至第8个字节的数据按照地址由低到高的顺序再生成一个32位数,并将该32位数与MP4文件的文件特征值进行比较,如果相等,则该流媒体文件的格式即为MP4,否则执行步骤e;
e.判断读取的512个字节数据中第n个字节的值与TS文件的文件特征值是否相等,如果相等则执行步骤f,否则该流媒体文件的格式无法识别,1≤n≤192;
f.判断第n个字节后第188个字节的值是否与TS文件的文件特征值相等,如果相等,则该流媒体文件的格式为TS;否则,判断第n个字节后第192个字节的值是否与TS文件的文件特征值相等,如果相等,则该流媒体文件的格式为M2TS,否则该流媒体文件的格式无法识别。
实施例:
如需识别当前某一流媒体文件的格式,首先需要读取该流媒体文件的头512字节数据,取前4个字节数据按照地址从高到低顺序生成一个32位数A,接下来提取RM文件、AVI文件、MKV文件、WMV文件、PS文件的文件特征值分别与A进行比较,如果发现RM文件的文件特征值与A相等,则该流媒体文件的格式即为RM格式。而如果这些文件特征值与A均不相等,则就要考虑是否为FLV格式的可能性,即将A与0XFFFFFF00作与运算,判断运算后的结果是否为0X464C5600,如果是,则该流媒体文件的格式即为FLV,否则就要考虑是否为MP4格式的可能性:那么,需要从这512个字节中取第5个字节至第8个字节的数据按照地址由低到高的顺序再生成一个32位数B,并将B与MP4文件的文件特征值进行比较,如果相等,则该流媒体文件的格式即为MP4,否则就要考虑是否为TS格式或M2TS格式的可能性:判断读取的512个字节数据中第1个字节的值与TS文件的文件特征值是否相等,如果相等还要判断第1个字节后的第188个字节(即第189个字节)的值与TS文件的文件特征值是否相等,只有两个条件都符合了,才能判定该流媒体文件的格式为TS格式,如果不为TS格式就要判断是否为M2TS格式判断第1个字节后的192个字节(即第193个字节)的值与M2TS文件的文件特征值是否相等,只有第1个字节和第192个字节均与M2TS文件的文件特征值相等了才能判定该流媒体文件格式为M2TS。如果仍然不能判定流媒体文件的格式,则需要读取512个字节数据中第2个字节的值判断是否与TS文件的文件特征值相等,再判断第2个字节后的188个字节(即第190个字节)是否与TS文件的文件特征值相等,第2个字节后的192个字节(即第194个字节)的值与M2TS文件的文件特征值是否相等…如此循环,直至读取到第192个字节、及第380个字节、第384个字节仍然无法判断格式,则说明该流媒体文件的格式无法识别。
Claims (1)
1.嵌入式流媒体文件格式识别方法,其特征在于:包括以下步骤:
a.读取流媒体文件的前512个字节数据,取前4个字节数据按照地址由低到高的顺序排列成一个32位数;
b.将此32位数与RM文件、AVI文件、MKV文件、WMV文件、PS文件的文件特征值分别进行比较,如果与其中的某一个文件特征值相等,则该文件特征值对应的文件格式即为该流媒体文件的格式,否则,执行步骤c;
c.将此32位数与0XFFFFFF00作与运算,判断运算后的结果是否为0X464C5600,如果是,则该流媒体文件的格式即为FLV,否则执行步骤d;
d.取第5个字节至第8个字节的数据按照地址由低到高的顺序再生成一个32位数,并将该32位数与MP4文件的文件特征值进行比较,如果相等,则该流媒体文件的格式即为MP4,否则执行步骤e;
e.判断读取的512个字节数据中第n个字节的值与TS文件的文件特征值是否相等,如果相等则执行步骤f,否则该流媒体文件的格式无法识别,1≤n≤192;
f.判断第n个字节后第188个字节的值是否与TS文件的文件特征值相等,如果相等,则该流媒体文件的格式为TS;否则,判断第n个字节后第192个字节的值是否与TS文件的文件特征值相等,如果相等,则该流媒体文件的格式为M2TS,否则该流媒体文件的格式无法识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102533407A CN101917609B (zh) | 2010-08-13 | 2010-08-13 | 嵌入式流媒体文件格式识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102533407A CN101917609B (zh) | 2010-08-13 | 2010-08-13 | 嵌入式流媒体文件格式识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101917609A CN101917609A (zh) | 2010-12-15 |
CN101917609B true CN101917609B (zh) | 2012-05-30 |
Family
ID=43324977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102533407A Active CN101917609B (zh) | 2010-08-13 | 2010-08-13 | 嵌入式流媒体文件格式识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101917609B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473088B (zh) * | 2013-08-30 | 2018-01-02 | 北京远特科技股份有限公司 | 一种单片机在线升级方法和系统 |
CN114501116A (zh) * | 2022-01-19 | 2022-05-13 | 深圳力维智联技术有限公司 | 一种基于规则模型的音视频流解封装方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1991821A (zh) * | 2005-12-30 | 2007-07-04 | 英业达股份有限公司 | 文件格式识别系统及方法 |
CN101079803A (zh) * | 2006-05-26 | 2007-11-28 | 海尔集团公司 | 家庭网络控制系统 |
CN101094243A (zh) * | 2007-05-31 | 2007-12-26 | 广东中大讯通软件科技有限公司 | 基于UPnP的不同类型设备间的多媒体适配系统及多媒体内容适配方法 |
US20090319536A1 (en) * | 2006-09-01 | 2009-12-24 | Pacbyte Software Pty Limited | Method and system for transmitting a data file over a data network |
-
2010
- 2010-08-13 CN CN2010102533407A patent/CN101917609B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1991821A (zh) * | 2005-12-30 | 2007-07-04 | 英业达股份有限公司 | 文件格式识别系统及方法 |
CN101079803A (zh) * | 2006-05-26 | 2007-11-28 | 海尔集团公司 | 家庭网络控制系统 |
US20090319536A1 (en) * | 2006-09-01 | 2009-12-24 | Pacbyte Software Pty Limited | Method and system for transmitting a data file over a data network |
CN101094243A (zh) * | 2007-05-31 | 2007-12-26 | 广东中大讯通软件科技有限公司 | 基于UPnP的不同类型设备间的多媒体适配系统及多媒体内容适配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101917609A (zh) | 2010-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102419713A (zh) | 基于nandflash的机顶盒的软件升级方法 | |
CN102354292A (zh) | 主、备数据库记录一致性校验方法及系统 | |
CN102243699A (zh) | 一种恶意代码检测方法及系统 | |
CN103353878A (zh) | 将多种格式的文档显示在网页中的方法 | |
CN102937903B (zh) | 一种基于特征匹配的打包文件更新方法 | |
JP2010279031A5 (zh) | ||
CN101917609B (zh) | 嵌入式流媒体文件格式识别方法 | |
CN106407038A (zh) | 一种碎片文件的数据恢复方法 | |
CN102118539A (zh) | 一种多媒体播放终端及其文件拖动播放方法和装置 | |
CN105447168A (zh) | Mp4格式的碎片文件恢复与重组的方法 | |
CN103531246A (zh) | 快速以读代写的存储器纠错方法 | |
WO2015000943A3 (fr) | Procédé de mise à disposition par un compteur électrique de données compressées | |
CN109992801B (zh) | 一种基于pads软件的pcb更新方法 | |
CN106777061B (zh) | 基于网页文本和图像的信息隐藏系统、方法及提取方法 | |
CN105550254A (zh) | 一种icd信息自动生成icd信息数据库的方法 | |
CN104301682A (zh) | 一种监控视频碎片的恢复方法和装置 | |
CN101777077B (zh) | 嵌入式设备文件系统实现方法 | |
CN102857834B (zh) | 读取视频进度的方法 | |
CN106547810A (zh) | 一种流量存储快速索引的方法和系统 | |
CN103226532A (zh) | 数据处理系统和方法 | |
CN106802833A (zh) | 一种生产者消费者模式优化方法和系统 | |
CN103325155A (zh) | 基于can总线的高效数据记录方法 | |
CN102855265A (zh) | 浏览和下载网页图片系统 | |
CN102014112B (zh) | 一种基于mac/ip地址分类统计的硬件实现方法 | |
CN105354100A (zh) | 一种修复希捷硬盘p表的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |