CN104837052A - 播放多媒体数据的方法及装置 - Google Patents
播放多媒体数据的方法及装置 Download PDFInfo
- Publication number
- CN104837052A CN104837052A CN201410256044.0A CN201410256044A CN104837052A CN 104837052 A CN104837052 A CN 104837052A CN 201410256044 A CN201410256044 A CN 201410256044A CN 104837052 A CN104837052 A CN 104837052A
- Authority
- CN
- China
- Prior art keywords
- video
- local terminal
- hardware
- decoder
- configuration information
- 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.)
- Granted
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种播放多媒体数据的方法及装置,属于互联网领域。所述方法包括:基于多媒体文件,调用本端的硬件视频解码器接口,以初始化所述本端的硬件视频解码器;对于所述多媒体文件中的每一帧多媒体数据,对所述多媒体数据进行容器格式解析,得到一帧视频码流;如果所述硬件视频解码器初始化成功,则通过所述硬件视频解码器对所述视频码流进行解码,得到解码后的视频数据;通过多媒体播放器包括的音频解码模块对所述音频码流进行解码,得到解码后的音频数据;基于解码后的视频数据和音频数据,进行多媒体数据的播放。本发明可以节省CPU的计算资源,进而降低播放多媒体数据时本端的耗电量,以及提高多媒体数据的播放质量。
Description
技术领域
本发明涉及互联网领域,特别涉及一种播放多媒体数据的方法及装置。
背景技术
随着电子智能终端的发展与普及,终端不仅可以支持系统中自带的应用程序,还可以支持第三方应用程序。第三方应用程序可以包括浏览器、即时通讯工具、多媒体播放器等等。当播放多媒体数据时,终端不仅可以使用系统中自带的多媒体播放器进行播放,还可以使用第三方应用程序中的多媒体播放器进行播放。
目前,终端使用第三方应用程序中的多媒体播放器播放多媒体数据的过程为:终端接收多媒体数据,并对该多媒体数据进行容器格式解析,得到压缩编码后的视频码流和音频码流。通过第三方应用程序自带的视频解码模块对该视频码流进行解码,得到解码后的视频数据,并通过第三方应用程序自带的音频解码模块对该音频码流进行解码,得到解码后的音频数据。然后,基于解码后的视频数据和音频数据,进行多媒体数据的播放。
由于视频解码的计算复杂度较高,采用第三方应用程序自带的视频解码模块会消耗大量的CPU(Central Processing Unit,中央处理器)计算资源,导致播放多媒体数据时终端的耗电量较大。另外,在低配置的终端上播放较高分辨率的视频数据时,视频解码模块的速度达不到人眼流畅观看视频所需的帧率(25~30fps),造成视频卡顿,严重影响多媒体数据的播放质量。当终端的配置特别低的时候,可能还会导致多媒体数据无法播放,甚至造成多媒体播放器异常终止、终端死机等严重问题。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种播放多媒体数据的方法及装置。所述技术方案如下:
一方面,提供了一种播放多媒体数据的方法,所述方法包括:
基于多媒体文件,调用本端的硬件视频解码器接口,以初始化所述本端的硬件视频解码器;
对于所述多媒体文件中的每一帧多媒体数据,对所述多媒体数据进行容器格式解析,得到一帧视频码流;
如果所述硬件视频解码器初始化成功,则通过所述硬件视频解码器对所述视频码流进行解码,得到解码后的视频数据;
基于解码后的视频数据,进行多媒体数据的播放。
另一方面,提供了一种播放多媒体数据的装置,所述装置包括:
第一调用模块,用于基于多媒体文件,调用本端的硬件视频解码器接口,以初始化所述本端的硬件视频解码器;
解析模块,用于对于所述多媒体文件中的每一帧多媒体数据,对所述多媒体数据进行容器格式解析,得到一帧视频码流;
第一解码模块,用于如果所述硬件视频解码器初始化成功,则通过所述硬件视频解码器对所述视频码流进行解码,得到解码后的视频数据;
播放模块,用于基于解码后的视频数据,进行多媒体数据的播放。
在本发明实施例中,基于多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的硬件视频解码器。如果本端的硬件视频解码器初始化成功,则通过本端的硬件视频解码器对视频码流进行解码,得到解码后的视频数据。而不是直接通过多媒体播放器包括的视频解码模块对视频码流进行解码。由于本端的硬件视频解码器是通过硬件对视频码流进行解码,多媒体播放器包括的视频解码模块式通过软件对视频码流进行解码,并且硬件解码的速度远远大于软件解码的速度,因此,采用硬件解码可以节省CPU的计算资源,进而降低播放多媒体数据时本端的耗电量。另外,硬件解码的高速度可以满足在低配置的终端上播放较高分辨率的视频数据时所需的帧率,避免视频卡顿,提高多媒体数据的播放质量,进而避免多媒体数据无法播放,以及多媒体播放器异常终止、终端死机等严重问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种播放多媒体数据的装置结构示意图;
图2是本发明实施例提供的一种播放多媒体数据的方法流程图;
图3是本发明实施例提供的另一种播放多媒体数据的方法流程图;
图4是本发明实施例提供的一种播放多媒体数据的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种播放多媒体数据的装置结构示意图。在图1中包括容器格式解析模块、硬件加速能力适配模块、硬件视频解码器、视频解码模块、音频解码模块、音视频同步模块、加速视频渲染器、兼容视频渲染模块和音频渲染模块。其中,容器格式解析模块、硬件加速能力适配模块、视频解码模块、音频解码模块、音视频同步模块、兼容视频渲染模块和音频渲染模块是多媒体播放器包括的软件模块,硬件视频解码器和加速视频渲染器是本端包括的硬件模块。如图1所示,硬件视频解码器和视频解码模块可以互相切换以对容器格式解析模块解析得到的视频码流进行解码。当本端支持硬件加速且硬件视频解码器初始化成功时,可以切换为硬件视频解码器对视频流进行解码;当本端不支持硬件加速、硬件视频解码器初始化失败或播放过程中硬件视频解码器解码失败时,可以切换为视频解码模块对视频码流进行解码。另外,加速视频渲染器和兼容视频渲染模块也可以互相切换以对同步后的视频数据进行渲染。当本端采用硬件视频解码器进行解码且加速视频渲染器初始化成功时,可以切换为加速视频渲染器对同步后的视频数据进行渲染。当本端采用视频解码模块进行解码或者加速视频渲染器初始化失败时,可以切换为兼容视频渲染模块对同步后的视频数据进行渲染。
图2是本发明实施例提供的一种播放多媒体数据的方法流程图。参见图2,该方法包括:
步骤201:基于多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的硬件视频解码器。
步骤202:对于该多媒体文件中的每一帧多媒体数据,对该多媒体数据进行容器格式解析,得到一帧视频码流。
步骤203:如果该硬件视频解码器初始化成功,则通过该硬件视频解码器对视频码流进行解码,得到解码后的视频数据。
步骤204:基于解码后的视频数据,进行多媒体数据的播放。
在本发明实施例中,基于多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的硬件视频解码器。如果本端的硬件视频解码器初始化成功,则通过本端的硬件视频解码器对视频码流进行解码,得到解码后的视频数据。而不是直接通过多媒体播放器包括的视频解码模块对视频码流进行解码。由于本端的硬件视频解码器是通过硬件对视频码流进行解码,多媒体播放器包括的视频解码模块式通过软件对视频码流进行解码,并且硬件解码的速度远远大于软件解码的速度,因此,采用硬件解码可以节省CPU的计算资源,进而降低播放多媒体数据时本端的耗电量。另外,硬件解码的高速度可以满足在低配置的终端上播放较高分辨率的视频数据时所需的帧率,避免视频卡顿,提高多媒体数据的播放质量,进而避免多媒体数据无法播放,以及多媒体播放器异常终止、终端死机等严重问题。
可选地,基于多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的的硬件视频解码器,包括:
基于多媒体文件,调用本端的硬件视频解码器接口;
如果调用该硬件视频解码器接口时获得的返回信息指示调用成功,则确定对该硬件视频解码器初始化成功。
可选地,对于多媒体文件中的每一帧多媒体数据,对该多媒体数据进行容器格式解析,得到视频码流之后,还包括:
如果对该多媒体数据进行容器格式解析之后还得到一帧音频码流,则通过多媒体播放器包括的音频解码模块对该音频码流进行解码,得到解码后的音频数据。
可选地,基于多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的硬件视频解码器之后,还包括:
基于该多媒体文件,调用本端的加速视频渲染器接口,以初始化本端的加速视频渲染器;
相应地,基于解码后的视频数据,进行多媒体数据的播放,包括:
根据解码后的视频数据的时间戳和解码后的音频数据的时间戳,对视频数据和音频数据进行同步处理;
如果该加速视频渲染器初始化成功,则通过该加速视频渲染器对同步处理后的视频数据进行渲染;
通过多媒体播放器包括的音频渲染模块对同步处理后的音频数据进行渲染;
输出渲染后的视频数据和音频数据,实现多媒体数据的播放。
可选地,基于该多媒体文件,调用本端的加速视频渲染器接口,以初始化本端的加速视频渲染器,包括:
基于该多媒体文件,调用本端的加速视频渲染器接口;
如果调用该加速视频渲染器接口时获得的返回信息指示调用成功,则确定对该加速视频渲染器初始化成功。
可选地,基于多媒体文件,调用本端的硬件视频解码器接口,以初始化所述本端的硬件视频解码器之前,还包括:
获取该多媒体文件对应的视频编码格式,以及获取本端配置信息;
根据获取的视频编码格式、本端配置信息、服务器发送的配置信息和多媒体播放器的设置信息中的至少一项,判断本端是否支持硬件加速;
如果本端支持硬件加速,则执行基于该多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的硬件视频解码器的步骤。
可选地,根据视频编码格式、本端配置信息、服务器发送的配置信息和多媒体播放器的设置信息中的至少一项,判断本端是否支持硬件加速,包括:
如果服务器发送的配置信息指示对所有设备打开硬件加速、多媒体播放器的设置信息中包括打开硬件加速的选项以及本端支持的硬件视频解码器中包括支持视频编码格式的解码器,则确定本端支持硬件加速;
如果服务器发送的配置信息指示对第一指定设备打开硬件加速,或者该多媒体播放器的设置信息指示对第二指定设备打开硬件加速,则根据第一指定设备信息、第二指定设备信息、视频编码格式和本端配置信息中的至少一项,判断本端是否支持硬件加速,指定设备信息包括系统版本、中央处理器CPU芯片型号、设备型号、硬件视频解码器中的至少一种。
可选地,根据第一指定设备信息、第二指定设备信息、视频编码格式和本端配置信息中的至少一项,判断本端是否支持硬件加速,包括:
如果第一指定设备信息和第二指定设备信息中均包括本端配置信息中的系统版本,则确定本端支持硬件加速;
如果第一指定设备信息和第二指定设备信息中均包括本端配置信息中的CPU芯片型号,则确定本端支持硬件加速;
如果第一指定设备信息和第二指定设备信息中均包括本端配置信息中的设备型号,则确定本端支持硬件加速;
如果本端支持的硬件视频解码器中包括支持视频编码格式的解码器,则确定本端支持硬件加速。
可选地,获取本端配置信息,包括:
读取本端配置信息;
如果本端配置信息不存在,则检测本端的设备信息;
将检测的设备信息存储在本端配置信息中。
可选地,该方法还包括:
如果硬件视频解码器初始化失败,则通过多媒体播放器包括的视频解码模块对视频码流进行解码,得到解码后的视频数据;
如果本端的加速视频渲染器初始化失败,则通过多媒体播放器包括的兼容视频渲染模块对同步处理后的视频数据进行渲染。
上述所有可选技术方案,可以通过任意结合形成本发明的可选实施例,在此不再一一赘述。
图3是本发明实施例提供的一种播放多媒体数据的方法流程图。参见图3,该方法包括:
步骤301:获取多媒体文件对应的视频编码格式,以及获取本端配置信息。
多媒体文件对应的视频编码格式不仅可以从该多媒体文件中的文件头数据中获取,还可以从该多媒体文件中的多媒体数据中获取。
当视频编码格式是从多媒体数据中获取时,可以首先对该多媒体文件中的第一帧多媒体数据进行容器格式解析,得到对应的视频码流和音频码流。由于进行容器格式解析得到的视频码流是压缩编码后的视频码流,所以可以从解析得到的视频码流中获取对应的视频编码格式。
其中,获取本端配置信息的具体操作可以为:读取本端配置信息。如果本端配置信息不存在,则检测本端的设备信息。将检测的设备信息存储在本端配置信息中。
其中,本端的设备信息可以为本端的操作系统的系统版本、CPU芯片型号、设备型号、支持的硬件视频解码器等等。
需要补充说明的是,在本端中第一次运行多媒体播放器时,可以检测本端的设备信息,并将本端的设备信息存储在本端配置信息中,避免后续运行多媒体播放器时再次检测本端的设备信息,可以快速启动多媒体播放器,进而提高播放多媒体数据的效率。
还需要说明的是,视频编码格式是从多媒体文件中获取的,本端配置信息是本端的固有信息,所以,获取本端配置信息的步骤不仅可以在获取视频编码格式的步骤之后,还可以在获取视频编码格式的步骤之前,当然,也可以在获取视频编码格式的同时获取本端配置信息,本发明实施例对此不做具体限定。
步骤302:根据获取的视频编码格式、本端配置信息、服务器发送的配置信息和多媒体播放器的设置信息中的至少一项,判断本端是否支持硬件加速。
具体地,如果服务器发送的配置信息指示对所有设备打开硬件加速、多媒体播放器的设置信息中包括打开硬件加速的选项以及本端支持的硬件视频解码器中包括支持该视频编码格式的解码器,则确定本端支持硬件加速。如果服务器发送的配置信息指示对第一指定设备打开硬件加速,或者多媒体播放器的设置信息指示对第二指定设备打开硬件加速,则根据第一指定设备信息、第二指定设备信息、该视频编码格式和本端配置信息中的至少一项,判断本端是否支持硬件加速,指定设备信息包括系统版本、CPU芯片型号、设备型号、硬件视频解码器中的至少一种。
其中,第一指定设备信息是第一指定设备对应的设备信息,第二指定设备信息是第二指定设备对应的设备信息。
进一步地,如果服务器发送的配置信息指示对所有设备打开硬件加速,但是多媒体播放器的设置信息中不包括打开硬件加速的选项或者本端支持的硬件视频解码器中不包括支持该视频编码格式的解码器,则确定本端不支持硬件加速。
其中,根据第一指定设备信息、第二指定设备信息、视频编码格式和本端配置信息中的至少一项,判断本端是否支持硬件加速的具体操作可以为下述(1)-(4)的步骤,包括:
(1)、如果第一指定设备信息和第二指定设备信息中均包括本端配置信息中的系统版本,则确定本端支持硬件加速。
进一步地,如果第一指定设备信息中不包括本端配置信息中的系统版本,或者第二指定设备信息中不包括本端配置信息中的系统版本,则确定本端不支持硬件加速。
(2)、如果第一指定设备信息和第二指定设备信息中均包括本端配置信息中的CPU芯片型号,则确定本端支持硬件加速。
进一步地,如果第一指定设备信息中不包括本端配置信息中的CPU芯片型号,或者第二指定设备信息中不包括本端配置信息中的CPU芯片型号,则确定本端不支持硬件加速。
(3)、如果第一指定设备信息和第二指定设备信息中包括本端配置信息中的设备型号,则确定本端支持硬件加速。
进一步地,如果第一指定设备信息中不包括本端配置信息中的设备型号,或者第二指定设备信息中不包括本端配置信息中的设备型号,则确定本端不支持硬件加速。
(4)、如果本端支持的硬件视频解码器中包括支持该视频编码格式的解码器,则确定本端支持硬件加速。
进一步地,如果本端支持的硬件视频解码器中不包括支持该视频编码格式的解码器,则确定本端不支持硬件加速。
其中,服务器可以设置指示值用于指示是否对所有设备打开硬件加速。具体地,当服务器设置该指示值为第一数值时,确定对所有设备打开硬件加速;当服务器设置该指示值为第二数值时,确定对指定设备打开硬件加速,并将指定设备信息发送给本端。例如,当指示值为1时,确定对所有设备打开硬件加速;当该指示值为0时,确定对指定设备打开硬件加速。
其中,多媒体播放器的设置信息可以包括开发人员事先设置的信息,还可以包括用户使用该多媒体播放器时设置的信息,本发明实施例对此不做具体限定。
需要补充说明的是,在本发明实施例中,判断本端是否支持硬件加速的参数不仅可以为视频编码格式、本端配置信息、服务器发送的配置信息和多媒体播放器的设置信息中的至少一项,还可以根据其他的参数,比如,多媒体播放器的版本,多媒体播放器接入网络的地区等等。本发明实施例对此不做具体限定。
步骤303:如果本端支持硬件加速,则基于该多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的硬件视频解码器。
具体地,基于该多媒体文件,调用本端的硬件视频解码器接口。如果调用硬件视频解码器接口时获得的返回信息指示调用成功,则确定对硬件视频解码器初始化成功。
其中,调用硬件视频解码器接口时会获取到返回信息,该返回信息可以指示调用硬件视频解码器接口是否成功。例如,当返回信息为第一信息时,确定调用成功,当返回信息为第二信息时,确定调用失败。
进一步地,调用硬件视频解码器接口时可能会获取到多个返回信息,可以根据该多个返回信息确定调用硬件视频解码器接口是否成功。例如,当该多个返回信息均为第一信息时,确定调用成功,当该多个返回信息中的一个返回信息为第二信息时,确定调用失败。
进一步地,当确定调用硬件视频解码器接口失败时,可以确定对该硬件视频解码器初始化失败。
步骤304:基于该多媒体文件,调用本端的加速视频渲染器接口,以初始化本端的加速视频渲染器。
具体地,基于该多媒体文件,调用本端的加速视频渲染器接口。如果调用加速视频渲染器接口时获得的返回信息指示调用成功,则确定对加速视频渲染器初始化成功。
其中,调用加速视频渲染器接口时会获取到返回信息,该返回信息可以指示调用加速视频渲染器接口是否成功。例如,当返回信息为第一信息时,确定调用成功,当返回信息为第二信息时,确定调用失败。
进一步地,调用加速视频渲染器接口时可能会获取到多个返回信息,可以根据该多个返回信息确定调用加速视频渲染器接口是否成功。例如,当该多个返回信息均为第一信息时,确定调用成功,当该多个返回信息中的一个返回信息为第二信息时,确定调用失败。
进一步地,当确定调用加速视频渲染器接口失败时,可以确定对该加速视频渲染器初始化失败。
其中,步骤304可以与步骤303同时执行,也可以在步骤303之前执行,当然,还可以在步骤303之后执行,本发明实施例以步骤304在步骤303之后执行为例进行说明。
步骤305:对于该多媒体文件中的每一帧多媒体数据,对该多媒体数据进行容器格式解析,得到一帧视频码流和一帧音频码流。
其中,一个多媒体文件可以包括多帧多媒体数据,该多媒体文件可以是本端中存储的多媒体文件,还可以是本端中的其他应用程序向其对应的服务器实时请求的多媒体文件。比如,该多媒体文件可以为本端中存储的已下载视频,还可以是即时通讯工具向即时通讯服务器实时请求的多媒体文件,或者是流媒体客户端向流媒体服务器实时请求的多媒体文件。
其中,多媒体文件相当于是一个容器,在该容器中存储视频码流和音频码流,所以可以对该多媒体文件中的每一帧多媒体数据进行容器格式解析,得到视频码流和音频码流。
需要补充说明的是,当多媒体数据中包括视频数据时,对多媒体数据进行容器格式解析,得到一帧视频码流。当多媒体数据中包括视频数据和音频数据时,对多媒体数据进行容器格式解析,得到一帧视频码流和音频码流。
其中,当多媒体播放器的容器解析模块对多媒体数据进行容器格式解析之后,一般情况下,将视频码流传入多媒体播放器的视频解码模块,该视频解码模块对解析得到的视频码流进行解码。而在本发明实施例中,当判断本端支持硬件加速时,将视频码流传入本端的硬件视频解码器,调用本端的硬件视频解码器对解析得到的视频码流进行解码。由于本端的硬件视频解码器是通过硬件对视频码流进行解码,多媒体播放器包括的视频解码模块式通过软件对视频码流进行解码,并且硬件解码的速度远远大于软件解码的速度,因此,采用硬件解码提高解码的速度,并且可以节省CPU的计算资源,进而降低播放多媒体数据时本端的耗电量。
步骤306:如果硬件视频解码器初始化成功,则通过硬件视频解码器对该视频码流进行解码,得到解码后的视频数据。
进一步地,如果硬件视频解码器初始化失败,则硬件加速能力适配模块控制将硬件视频解码器切换为多媒体播放器包括的视频解码模块,通过多媒体播放器包括的视频解码模块对视频码流进行解码,得到解码后的视频数据。
在本发明实施例中,不仅可以在硬件视频解码器初始化失败时,切换多媒体播放器包括的视频解码模块对视频码流进行解码。当多媒体数据播放过程中,如果硬件视频解码器解码失败时,也可以切换多媒体播放器包括的视频解码模块对视频码流进行解码。
其中,在多媒体数据播放过程中,导致硬件视频解码器解码失败的原因可以为视频码流的切换。例如,将视频码流在高清、标清、流畅等多个模式之间的切换造成。由于多个模式之间的视频编码参数可能不同,所以视频码流的切换可能会导致视频解码失败。
其中,多媒体播放器包括的视频解码模块可以兼容任意设备的硬件视频解码器对视频码流进行解码,保证了正常的多媒体数据播放不受影响。
需要补充说明的是,对视频码流进行解码时,是根据视频编码格式对该视频码流进行解码。本发明实施例对视频解码不进行详细阐述
步骤307:通过多媒体播放器包括的音频解码模块对音频码流进行解码,得到解码后的音频数据。
其中,多媒体播放器包括的音频解码模块也可以兼容任意设备的音频解码器对音频码流进行解码,保证了正常的多媒体数据播放不受影响。且对音频码流进行解码时,是根据音频编码格式对该音频码流进行解码,本发明实施例对音频解码不进行详细阐述。
步骤308:根据解码后的视频数据的时间戳和解码后的音频数据的时间戳,对该视频数据和音频数据进行同步处理。
该视频数据是对当前一帧多媒体数据进行容器格式解析和视频解码得到的一帧视频数据,该音频数据是对当前一帧多媒体数据进行容器格式解析和音频解码得到的一帧音频数据。该帧视频数据有对应的一个时间戳,该帧音频帧也有对应的一个时间戳。为了保证该帧视频帧与该帧音频帧同步,换句话说,为了保证本端显示的该帧视频画面与播放的该帧音频同步,需要根据该帧视频数据的时间戳和该帧音频数据的时间戳,对该帧视频数据和该帧音频数据进行同步处理。
其中,对该帧视频数据和该帧音频数据进行同步处理也就是控制该帧视频数据和该帧音频数据的渲染时间同步,进而保证输出的该帧视频画面与播放的该帧音频同步。
步骤309:如果加速视频渲染器初始化成功,则通过加速视频渲染器对同步处理后的视频数据进行渲染。
进一步地,如果本端的加速视频渲染器初始化失败,则硬件加速能力适配模块控制将加速视频渲染器切换为多媒体播放器包括的兼容视频渲染模块,通过多媒体播放器包括的兼容视频渲染模块对同步处理后的视频数据进行渲染。
其中,兼容视频渲染模块可以兼容任意设备上的硬件视频解码器或多媒体播放器包括的视频解码模块解码的视频渲染方式,保证了正常的多媒体数据播放不受影响。例如,加速视频渲染器可以为Android系统上的nativewindow,兼容视频渲染模块可以为Android系统上采用的OpenGL(Open Graphics Library,三维图形标准)或Bitmap(位图)。
当通过本端的硬件视频解码器对解析得到视频码流进行解码时,此时,如果再使用本端的加速视频渲染器对同步后的视频数据进行渲染时,可以直接将渲染后的视频数据通过本端输出。而当通过本端的硬件视频解码器对解析得到视频码流进行解码时,如果使用多媒体播放器包括的兼容视频渲染模块对同步后的视频数据进行渲染时,需要将同步的数据拷贝到多媒体播放器的兼容视频渲染模块中,浪费时间。所以,当本端的硬件视频解码器与本端的加速视频渲染器配合使用时,可以节省了数据的拷贝时间,进而提高播放多媒体数据的效率。
步骤310:通过多媒体播放器包括音频渲染模块对同步处理后的音频数据进行渲染。
其中,音频渲染模块可以兼容任意设备的音频渲染方式,将同步后的音频数据输出到本端上。
步骤311:输出渲染后的视频数据和音频数据,实现多媒体数据的播放。
其中,在本发明实施例中,可以通过OpenMAX(Open Media Acceleration,开发多媒体加速层)的IL(Integration Layer,整合层)调用本端的硬件视频解码器接口和加速视频渲染接口。
其中,在本发明实施例中,步骤305至311是对一帧多媒体数据进行播放,对于其他帧多媒体数据,依然可以采用305至311的步骤实现播放,本发明实施例不再详细赘述。
在本发明实施例中,基于多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的硬件视频解码器。如果本端的硬件视频解码器初始化成功,则通过本端的硬件视频解码器对视频码流进行解码,得到解码后的视频数据。而不是直接通过多媒体播放器包括的视频解码模块对视频码流进行解码。由于本端的硬件视频解码器是通过硬件对视频码流进行解码,多媒体播放器包括的视频解码模块式通过软件对视频码流进行解码,并且硬件解码的速度远远大于软件解码的速度,因此,采用硬件解码可以节省CPU的计算资源,进而降低播放多媒体数据时本端的耗电量。另外,硬件解码的高速度可以满足在低配置的终端上播放较高分辨率的视频数据时所需的帧率,避免视频卡顿,提高多媒体数据的播放质量,进而避免多媒体数据无法播放,以及多媒体播放器异常终止、终端死机等严重问题。
图4是本发明实施例提供的一种播放多媒体数据的装置结构示意图。参见图4,该装置包括:
第一调用模块401,用于基于多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的硬件视频解码器;
解析模块402,用于对于该多媒体文件中的每一帧多媒体数据,对该多媒体数据进行容器格式解析,得到一帧视频码流;
第一解码模块403,用于如果该硬件视频解码器初始化成功,则通过该硬件视频解码器对视频码流进行解码,得到解码后的视频数据;
播放模块404,用于基于解码后的视频数据,进行多媒体数据的播放。
可选地,第一调用模块401包括:
第一调用单元,用于基于多媒体文件,调用本端的硬件视频解码器接口;
第一确定单元,用于如果调用该硬件视频解码器接口时获得的返回信息指示调用成功,则确定对该硬件视频解码器初始化成功。
可选地,该装置还包括:
第二解码模块,用于如果对该多媒体数据进行容器格式解析之后还得到一帧音频码流,则通过多媒体播放器包括的音频解码模块对该音频码流进行解码,得到解码后的音频数据。
可选地,该装置还包括:
第二调用模块,用于基于该多媒体文件,调用本端的加速视频渲染器接口,以初始化本端的加速视频渲染器;
相应地,播放模块405包括:
同步处理单元,用于根据解码后的视频数据的时间戳和解码后的音频数据的时间戳,对视频数据和音频数据进行同步处理;
第一渲染单元,用于如果加速视频渲染器初始化成功,则通过加速视频渲染器对同步处理后的视频数据进行渲染;
第二渲染单元,用于通过多媒体播放器包括的音频渲染模块对同步处理后的音频数据进行渲染;
输出单元,用于输出渲染后的视频数据和音频数据,实现多媒体数据的播放。
可选地,第二调用模块包括:
第二调用单元,用于基于该多媒体文件,调用本端的加速视频渲染器接口;
第二确定单元,用于如果调用加速视频渲染器接口时获得的返回信息指示调用成功,则确定对加速视频渲染器初始化成功。
可选地,该装置还包括:
获取模块,用于获取该多媒体文件对应的视频编码格式,以及获取本端配置信息;
判断模块,用于根据获取的视频编码格式、本端配置信息、服务器发送的配置信息和多媒体播放器的设置信息中的至少一项,判断本端是否支持硬件加速;
触发模块,用于如果本端支持硬件加速,则触发第一调用模块401执行基于该多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的硬件视频解码器的步骤。
可选地,判断模块包括:
第三确定单元,用于如果服务器发送的配置信息指示对所有设备打开硬件加速、多媒体播放器的设置信息中包括打开硬件加速的选项以及本端支持的硬件视频解码器中包括支持视频编码格式的解码器,则确定本端支持硬件加速;
判断单元,用于如果服务器发送的配置信息指示对第一指定设备打开硬件加速,或者多媒体播放器的设置信息指示对第二指定设备打开硬件加速,则根据第一指定设备信息、第二指定设备信息、视频编码格式和本端配置信息中的至少一项,判断本端是否支持硬件加速,指定设备信息包括系统版本、中央处理器CPU芯片型号、设备型号、硬件视频解码器中的至少一种。
可选地,判断单元包括:
第一确定子单元,用于如果第一指定设备信息和第二指定设备信息中均包括本端配置信息中的系统版本,则确定本端支持硬件加速;
第二确定子单元,用于如果第一指定设备信息和第二指定设备信息中均包括本端配置信息中的CPU芯片型号,则确定本端支持硬件加速;
第三确定子单元,用于如果第一指定设备信息和第二指定设备信息中均包括本端配置信息中的设备型号,则确定本端支持硬件加速;
第四确定子单元,用于如果本端支持的硬件视频解码器中包括支持视频编码格式的解码器,则确定本端支持硬件加速。
可选地,获取模块包括:
获取单元,用于获取视频码流对应的视频编码格式;
读取单元,用于读取本端配置信息;
检测单元,用于如果本端配置信息不存在,则检测本端的设备信息;
存储单元,用于将检测的设备信息存储在本端配置信息中。
可选地,该装置还包括:
第三解码模块,用于如果硬件视频解码器初始化失败,则通过多媒体播放器包括的视频解码模块对视频码流进行解码,得到解码后的视频数据;
渲染模块,用于如果本端的加速视频渲染器初始化失败,则通过多媒体播放器包括的兼容视频渲染模块对同步处理后的视频数据进行渲染。
在本发明实施例中,基于多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的硬件视频解码器。如果本端的硬件视频解码器初始化成功,则通过本端的硬件视频解码器对视频码流进行解码,得到解码后的视频数据。而不是直接通过多媒体播放器包括的视频解码模块对视频码流进行解码。由于本端的硬件视频解码器是通过硬件对视频码流进行解码,多媒体播放器包括的视频解码模块式通过软件对视频码流进行解码,并且硬件解码的速度远远大于软件解码的速度,因此,采用硬件解码可以节省CPU的计算资源,进而降低播放多媒体数据时本端的耗电量。另外,硬件解码的高速度可以满足在低配置的终端上播放较高分辨率的视频数据时所需的帧率,避免视频卡顿,提高多媒体数据的播放质量,进而避免多媒体数据无法播放,以及多媒体播放器异常终止、终端死机等严重问题。
需要说明的是:上述实施例提供的播放多媒体数据的装置在播放多媒体数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的播放多媒体数据的装置与播放多媒体数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种播放多媒体数据的方法,其特征在于,所述方法包括:
基于多媒体文件,调用本端的硬件视频解码器接口,以初始化所述本端的硬件视频解码器;
对于所述多媒体文件中的每一帧多媒体数据,对所述多媒体数据进行容器格式解析,得到一帧视频码流;
如果所述硬件视频解码器初始化成功,则通过所述硬件视频解码器对所述视频码流进行解码,得到解码后的视频数据;
基于解码后的视频数据,进行多媒体数据的播放。
2.如权利要求1所述的方法,其特征在于,所述基于多媒体文件,调用本端的硬件视频解码器接口,以初始化本端的的硬件视频解码器,包括:
基于多媒体文件,调用本端的硬件视频解码器接口;
如果调用所述硬件视频解码器接口时获得的返回信息指示调用成功,则确定对所述硬件视频解码器初始化成功。
3.如权利要求1或2所述的方法,其特征在于,所述对于所述多媒体文件中的每一帧多媒体数据,对所述多媒体数据进行容器格式解析,得到视频码流之后,还包括:
如果对所述多媒体数据进行容器格式解析之后还得到一帧音频码流,则通过多媒体播放器包括的音频解码模块对所述音频码流进行解码,得到解码后的音频数据。
4.如权利要求3所述的方法,其特征在于,所述基于多媒体文件,调用本端的硬件视频解码器接口,以初始化所述本端的硬件视频解码器之后,还包括:
基于所述多媒体文件,调用所述本端的加速视频渲染器接口,以初始化所述本端的加速视频渲染器;
相应地,所述基于解码后的视频数据,进行多媒体数据的播放,包括:
根据解码后的视频数据的时间戳和解码后的音频数据的时间戳,对所述视频数据和所述音频数据进行同步处理;
如果所述加速视频渲染器初始化成功,则通过所述加速视频渲染器对同步处理后的视频数据进行渲染;
通过所述多媒体播放器包括的音频渲染模块对同步处理后的音频数据进行渲染;
输出渲染后的视频数据和音频数据,实现所述多媒体数据的播放。
5.如权利要求4所述的方法,其特征在于,所述基于所述多媒体文件,调用所述本端的加速视频渲染器接口,以初始化所述本端的加速视频渲染器,包括:
基于所述多媒体文件,调用本端的加速视频渲染器接口;
如果调用所述加速视频渲染器接口时获得的返回信息指示调用成功,则确定对所述加速视频渲染器初始化成功。
6.如权利要求1所述的方法,其特征在于,所述基于多媒体文件,调用本端的硬件视频解码器接口,以初始化所述本端的硬件视频解码器之前,还包括:
获取所述多媒体文件对应的视频编码格式,以及获取本端配置信息;
根据所述视频编码格式、所述本端配置信息、服务器发送的配置信息和所述多媒体播放器的设置信息中的至少一项,判断本端是否支持硬件加速;
如果所述本端支持硬件加速,则执行基于多媒体文件,调用本端的硬件视频解码器接口,以初始化所述本端的硬件视频解码器的步骤。
7.如权利要求6所述的方法,其特征在于,所述根据所述视频编码格式、所述本端配置信息、服务器发送的配置信息和所述多媒体播放器的设置信息中的至少一项,判断本端是否支持硬件加速,包括:
如果所述服务器发送的配置信息指示对所有设备打开硬件加速、所述多媒体播放器的设置信息中包括打开硬件加速的选项以及所述本端支持的硬件视频解码器中包括支持所述视频编码格式的解码器,则确定所述本端支持硬件加速;
如果所述服务器发送的配置信息指示对第一指定设备打开硬件加速,或者所述多媒体播放器的设置信息指示对第二指定设备打开硬件加速,则根据第一指定设备信息、第二指定设备信息、所述视频编码格式和所述本端配置信息中的至少一项,判断所述本端是否支持硬件加速,所述指定设备信息包括系统版本、中央处理器CPU芯片型号、设备型号、硬件视频解码器中的至少一种。
8.如权利要求7所述的方法,其特征在于,所述根据第一指定设备信息、第二指定设备信息、所述视频编码格式和所述本端配置信息中的至少一项,判断所述本端是否支持硬件加速,包括:
如果第一指定设备信息和第二指定设备信息中均包括所述本端配置信息中的系统版本,则确定所述本端支持硬件加速;
如果所述第一指定设备信息和所述第二指定设备信息中均包括所述本端配置信息中的CPU芯片型号,则确定所述本端支持硬件加速;
如果所述第一指定设备信息和所述第二指定设备信息中均包括所述本端配置信息中的设备型号,则确定所述本端支持硬件加速;
如果所述本端支持的硬件视频解码器中包括支持所述视频编码格式的解码器,则确定所述本端支持硬件加速。
9.如权利要求6-8任一权利要求所述的方法,其特征在于,所述获取本端配置信息,包括:
读取本端配置信息;
如果所述本端配置信息不存在,则检测所述本端的设备信息;
将检测的设备信息存储在本端配置信息中。
10.如权利要求1-9任一权利要求所述的方法,其特征在于,所述方法还包括:
如果所述硬件视频解码器初始化失败,则通过所述多媒体播放器包括的视频解码模块对所述视频码流进行解码,得到解码后的视频数据;
如果所述本端的加速视频渲染器初始化失败,则通过所述多媒体播放器包括的兼容视频渲染模块对同步处理后的视频数据进行渲染。
11.一种播放多媒体数据的装置,其特征在于,所述装置包括:
第一调用模块,用于基于多媒体文件,调用本端的硬件视频解码器接口,以初始化所述本端的硬件视频解码器;
解析模块,用于对于所述多媒体文件中的每一帧多媒体数据,对所述多媒体数据进行容器格式解析,得到一帧视频码流;
第一解码模块,用于如果所述硬件视频解码器初始化成功,则通过所述硬件视频解码器对所述视频码流进行解码,得到解码后的视频数据;
播放模块,用于基于解码后的视频数据,进行多媒体数据的播放。
12.如权利要求11所述的装置,其特征在于,所述第一调用模块包括:
第一调用单元,用于基于多媒体文件,调用本端的硬件视频解码器接口;
第一确定单元,用于如果调用所述硬件视频解码器接口时获得的返回信息指示调用成功,则确定对所述硬件视频解码器初始化成功。
13.如权利要求11或12所述的装置,其特征在于,所述装置还包括:
第二解码模块,用于如果对所述多媒体数据进行容器格式解析之后还得到一帧音频码流,则通过多媒体播放器包括的音频解码模块对所述音频码流进行解码,得到解码后的音频数据。
14.如权利要求13所述的装置,其特征在于,所述装置还包括:
第二调用模块,用于基于所述多媒体文件,调用所述本端的加速视频渲染器接口,以初始化所述本端的加速视频渲染器;
相应地,所述播放模块包括:
同步处理单元,用于根据解码后的视频数据的时间戳和解码后的音频数据的时间戳,对所述视频数据和所述音频数据进行同步处理;
第一渲染单元,用于如果所述加速视频渲染器初始化成功,则通过所述加速视频渲染器对同步处理后的视频数据进行渲染;
第二渲染单元,用于通过所述多媒体播放器包括的音频渲染模块对同步处理后的音频数据进行渲染;
输出单元,用于输出渲染后的视频数据和音频数据,实现所述多媒体数据的播放。
15.如权利要求14所述的装置,其特征在于,所述第二调用模块包括:
第二调用单元,用于基于所述多媒体文件,调用本端的加速视频渲染器接口;
第二确定单元,用于如果调用所述加速视频渲染器接口时获得的返回信息指示调用成功,则确定对所述加速视频渲染器初始化成功。
16.如权利要求11所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取所述多媒体文件对应的视频编码格式,以及获取本端配置信息;
判断模块,用于根据所述视频编码格式、所述本端配置信息、服务器发送的配置信息和所述多媒体播放器的设置信息中的至少一项,判断本端是否支持硬件加速;
触发模块,用于如果所述本端支持硬件加速,则触发所述第一调用模块执行基于多媒体文件,调用本端的硬件视频解码器接口,以初始化所述本端的硬件视频解码器的步骤。
17.如权利要求16所述的装置,其特征在于,所述判断模块包括:
第三确定单元,用于如果所述服务器发送的配置信息指示对所有设备打开硬件加速、所述多媒体播放器的设置信息中包括打开硬件加速的选项以及所述本端支持的硬件视频解码器中包括支持所述视频编码格式的解码器,则确定所述本端支持硬件加速;
判断单元,用于如果所述服务器发送的配置信息指示对第一指定设备打开硬件加速,或者所述多媒体播放器的设置信息指示对第二指定设备打开硬件加速,则根据第一指定设备信息、第二指定设备信息、所述视频编码格式和所述本端配置信息中的至少一项,判断所述本端是否支持硬件加速,所述指定设备信息包括系统版本、中央处理器CPU芯片型号、设备型号、硬件视频解码器中的至少一种。
18.如权利要求17所述的装置,其特征在于,所述判断单元包括:
第一确定子单元,用于如果第一指定设备信息和第二指定设备信息中均包括所述本端配置信息中的系统版本,则确定所述本端支持硬件加速;
第二确定子单元,用于如果所述第一指定设备信息和所述第二指定设备信息中均包括所述本端配置信息中的CPU芯片型号,则确定所述本端支持硬件加速;
第三确定子单元,用于如果所述第一指定设备信息和所述第二指定设备信息中均包括所述本端配置信息中的设备型号,则确定所述本端支持硬件加速;
第四确定子单元,用于如果所述本端支持的硬件视频解码器中包括支持所述视频编码格式的解码器,则确定所述本端支持硬件加速。
19.如权利要求16-18任一权利要求所述的装置,其特征在于,所述获取模块包括:
获取单元,用于获取所述视频码流对应的视频编码格式;
读取单元,用于读取本端配置信息;
检测单元,用于如果所述本端配置信息不存在,则检测所述本端的设备信息;
存储单元,用于将检测的设备信息存储在本端配置信息中。
20.如权利要求11-19任一权利要求所述的装置,其特征在于,所述装置还包括:
第三解码模块,用于如果所述硬件视频解码器初始化失败,则通过所述多媒体播放器包括的视频解码模块对所述视频码流进行解码,得到解码后的视频数据;
渲染模块,用于如果所述本端的加速视频渲染器初始化失败,则通过所述多媒体播放器包括的兼容视频渲染模块对同步处理后的视频数据进行渲染。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410256044.0A CN104837052B (zh) | 2014-06-10 | 2014-06-10 | 播放多媒体数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410256044.0A CN104837052B (zh) | 2014-06-10 | 2014-06-10 | 播放多媒体数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104837052A true CN104837052A (zh) | 2015-08-12 |
CN104837052B CN104837052B (zh) | 2018-09-04 |
Family
ID=53814647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410256044.0A Active CN104837052B (zh) | 2014-06-10 | 2014-06-10 | 播放多媒体数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104837052B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105491459A (zh) * | 2015-11-24 | 2016-04-13 | 深圳Tcl数字技术有限公司 | 终端电量信息提示方法和装置 |
CN105893246A (zh) * | 2015-12-18 | 2016-08-24 | 乐视云计算有限公司 | 播放器测试方法、装置及系统 |
CN105959797A (zh) * | 2016-05-25 | 2016-09-21 | 青岛海信电器股份有限公司 | 一种视频解码方法及数字电视 |
CN106060628A (zh) * | 2016-06-28 | 2016-10-26 | 暴风集团股份有限公司 | 基于DirectShow支持可变编码的方法及系统 |
CN106131550A (zh) * | 2016-07-25 | 2016-11-16 | 合网络技术(北京)有限公司 | 播放多媒体文件的方法及装置 |
CN106375821A (zh) * | 2016-08-30 | 2017-02-01 | 北京奇艺世纪科技有限公司 | 一种音视频播放方法及装置 |
CN106792118A (zh) * | 2016-12-20 | 2017-05-31 | 北京小米移动软件有限公司 | 多媒体文件的播放方法及装置 |
CN106961629A (zh) * | 2016-01-08 | 2017-07-18 | 广州市动景计算机科技有限公司 | 一种视频解码方法及装置 |
CN107852477A (zh) * | 2016-01-06 | 2018-03-27 | 三星电子株式会社 | 视频内容提供设备、其控制方法和系统 |
CN108881916A (zh) * | 2018-06-21 | 2018-11-23 | 深圳市斯迈龙科技有限公司 | 远程桌面的视频优化处理方法及装置 |
CN110620954A (zh) * | 2018-06-20 | 2019-12-27 | 北京优酷科技有限公司 | 用于硬解的视频处理方法和装置 |
CN110858827A (zh) * | 2018-08-22 | 2020-03-03 | 浙江宇视科技有限公司 | 启播加速方法、装置及计算机可读取存储介质 |
CN112585965A (zh) * | 2019-11-29 | 2021-03-30 | 深圳市大疆创新科技有限公司 | 图像传输方法、设备、可移动平台、系统和存储介质 |
CN112823529A (zh) * | 2018-11-29 | 2021-05-18 | 深圳市欢太科技有限公司 | 视频解码方法、装置、电子设备、计算机可读存储介质 |
CN114189737A (zh) * | 2021-12-06 | 2022-03-15 | 国微集团(深圳)有限公司 | 一种数字电视快速切台方法及数字电视 |
WO2023024370A1 (zh) * | 2021-08-25 | 2023-03-02 | 上海擎感智能科技有限公司 | 视频数据的处理方法及视频播放系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7627039B2 (en) * | 2003-09-05 | 2009-12-01 | Realnetworks, Inc. | Parallel video decoding |
CN101986708A (zh) * | 2010-10-29 | 2011-03-16 | 北京中星微电子有限公司 | 一种视频解码方法及解码器 |
CN102074257A (zh) * | 2011-01-17 | 2011-05-25 | 博视联(苏州)信息科技有限公司 | 软硬件结合解码的通用多媒体播放设备及其播放方法 |
CN102904857A (zh) * | 2011-07-25 | 2013-01-30 | 风网科技(北京)有限公司 | 客户端视频播放系统及其方法 |
-
2014
- 2014-06-10 CN CN201410256044.0A patent/CN104837052B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7627039B2 (en) * | 2003-09-05 | 2009-12-01 | Realnetworks, Inc. | Parallel video decoding |
CN101986708A (zh) * | 2010-10-29 | 2011-03-16 | 北京中星微电子有限公司 | 一种视频解码方法及解码器 |
CN102074257A (zh) * | 2011-01-17 | 2011-05-25 | 博视联(苏州)信息科技有限公司 | 软硬件结合解码的通用多媒体播放设备及其播放方法 |
CN102904857A (zh) * | 2011-07-25 | 2013-01-30 | 风网科技(北京)有限公司 | 客户端视频播放系统及其方法 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105491459A (zh) * | 2015-11-24 | 2016-04-13 | 深圳Tcl数字技术有限公司 | 终端电量信息提示方法和装置 |
CN105893246A (zh) * | 2015-12-18 | 2016-08-24 | 乐视云计算有限公司 | 播放器测试方法、装置及系统 |
CN107852477B (zh) * | 2016-01-06 | 2021-10-08 | 三星电子株式会社 | 视频内容提供设备、其控制方法和系统 |
US10917688B2 (en) | 2016-01-06 | 2021-02-09 | Samsung Electronics Co., Ltd. | Video content providing apparatus, control method thereof and system |
CN107852477A (zh) * | 2016-01-06 | 2018-03-27 | 三星电子株式会社 | 视频内容提供设备、其控制方法和系统 |
CN106961629A (zh) * | 2016-01-08 | 2017-07-18 | 广州市动景计算机科技有限公司 | 一种视频解码方法及装置 |
CN105959797A (zh) * | 2016-05-25 | 2016-09-21 | 青岛海信电器股份有限公司 | 一种视频解码方法及数字电视 |
CN106060628A (zh) * | 2016-06-28 | 2016-10-26 | 暴风集团股份有限公司 | 基于DirectShow支持可变编码的方法及系统 |
CN106131550A (zh) * | 2016-07-25 | 2016-11-16 | 合网络技术(北京)有限公司 | 播放多媒体文件的方法及装置 |
CN106131550B (zh) * | 2016-07-25 | 2020-02-14 | 合一网络技术(北京)有限公司 | 播放多媒体文件的方法及装置 |
CN106375821B (zh) * | 2016-08-30 | 2019-04-12 | 北京奇艺世纪科技有限公司 | 一种音视频播放方法及装置 |
CN106375821A (zh) * | 2016-08-30 | 2017-02-01 | 北京奇艺世纪科技有限公司 | 一种音视频播放方法及装置 |
CN106792118A (zh) * | 2016-12-20 | 2017-05-31 | 北京小米移动软件有限公司 | 多媒体文件的播放方法及装置 |
CN110620954A (zh) * | 2018-06-20 | 2019-12-27 | 北京优酷科技有限公司 | 用于硬解的视频处理方法和装置 |
CN108881916A (zh) * | 2018-06-21 | 2018-11-23 | 深圳市斯迈龙科技有限公司 | 远程桌面的视频优化处理方法及装置 |
CN110858827A (zh) * | 2018-08-22 | 2020-03-03 | 浙江宇视科技有限公司 | 启播加速方法、装置及计算机可读取存储介质 |
CN110858827B (zh) * | 2018-08-22 | 2023-03-24 | 浙江宇视科技有限公司 | 启播加速方法、装置及计算机可读取存储介质 |
CN112823529A (zh) * | 2018-11-29 | 2021-05-18 | 深圳市欢太科技有限公司 | 视频解码方法、装置、电子设备、计算机可读存储介质 |
CN112823529B (zh) * | 2018-11-29 | 2023-06-13 | 深圳市欢太科技有限公司 | 视频解码方法、装置、电子设备、计算机可读存储介质 |
CN112585965A (zh) * | 2019-11-29 | 2021-03-30 | 深圳市大疆创新科技有限公司 | 图像传输方法、设备、可移动平台、系统和存储介质 |
WO2021102903A1 (zh) * | 2019-11-29 | 2021-06-03 | 深圳市大疆创新科技有限公司 | 图像传输方法、设备、可移动平台、系统和存储介质 |
WO2023024370A1 (zh) * | 2021-08-25 | 2023-03-02 | 上海擎感智能科技有限公司 | 视频数据的处理方法及视频播放系统 |
CN114189737A (zh) * | 2021-12-06 | 2022-03-15 | 国微集团(深圳)有限公司 | 一种数字电视快速切台方法及数字电视 |
Also Published As
Publication number | Publication date |
---|---|
CN104837052B (zh) | 2018-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104837052A (zh) | 播放多媒体数据的方法及装置 | |
CN112087633B (zh) | 视频解码方法、装置及存储介质 | |
CN106131550B (zh) | 播放多媒体文件的方法及装置 | |
US10951857B2 (en) | Method and system for video recording | |
CN104159150A (zh) | 云终端、云服务器、媒体数据流播放系统及方法 | |
CN102981887B (zh) | 数据处理方法及电子设备 | |
CN110662017B (zh) | 一种视频播放质量检测方法和装置 | |
CN109889894A (zh) | 媒体文件解码方法、装置及存储介质 | |
CN110740313A (zh) | 硬件编码能力检测方法及装置 | |
CN112055254B (zh) | 视频播放的方法、装置、终端及存储介质 | |
CN111510755A (zh) | 音视频的切换方法、装置、计算机设备及可读存储介质 | |
CN107613302B (zh) | 解码方法及装置、存储介质、处理器 | |
EP3334165A1 (en) | Video stream storage method, reading method and device | |
CN113766270A (zh) | 视频播放方法、系统、服务器、终端设备、以及电子设备 | |
CN103051941A (zh) | 一种在移动平台上播放本地视频的方法和系统 | |
CN104053002A (zh) | 视频解码方法和视频解码装置 | |
CN111356023A (zh) | 播放方式确定方法及装置 | |
CN117130749A (zh) | 一种基于WebGPU提升Web播放器硬件解码能力的方法 | |
CN112543374A (zh) | 一种转码控制方法、装置及电子设备 | |
CN107277592B (zh) | 基于嵌入式平台的多媒体数据播放方法、装置及存储介质 | |
CN113259621B (zh) | 一种云会议分步录制方法及系统 | |
CN112423098B (zh) | 视频处理方法、电子装置及存储介质 | |
CN112689194B (zh) | 功能机视频配乐方法、装置、终端设备及存储介质 | |
CN110855645B (zh) | 流媒体数据播放方法、装置 | |
EP3637734B1 (en) | Video data display method and device |
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 |