CN104837073B - 一种wmv文件的解码方法和装置 - Google Patents
一种wmv文件的解码方法和装置 Download PDFInfo
- Publication number
- CN104837073B CN104837073B CN201510239125.4A CN201510239125A CN104837073B CN 104837073 B CN104837073 B CN 104837073B CN 201510239125 A CN201510239125 A CN 201510239125A CN 104837073 B CN104837073 B CN 104837073B
- Authority
- CN
- China
- Prior art keywords
- packet
- decoding
- data
- decoded
- speed
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000012544 monitoring process Methods 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 241000208340 Araliaceae Species 0.000 description 4
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 4
- 235000003140 Panax quinquefolius Nutrition 0.000 description 4
- 235000008434 ginseng Nutrition 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4382—Demodulation or channel decoding, e.g. QPSK demodulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6582—Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种WMV文件的解码方法和装置,用以解决现有技术中无法获知WMV文件包含的帧数量及解码进度的问题,实现提高解码效率的目的。该方法包括:步骤A:获取待解码的WMV文件的数据包描述信息,根据所述数据包描述信息获取数据包的数据总长度B1;步骤B:根据所述数据包描述信息中的数据格式,选择与所述数据包中的数据格式对应的解码方式;步骤C:根据所述对应的解码方式对数据包的一个数据帧进行解码,获取解码后的第一个数据帧,计算所述第一个数据帧在数据包中的长度B2;步骤D:判断所述数据的总长度B1与所述第一个数据帧在数据包中的长度B2之差是否小于或等于零,如果是,则结束解码;如果不是,则重复所述步骤C。
Description
技术领域
本发明涉及音视频解码技术领域,特别涉及一种WMV文件的解码方法和装置。
背景技术
WMV(Windows Media Video)是微软公司开发的一组数字视频编解码格式的通称,它是Windows Media架构下的一部分。WMV可以使用如MPlayer或者Windows Media Player这样的播放器播放,Windows Media Player只能在微软视窗和Macintosh系统上使用,有许多用于如Linux这样不同平台上的使用FFmpeg实现WMV编解码的第三方播放器。
视频流通常与Windows Media Audio音频流组合在一起并且使用扩展名为.wmv或者.asf的Advanced Streaming Format的文件进行封装。WMV通常使用Advanced StreamingFormat(ASF)封装,它也可以使用AVI或者Matroska格式封装。如果是AVI封装的文件结果文件可以是.avi,如果是ASF封装的话则是.wmv或者.asf,如果是MKV封装的话则是.mkv。
当使用VirtualDub编码器编码和WMV9VCM编解码实现的时候WMV可以存储在AVI文件中。用于Mac的微软公司媒体播放器不支持所有的WMV编码的文件,因为它只支持ASF文件封装,Flip4Mac和QuickTime或者用于MacOSX的MPlayer可以播放更多的文件。
在现有技术中,由于通常格式的数据包,一个数据包只包括一帧数据,但在对WMV文件进行解码时,数据包无法只解出一个帧,而是一个数据包可能包括多个帧。在WMV文件中,一个数据包可能包含多个视频帧或者音频帧,但是,在采用现有技术中的解码方法得到数据包时,无法得知原WMV文件中数据包中有多少帧,也不知道什么时候解码结束,给实际的解码操作和信息浏览带来了不便。
发明内容
本发明提供一种WMV文件的解码方法和装置,用以解决现有技术中存在的无法获知原WMV文件包含的帧数量及解码进度的问题,实现提高解码效率的目的。
本发明提供一种WMV文件的解码方法,包括:
步骤A:获取待解码的WMV文件的数据包描述信息,根据所述数据包描述信息获取数据包的数据总长度B1;
步骤B:根据所述数据包描述信息中的数据格式,选择与所述数据包中的数据格式对应的解码方式;
步骤C:根据所述对应的解码方式对数据包的一个数据帧进行解码,获取解码后的第一个数据帧,计算所述第一个数据帧在数据包中的长度B2;
步骤D:判断所述数据的总长度B1与所述第一个数据帧在数据包中的长度B2之差是否小于或等于零,如果是,则结束解码;
如果不是,则重复所述步骤C。
本发明实施例的一些有益效果可以包括:
该实施例通过获取数据包的描述信息,进而获取数据包中数据的总长度和数据格式,根据数据格式,可以选择与该数据格式相对应的解码方式对WMV文件进行解码,保证了对WMV文件解码的快速和便捷。当解码出第一个数据帧时,将该数据帧在数据包中的长度与数据总长度进行比较,判断其是否大于或等于数据总长度,如果是,即说明数据包中已经全部解码,可以直接结束解码,节省了工作时间,提高了工作效率;如果该数据帧在数据包中的长度小于数据总长度,说明还有数据包未解码,应当继续对数据包进行解码。该方法对每次解码后的数据帧长度与数据总长度进行比较,可以实现在全部数据数据包解码完成时,及时结束解码。
在一个实施实施例中,在所述步骤C和所述步骤D之间还包括:
步骤E:监测当前数据包的解码速度,判断所述解码速度是否达到预设的解码速度;
步骤F:如果所述解码速度小于预设解码速度,则判断当前待解码数据帧的类型;
步骤G:若所述当前待解码数据帧为非预设类型的数据帧,则丢弃所述当前待解码数据帧。
该实施例对解码过程中的解码速度与预设的解码速度进行比较,如果达到解码速度,则可以正常继续解码;如果未达到预设的解码速度,则说明当前待解码的数据帧可能不是实际需要的WMV文件的数据帧,进而对当前待解码数据帧的类型进行判断是否属于预设类型的数据帧,如果不是,则直接将该数据帧丢弃,防止在解码过程对不必要数据帧进行解码,造成解码时间的浪费,降低解码效率。
在一个实施例中,所述步骤E具体包括:
获取解码状态参数,所述解码状态参数为解码过程中对处理器和内存的资源利用率;
判断所述资源利用率是否小于预设利用率,如果是则所述解码状态参数的数值不属于预设数值范围;
如果所述解码状态参数的数值不属于预设数值范围,则所述解码速度小于预设解码速度。
该实施例主要对如何确定解码速度小于预设解码速度的方法进行了限定,首先通过获取当前正在解码时的解码状态参数,该解码状态参数包含了对处理器和内存的资源利用率。判断该资源利用率是否小于预设的资源利用率,如果是则说明解码状态参数不在预设的数值范围内,进而说明解码速度小于预设的解码速度。因为解码速度本身并无具体参数表示,该实施例对如何判断当前解码速度小于预设解码速度进行了详细说明,为判断解码速度提供了便利,节省了工作时间,提高了工作效率。
在一个实施例中,所述步骤B具体包括:
根据所述数据包的描述信息包含的音视频标识位,确定所述数据包中数据为音频数据或视频数据;
根据确定后的数据包中的音频数据或视频数据,调取与所述音频数据或视频数据对应的解码方式。
该实施例中,由于WMV文件可能是视频文件也可能是音频文件,因此,提取数据包描述信息中包含的音视频标志位,判断WMV文件数据为视频文件还是音频文件,进而调用与该视频文件或音频文件相对应的解码方式进行解码,防止由于调取的解码方式与数据类型不一致,导致解码时间的浪费或解码过程中的错误解码,提高了解码的效率。
在一个实施例中,在所述步骤D中结束解码之前还包括:
对已完成解码的数据包个数A2进行统计,判断所述已完成解码的数据包个数A2是否达到预先获得的数据包总个数A1;
如果B1-B2≤0,A2<A1,则将所述全部数据包中未解码的数据包丢弃;
如果B1-B2≤0,A2=A1,则结束解码。
该实施例中,在已解码数据帧长度大于等于数据总长度的同时,还对已经完成解码的数据包个数与数据包总个数进行比较,如果已完成解码的数据包个数小于数据包总个数,则说明后续未解码的数据包均为空,可以直接丢弃,节省了解码时间;如果已完成解码的数据包个数等于数据包总个数,说明已经解码完成,直接结束解码。该方法通过比较已完成解码的数据包个数与数据包总个数,为是否直接结束解码提供了依据,提高了解码效率。
一种WMV文件的解码装置,包括:
信息获取模块,用于获取待解码的WMV文件的数据包总个数A1和数据包描述信息,根据所述数据包描述信息获取全部数据包中数据总长度B1,所述描述信息包括数据格式和数据长度;
解码选择模块,用于根据所述数据包的数据格式,选择与所述数据包中的数据格式对应的解码方式;
文件解码模块,用于接收一个数据包,根据所述对应的解码方式对一个数据包进行解码,获取解码后的第一个数据帧,计算所述第一个数据帧在全部数据包中的长度B2;
解码判断模块,用于判断所述数据的总长度B1与所述第一个数据帧在数据包中的长度B2之差是否小于或等于零,如果是,则结束解码;
如果不是,则重复所述步骤C。
在一个实施例中,还包括:
速度监测模块,用于监测当前数据包的解码速度,判断所述解码速度是否达到预设的解码速度;
速度判断模块,用于如果所述解码速度小于预设解码速度,则判断当前待解码数据帧的类型;
结果执行模块,用于若所述当前待解码数据帧为非预设类型的数据帧,则丢弃所述当前待解码数据帧。
在一个实施例中,所述速度监测模块具体包括:
参数获取子模块,用于获取解码状态参数,所述解码状态参数为解码过程中对处理器和内存的资源利用率;
参数判断子模块,用于判断所述资源利用率是否小于预设利用率,如果是则所述解码状态参数的数值不属于预设数值范围;
速度确定子模块,用于如果所述解码状态参数的数值不属于预设数值范围,则所述解码速度小于预设解码速度。
在一个实施例中,所述解码选择模块具体包括:
标识识别子模块,用于根据所述数据包的描述信息包含的音视频标识位,确定所述数据包中数据为音频数据或视频数据;
解码确定子模块,用于根据确定后的数据包中的音频数据或视频数据,调取与所述音频数据或视频数据对应的解码方式。
在一个实施例中,所述解码判断模块还包括:
数量统计子模块,用于对已完成解码的数据包个数A2进行统计,判断所述已完成解码的数据包个数A2是否达到所述数据包总个数A1;
第一判断子模块,用于如果B1-B2≤0,A2<A1,则将所述全部数据包中未解码的数据包丢弃;
第二判断子模块,用于如果B1-B2≤0,A2=A1,则结束解码。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种WMV文件的解码方法的流程图;
图2为本发明实施例中另一种WMV文件的解码方法的流程图;
图3为本发明实施例中一种WMV文件的解码方法中步骤S105的流程图;
图4为本发明实施例中一种WMV文件的解码方法中步骤S102的流程图;
图5为本发明实施例中一种WMV文件的解码方法中步骤S104的流程图;
图6为本发明实施例中一种WMV文件的解码方法的具体流程图;
图7为本发明实施例中一种WMV文件的解码装置的框图;
图8为本发明实施例中一种WMV文件的解码装置的速度监测模块75的框图;
图9为本发明实施例中一种WMV文件的解码装置的解码选择模块72的框图;
图10为本发明实施例中一种WMV文件的解码装置的解码判断模块74的框图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为本发明实施例中一种WMV文件解码的方法的流程图。如图1所示,该方法包括以下步骤S101-S104:
步骤S101:获取待解码的WMV文件的数据包描述信息,根据所述数据包描述信息获取数据包的数据总长度B1;
WMV文件的数据包描述信息包括数据包中数据的各种信息,如:数据格式、数据包总长度等,还包括WMV文件的数据类型是视频数据还是音频数据等。
步骤S102:根据所述数据包描述信息中的数据格式,选择与所述数据包中的数据格式对应的解码方式;
步骤S103:根据所述对应的解码方式对数据包的一个数据帧进行解码,获取解码后的第一个数据帧,计算所述第一个数据帧在数据包中的长度B2;
每个数据帧在数据包占据一定的长度,该步骤对解码后获取的第一个数据帧的长度进行计算。
步骤S104:判断所述数据的总长度B1与所述第一个数据帧在数据包中的长度B2之差是否小于或等于零,如果是,则结束解码;
如果不是,则重复所述步骤C。
该实施例通过获取数据包的描述信息,进而获取数据包中数据的总长度和数据格式,根据数据格式,可以选择与该数据格式相对应的解码方式对WMV文件进行解码,保证了对WMV文件解码的快速和便捷。当解码出第一个数据帧时,将该数据帧在数据包中的长度与数据总长度进行比较,判断其是否大于或等于数据总长度,如果是,即说明数据包中已经全部解码,可以直接结束解码,节省了工作时间,提高了工作效率;如果该数据帧在数据包中的长度小于数据总长度,说明还有数据包未解码,应当继续对数据包进行解码。该方法对每次解码后的数据帧长度与数据总长度进行比较,可以实现在全部数据数据包解码完成时,及时结束解码。
在一个实施例中,如图2所示,在所述步骤S103和所述步骤S104之间还包括:
步骤S105:监测当前数据包的解码速度,判断所述解码速度是否达到预设的解码速度;
步骤S106:如果所述解码速度小于预设解码速度,则判断当前待解码数据帧的类型;
步骤S107:若所述当前待解码数据帧为非预设类型的数据帧,则丢弃所述当前待解码数据帧。
该实施例对解码过程中的解码速度与预设的解码速度进行比较,如果达到解码速度,则可以正常继续解码;如果未达到预设的解码速度,则说明当前待解码的数据帧可能不是实际需要的WMV文件的数据帧,进而对当前待解码数据帧的类型进行判断是否属于预设类型的数据帧,如果不是,则直接将该数据帧丢弃,防止在解码过程对不必要数据帧进行解码,造成解码时间的浪费,降低解码效率。
在一个实施例中,如图3所示,所述步骤S105可实施为以下步骤S301-S303:
步骤S301:获取解码状态参数,所述解码状态参数为解码过程中对处理器和内存的资源利用率;
步骤S302:判断所述资源利用率是否小于预设利用率,如果是则所述解码状态参数的数值不属于预设数值范围;
步骤S303:如果所述解码状态参数的数值不属于预设数值范围,则所述解码速度小于预设解码速度。
该实施例主要对如何确定解码速度小于预设解码速度的方法进行了限定,首先通过获取当前正在解码时的解码状态参数,该解码状态参数包含了对处理器和内存的资源利用率。判断该资源利用率是否小于预设的资源利用率,如果是则说明解码状态参数不在预设的数值范围内,进而说明解码速度小于预设的解码速度。因为解码速度本身并无具体参数表示,该实施例对如何判断当前解码速度小于预设解码速度进行了详细说明,为判断解码速度提供了便利,节省了工作时间,提高了工作效率。
在一个实施例中,如图4所示,所述步骤S102可实施为以下步骤S401-S402:
步骤S401:根据所述数据包的描述信息包含的音视频标识位,确定所述数据包中数据为音频数据或视频数据;
步骤S402:根据确定后的数据包中的音频数据或视频数据,调取与所述音频数据或视频数据对应的解码方式。
该实施例中,由于WMV文件可能是视频文件也可能是音频文件,因此,提取数据包描述信息中包含的音视频标志位,判断WMV文件数据为视频文件还是音频文件,进而调用与该视频文件或音频文件相对应的解码方式进行解码,防止由于调取的解码方式与数据类型不一致,导致解码时间的浪费或解码过程中的错误解码,提高了解码的效率。
在一个实施例中,如图5所示,在所述步骤S104中结束解码之前还包括:
步骤S501:对已完成解码的数据包个数A2进行统计,判断所述已完成解码的数据包个数A2是否达到预先获得的数据包总个数A1;
步骤S502:如果B1-B2≤0,A2<A1,则将所述全部数据包中未解码的数据包丢弃;
步骤S503:如果B1-B2≤0,A2=A1,则结束解码。
该实施例中,在已解码数据帧长度大于等于数据总长度的同时,还对已经完成解码的数据包个数与数据包总个数进行比较,如果已完成解码的数据包个数小于数据包总个数,则说明后续未解码的数据包均为空,可以直接丢弃,节省了解码时间;如果已完成解码的数据包个数等于数据包总个数,说明已经解码完成,直接结束解码。该方法通过比较已完成解码的数据包个数与数据包总个数,为是否直接结束解码提供了依据,提高了解码效率。
下面通过具体实施例来说明本发明实施例提供的WMV文件的解码方法。
如图6所示为本发明的一种WMV文件的解码方法的流程图,如图6所示,包括:
步骤S601:获取待解码的WMV文件的数据包描述信息,根据所述数据包描述信息获取数据包的数据总长度B1;
步骤S602:根据所述数据包的描述信息包含的音视频标识位,确定所述数据包中数据为音频数据或视频数据;
步骤S603:根据确定后的数据包中的音频数据或视频数据,调取与所述音频数据或视频数据对应的解码方式。
步骤S604:根据所述对应的解码方式对数据包的一个数据帧进行解码,获取解码后的第一个数据帧,计算所述第一个数据帧在数据包中的长度B2;
步骤S605:获取解码状态参数,所述解码状态参数为解码过程中对处理器和内存的资源利用率;
步骤S606:判断所述资源利用率是否小于预设利用率,如果是则所述解码状态参数的数值不属于预设数值范围;
步骤S607:如果所述解码状态参数的数值不属于预设数值范围,则所述解码速度小于预设解码速度。
步骤S608:如果所述解码速度小于预设解码速度,则判断当前待解码数据帧的类型;
步骤S609:若所述当前待解码数据帧为非预设类型的数据帧,则丢弃所述当前待解码数据帧。
步骤S610:判断所述数据的总长度B1与所述第一个数据帧在数据包中的长度B2之差是否小于或等于零,如果是,则转入步骤S611;如果不是,则转入步骤S604;
步骤S611:对已完成解码的数据包个数A2进行统计,判断所述已完成解码的数据包个数A2是否达到预先获得的数据包总个数A1;如果达到则转入步骤S613,如果未达到,则转入步骤S612;
步骤S612:如果B1-B2≤0,A2<A1,则将所述全部数据包中未解码的数据包丢弃;
步骤S613:如果B1-B2≤0,A2=A1,则结束解码。
对应于上述实施例提供的一种WMV文件的解码方法,本发明实施例还提供一种WMV文件的解码装置,如图7所示,包括:
信息获取模块71,用于获取待解码的WMV文件的数据包总个数A1和数据包描述信息,根据所述数据包描述信息获取全部数据包中数据总长度B1,所述描述信息包括数据格式和数据长度;
解码选择模块72,用于根据所述数据包的数据格式,选择与所述数据包中的数据格式对应的解码方式;
文件解码模块73,用于接收一个数据包,根据所述对应的解码方式对一个数据包进行解码,获取解码后的第一个数据帧,计算所述第一个数据帧在全部数据包中的长度B2;
解码判断模块74,用于判断所述数据的总长度B1与所述第一个数据帧在数据包中的长度B2之差是否小于或等于零,如果是,则结束解码;
如果不是,则重复所述步骤C。
速度监测模块75,用于监测当前数据包的解码速度,判断所述解码速度是否达到预设的解码速度;
速度判断模块76,用于如果所述解码速度小于预设解码速度,则判断当前待解码数据帧的类型;
结果执行模块77,用于若所述当前待解码数据帧为非预设类型的数据帧,则丢弃所述当前待解码数据帧。
在一个实施例中,如图8所示,所述速度监测模块75具体包括:
参数获取子模块751,用于获取解码状态参数,所述解码状态参数为解码过程中对处理器和内存的资源利用率;
参数判断子模块752,用于判断所述资源利用率是否小于预设利用率,如果是则所述解码状态参数的数值不属于预设数值范围;
速度确定子模块753,用于如果所述解码状态参数的数值不属于预设数值范围,则所述解码速度小于预设解码速度。
在一个实施例中,如图9所示,所述解码选择模块72具体包括:
标识识别子模块721,用于根据所述数据包的描述信息包含的音视频标识位,确定所述数据包中数据为音频数据或视频数据;
解码确定子模块722,用于根据确定后的数据包中的音频数据或视频数据,调取与所述音频数据或视频数据对应的解码方式。
在一个实施例中,如图10所示,所述解码判断模块74还包括:
数量统计子模块741,用于对已完成解码的数据包个数A2进行统计,判断所述已完成解码的数据包个数A2是否达到所述数据包总个数A1;
第一判断子模块742,用于如果B1-B2≤0,A2<A1,则将所述全部数据包中未解码的数据包丢弃;
第二判断子模块743,用于如果B1-B2≤0,A2=A1,则结束解码。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种WMV文件解码方法,其特征在于,包括:
步骤A:获取待解码的WMV文件的数据包描述信息,根据所述数据包描述信息获取数据包的全部数据总长度B1;
步骤B:根据所述数据包描述信息中的数据格式,选择与所述数据包中的数据格式对应的解码方式;
步骤C:根据所述对应的解码方式对数据包的一个数据帧进行解码,获取解码后的第一个数据帧,计算所述第一个数据帧在全部数据包中的长度B2;
步骤D:判断所述数据的总长度B1与所述第一个数据帧在数据包中的长度B2之差是否小于或等于零,如果是,则结束解码;
如果不是,则重复所述步骤C;
在所述步骤C和所述步骤D之间还包括:
步骤E:监测当前数据包的解码速度,判断所述解码速度是否达到预设的解码速度;
步骤F:如果所述解码速度小于预设解码速度,则判断当前待解码数据帧的类型;
步骤G:若所述当前待解码数据帧为非预设类型的数据帧,则丢弃所述当前待解码数据帧。
2.如权利要求1所述的WMV文件解码方法,其特征在于,所述步骤E具体包括:
获取解码状态参数,所述解码状态参数为解码过程中对处理器和内存的资源利用率;
判断所述资源利用率是否小于预设利用率,如果是则所述解码状态参数的数值不属于预设数值范围;
如果所述解码状态参数的数值不属于预设数值范围,则所述解码速度小于预设解码速度。
3.如权利要求1所述的WMV文件解码方法,其特征在于,所述步骤B具体包括:
根据所述数据包的描述信息包含的音视频标识位,确定所述数据包中数据为音频数据或视频数据;
根据确定后的数据包中的音频数据或视频数据,调取与所述音频数据或视频数据对应的解码方式。
4.如权利要求1所述的WMV文件解码方法,其特征在于,在所述步骤D中结束解码之前还包括:
对已完成解码的数据包个数A2进行统计,判断所述已完成解码的数据包个数A2是否达到预先获得的数据包总个数A1;
如果B1-B2≤0,A2<A1,则将所述全部数据包中未解码的数据包丢弃;
如果B1-B2≤0,A2=A1,则结束解码。
5.一种WMV文件的解码装置,其特征在于,包括:
信息获取模块,用于获取待解码的WMV文件的数据包总个数A1和数据包描述信息,根据所述数据包描述信息获取全部数据包中数据总长度B1,所述描述信息包括数据格式和数据长度;
解码选择模块,用于根据所述数据包的数据格式,选择与所述数据包中的数据格式对应的解码方式;
文件解码模块,用于接收一个数据包,根据所述对应的解码方式对一个数据包进行解码,获取解码后的第一个数据帧,计算所述第一个数据帧在全部数据包中的长度B2;
解码判断模块,用于判断所述数据的总长度B1与所述第一个数据帧在数据包中的长度B2之差是否小于或等于零,如果是,则结束解码;
如果不是,则跳转至所述文件解码模块;
还包括:
速度监测模块,用于监测当前数据包的解码速度,判断所述解码速度是否达到预设的解码速度;
速度判断模块,用于如果所述解码速度小于预设解码速度,则判断当前待解码数据帧的类型;
结果执行模块,用于若所述当前待解码数据帧为非预设类型的数据帧,则丢弃所述当前待解码数据帧。
6.如权利要求5所述的一种WMV文件的解码装置,其特征在于,所述速度监测模块具体包括:
参数获取子模块,用于获取解码状态参数,所述解码状态参数为解码过程中对处理器和内存的资源利用率;
参数判断子模块,用于判断所述资源利用率是否小于预设利用率,如果是则所述解码状态参数的数值不属于预设数值范围;
速度确定子模块,用于如果所述解码状态参数的数值不属于预设数值范围,则所述解码速度小于预设解码速度。
7.如权利要求5所述的一种WMV文件的解码装置,其特征在于,所述解码选择模块具体包括:
标识识别子模块,用于根据所述数据包的描述信息包含的音视频标识位,确定所述数据包中数据为音频数据或视频数据;
解码确定子模块,用于根据确定后的数据包中的音频数据或视频数据,调取与所述音频数据或视频数据对应的解码方式。
8.如权利要求5所述的一种WMV文件的解码装置,其特征在于,所述解码判断模块还包括:
数量统计子模块,用于对已完成解码的数据包个数A2进行统计,判断所述已完成解码的数据包个数A2是否达到所述数据包总个数A1;
第一判断子模块,用于如果B1-B2≤0,A2<A1,则将所述全部数据包中未解码的数据包丢弃;
第二判断子模块,用于如果B1-B2≤0,A2=A1,则结束解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510239125.4A CN104837073B (zh) | 2015-05-12 | 2015-05-12 | 一种wmv文件的解码方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510239125.4A CN104837073B (zh) | 2015-05-12 | 2015-05-12 | 一种wmv文件的解码方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104837073A CN104837073A (zh) | 2015-08-12 |
CN104837073B true CN104837073B (zh) | 2018-02-09 |
Family
ID=53814664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510239125.4A Expired - Fee Related CN104837073B (zh) | 2015-05-12 | 2015-05-12 | 一种wmv文件的解码方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104837073B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110365342B (zh) * | 2019-06-06 | 2023-05-12 | 中车青岛四方机车车辆股份有限公司 | 波形解码方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101018308A (zh) * | 2006-01-21 | 2007-08-15 | 珠海炬力集成电路设计有限公司 | Amv音视频文件制作方法和amv音视频文件播放器 |
CN101605018A (zh) * | 2009-06-17 | 2009-12-16 | 中兴通讯股份有限公司 | 一种基于流的深度报文检测协议解码方法、设备及系统 |
CN102325274A (zh) * | 2011-10-13 | 2012-01-18 | 浙江万里学院 | 一种自适应网络带宽的视频流传输控制方法 |
CN104185028A (zh) * | 2013-05-20 | 2014-12-03 | 安凯(广州)微电子技术有限公司 | 一种视频播放方法及终端 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1149795A (zh) * | 1995-11-02 | 1997-05-14 | 邝冬英 | 多媒体数字传输广播系统 |
KR100364782B1 (ko) * | 2000-06-02 | 2002-12-16 | 엘지전자 주식회사 | 통신 시스템의 데이터 전송 방법 |
CN101470949A (zh) * | 2007-12-25 | 2009-07-01 | 上海爱国者数码科技有限公司 | 交通信息通信系统 |
CN101610131B (zh) * | 2008-06-16 | 2013-04-17 | 中兴通讯股份有限公司 | 一种半速率trau帧的上行扩展控制位的发送方法 |
CN102111233B (zh) * | 2009-12-28 | 2014-03-26 | 华为软件技术有限公司 | 一种fec数据的处理方法及系统 |
JP2012175613A (ja) * | 2011-02-24 | 2012-09-10 | Sony Corp | 画像送信装置、画像送信方法、及びプログラム |
-
2015
- 2015-05-12 CN CN201510239125.4A patent/CN104837073B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101018308A (zh) * | 2006-01-21 | 2007-08-15 | 珠海炬力集成电路设计有限公司 | Amv音视频文件制作方法和amv音视频文件播放器 |
CN101605018A (zh) * | 2009-06-17 | 2009-12-16 | 中兴通讯股份有限公司 | 一种基于流的深度报文检测协议解码方法、设备及系统 |
CN102325274A (zh) * | 2011-10-13 | 2012-01-18 | 浙江万里学院 | 一种自适应网络带宽的视频流传输控制方法 |
CN104185028A (zh) * | 2013-05-20 | 2014-12-03 | 安凯(广州)微电子技术有限公司 | 一种视频播放方法及终端 |
Also Published As
Publication number | Publication date |
---|---|
CN104837073A (zh) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10708099B2 (en) | Method and apparatus for code block division | |
JP7035177B2 (ja) | 極性コーディング方法、装置、電子デバイスおよび記憶媒体 | |
EP2661051A1 (en) | Method and device for processing service data stream | |
JP6314252B2 (ja) | ネットワークビデオ再生方法及び装置 | |
CN106131550B (zh) | 播放多媒体文件的方法及装置 | |
CN104253996B (zh) | 视频数据的发送、接收方法及其装置以及传输系统 | |
US20170084280A1 (en) | Speech Encoding | |
CN108366294A (zh) | 一种视频裁剪方法及装置 | |
KR20150132372A (ko) | 비디오 프레임들을 드롭함으로써 네트워크를 통해 비디오들을 송신하기 위해 필요한 비트 레이트를 감소시키는 방법 | |
KR20190053832A (ko) | 무선통신의 방법과 장치 | |
CN105743911B (zh) | 一种提升视频会议系统混音容量的方法 | |
CN104837073B (zh) | 一种wmv文件的解码方法和装置 | |
CN103905843B (zh) | 一种规避连续i帧的分布式音视频处理装置和处理方法 | |
CN107124772A (zh) | 一种资源调度方法及装置 | |
US9232376B2 (en) | Concurrent voice and data service on a same digital radio channel | |
CN105049856A (zh) | 一种视频文件的处理方法及装置 | |
KR20090038387A (ko) | 하나 또는 그 이상의 수신기들에 대한 spdif 포맷의 디지털 오디오 전송 방법 및 시스템 | |
JP2010004416A (ja) | 移動無線装置 | |
CN106776614A (zh) | 分享平台的显示方法及装置 | |
CN104796702B (zh) | 一种h264视频帧率的转换方法及装置 | |
US8144615B2 (en) | Rate matching device and method for controlling rate matching in communications system | |
CN108353181A (zh) | 在媒体传输系统中使能视频比特流的随机访问和重播的方法 | |
US20130317829A1 (en) | Audio Decoding Method and Associated Apparatus | |
CN104796732B (zh) | 一种音视频编辑方法及装置 | |
US10097310B2 (en) | Device and method for transmitting/receiving a plurality of encoded data packets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Method and device for decoding WMV file Effective date of registration: 20210104 Granted publication date: 20180209 Pledgee: Inner Mongolia Huipu Energy Co.,Ltd. Pledgor: WUXI TVMINING MEDIA SCIENCE & TECHNOLOGY Co.,Ltd. Registration number: Y2020990001517 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180209 Termination date: 20210512 |
|
CF01 | Termination of patent right due to non-payment of annual fee |