CN113613064A - 视频处理方法、装置、存储介质及终端 - Google Patents

视频处理方法、装置、存储介质及终端 Download PDF

Info

Publication number
CN113613064A
CN113613064A CN202110815322.1A CN202110815322A CN113613064A CN 113613064 A CN113613064 A CN 113613064A CN 202110815322 A CN202110815322 A CN 202110815322A CN 113613064 A CN113613064 A CN 113613064A
Authority
CN
China
Prior art keywords
video
view object
display
target view
target
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
Application number
CN202110815322.1A
Other languages
English (en)
Other versions
CN113613064B (zh
Inventor
曹世梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen TCL New Technology Co Ltd
Original Assignee
Shenzhen TCL New Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen TCL New Technology Co Ltd filed Critical Shenzhen TCL New Technology Co Ltd
Priority to CN202110815322.1A priority Critical patent/CN113613064B/zh
Publication of CN113613064A publication Critical patent/CN113613064A/zh
Application granted granted Critical
Publication of CN113613064B publication Critical patent/CN113613064B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种视频处理方法、装置、存储介质及终端,该方法应用于终端中,包括:通过预设视图类来创建目标视图对象,在浏览器页面中创建视频播放器,将视频播放器所对应的显示方式设置为叠加显示方式,将视频播放器所对应的视图对象设置为目标视图对象,当浏览器页面播放视频信息时,将基于视频信息解码所得到的视频数据渲染至目标视频对象,并在目标视图对象所对应的第一显示图层中显示渲染后的视频数据。本申请实施例在不依赖自主研发的其他模块接口且在不损失性能的情况下,实现对不支持格式的视频播放。

Description

视频处理方法、装置、存储介质及终端
技术领域
本申请涉及通信技术领域,尤其涉及一种视频处理方法、装置、存储介质及终端。
背景技术
现有的安卓终端的原生浏览器内核,不支持高效率视频编码(High EfficiencyVideo Coding,HEVC,是一种新的视频压缩标准)格式的视频播放。不支持HEVC编码格式的视频播放的原因是安卓平台使用原生视频编解码模块(MediaCodec模块)进行解码,而大部分芯片厂商无法将使用MediaCodec模块解码后的原始视频数据(rawdata数据)传递给MediaCodec模块所对应的MediaCodec对象的输出队列中;或者MediaCodec对象即使可以收到原始视频数据,也无法进行软件渲染,因为软件无法渲染10bit的原始视频数据,因此安卓的浏览器无法支持HEVC编码格式的视频播放。
随着用户观看体验的提升,越来越多的网站提供的视频都需要支持HEVC编码格式的播放。目前的一些做法是提供一些自主研发的模块接口,使得安卓平台的视频编解码模块对接该自主研发的模块接口,利用硬件解码及渲染的方式来实现HEVC编码格式的视频播放。然而该种方式,需要依赖自主研发的模块接口来实现,并耗费大量人力对接该自主研发的模块接口,且更新版本时维护困难。
发明内容
本申请实施例提供一种视频处理方法、装置、存储介质及终端,能在不依赖其他模块接口(如自主研发的模块接口),且不损失性能的基础上实现对不支持格式的视频播放。
本申请实施例提供了一种视频处理方法,所述视频处理方法包括:
根据预设视图类创建目标视图对象;
在浏览器页面中创建视频播放器,其中,所述视频播放器所对应的显示方式为叠加显示方式,所述视频播放器所对应的视图对象为所述目标视图对象;
当所述浏览器页面播放视频信息时,将基于所述视频信息解码所得到的视频数据渲染至所述目标视图对象;
在所述目标视图对象所对应的第一显示图层中显示渲染后的视频数据。
本申请实施例还提供了一种视频处理装置,所述视频处理装置包括:
第一创建模块,用于根据预设视图类创建目标视图对象;
第二创建模块,用于在浏览器页面中创建视频播放器,其中,所述视频播放器所对应的显示方式为叠加显示方式,所述视频播放器所对应的视图对象为所述目标视图对象;
渲染模块,用于当所述浏览器页面播放视频信息时,将基于所述视频信息解码所得到的视频数据渲染至所述目标视图对象;
显示模块,用于在所述目标视图对象所对应的第一显示图层中显示渲染后的视频数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有多条指令,所述指令适于由处理器加载以执行上述任一项视频处理方法。
本申请实施例还提供了一种终端,包括处理器和存储器,所述处理器与所述存储器电性连接,所述存储器用于存储指令和数据,所述处理器用于上述任一项所述的视频处理方法中的步骤。
本申请提供的视频处理方法、装置、存储介质及终端,通过预设视图类来创建目标视图对象,在浏览器页面中创建视频播放器,将视频播放器所对应的显示方式设置为叠加显示方式,将视频播放器所对应的视图对象设置为目标视图对象,如此,将目标视图对象和视频播放器进行关联,当浏览器页面播放视频信息时,将基于视频信息解码所得到的视频数据渲染至目标视频对象,并在目标视图对象所对应的第一显示图层中显示渲染后的视频数据。本申请实施例将通过预设视图类创建的目标视图对象和视频播放器进行关联,将视频播放器所对应的显示方式设置为叠加显示方式,叠加显示方式允许视频播放器中的视频数据不经过软件渲染,而直接通过硬件驱动的方式渲染至目标视图对象中,最后在目标视图对象所对应的第一显示图层中显示渲染后的视频数据。本申请实施例可在不依赖自主研发的其他模块接口,且在不损失性能的情况下,实现对不支持格式(如HEVC编码格式)的视频播放。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1为本申请实施例提供的视频处理方法的流程示意图。
图2为本申请实施例提供的视频处理方法的另一流程示例图。
图3为本申请实施例提供的视频处理方法的又一流程示意图。
图4为本申请实施例提供的视频处理方法的再一流程示意图。
图5为本申请实施例提供的视频处理方的时序图。
图6为本申请实施例提供的视频处理装置的结构示意图。
图7为本申请实施例提供的终端的结构示意图。
图8为本申请实施例提供的终端的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种视频处理方法、装置、存储介质及终端。本申请实施例提供的任一种视频处理装置,可以集成在终端中,该终端可以是服务器,也可以是终端设备,包括智能手机、Pad、穿戴式设备、机器人、电视等。该终端的系统可以为安卓系统/苹果系统,且该终端中包括至少一个媒体应用程序。本申请实施例中以安卓系统为例进行说明。
需要说明的是,本申请实施例中的类名中一般包括至少一个大些字母,由类生成的对象,一般全部用小写字母来进行表示,下文中将不再进行说明。
请参阅图1,图1是本申请实施例提供的视频处理方法的流程示意图,该视频处理方法应用于终端中,该视频处理方法包括如下步骤。
101,根据预设视图类创建目标视图对象。
本申请实施例中,媒体应用程序指的是利用浏览器页面来展示或播放媒体的信息或数据的应用程序,其中,媒体可以包括音乐、图片或视频等,本申请实施例中以视频为例进行说明。媒体应用程序可以包括腾讯视频应用程序、芒果视频应用程序等。
在本申请实施例中,终端首先在媒体应用程序中通过浏览器对应的浏览器内核提供的对外接口打开媒体应用程序所对应的浏览器页面,如超文本标记语言(hypertextmarkup language,HTML)页面,接着初始化浏览器内核,加载相应的浏览器内核库。在加载相应的浏览器内核库后,根据预设视图类创建目标视图对象,并将目标视图对象添加至第一显示图层中。该实施例中在加载浏览器内核库后,就创建目标视图对象,并将目标视图对象添加至第一显示图层,以方便在后续使用时,直接使用该目标视图对象。
在一些可选的其他实施例中,也可以在加载相应的浏览器内核库之后、浏览器页面创建视频播放器之前来实现创建目标视图对象,将目标视图对象增加至第一显示图层中;对应地,也需要在浏览器页面创建视频播放器之前来设置视频播放器所对应的显示方式为叠加显示方式,并设置视频播放器所对应的视图对象为目标视图对象,下文中将会详细介绍。
需要注意的是,本申请实施例中创建目标视图对象以及将目标视图对象添加至第一显示图层等在媒体应用程序中实现,即创建目标视图对象以及将目标视图对象添加至第一显示图层所对应的计算机代码在媒体应用程序中。
其中,本申请实施例中的预设视图类继承于视图View类,预设视图类中有用于绘制的视图(surface),预设视图类支持独立控制这个视图的格式和尺寸,如控制这个视图的绘制位置等,预设视图类实现对这个视图的独立控制(包括独立绘制、设置绘制位置、绘制尺寸等)。或者也可以理解为,预设视图类拥有独立的视图,它不与其宿主窗口(如本申请实施例中的浏览器所对应的HTML页面所对应的窗口)共享同一个视图,由于拥有独立的视图,因此,SurfaceView所对应的UI(user interface,用户界面)可在独立的线程中进行绘制。
本申请实施例中的预设视图类包括SurfaceView类,本申请实施例中以预设视图类为SurfaceView类为例进行说明。其中,SurfaceView继承View类,SurfaceView类可实现控制视图surface的绘制位置,SurfaceView类提供了一个可见区域,只有在这个可见区域内的surface部分内容才可见,可见区域外的部分不可见。可以通过SurfaceHolder接口访问SurfaceView类的surface,getHolder()方法可以得到SurfaceHolder接口,即可通过getHolder()可访问SurfaceView类所对应的surface。
根据SurfaceView类创建目标视图对象,所创建的目标视图对象用objectsurface来表示。其中,目标视图对象objectsurface理解为SurfaceView类的一个实例对象。由于目标视图对象objectsurface是SurafaceView类实例化得到的,因此,目标视图对象objectsurface具有SurafaceView类的所有功能。
将目标视图对象objectsurface添加至对应的第一显示图层,也可理解为将目标视图对象objectsurface添加至对应的布局(layout)文件,该布局文件形成一个图层,将该图层作为第一显示图层。该布局文件用来确定目标视图对象objectsurface的绘制位置(如绘制坐标等)。
需要注意的是,浏览器页面所对应的webview对象也会添加至一个显示图层,将webview对象所添加的对应的显示图层作为第二显示图层,下文中还会对第一显示图层和第二显示图层进行进一步的描述。其中,webview对象指的是可以展示浏览器页面内容的对象,webview对象是通过安卓WebView类来产生的实例对象。其中,安卓WebView类在Android平台上是一个特殊的View类,基于webkit引擎、展现web页面的类。
102,在浏览器页面创建视频播放器,其中,视频播放器所对应的显示方式为叠加显示方式,视频播放器所对应的视图对象为目标视图对象。
本申请实施例中,终端当创建浏览器页面上的视频标签时,可以触发浏览器页面创建视频播放器。其中,视频播放器所对应的显示方式为叠加显示方式,视频播放器所对应的视图对象为目标视图对象。本申请实施例中的浏览器页面可以是HTML页面,HTML页面上的视频标签可以用<video></video>来分别表示视频标签的开始和视频标签的结束。
其中,本申请实施例中的叠加显示方式指的是overlay,当设置了视频播放器的叠加显示方式后,通过该叠加显示方式所对应的显示模块打开硬件显示设备,在渲染时,将渲染后的视频图像显示在硬件驱动所对应的显示图层,叠加显示方式允许视频播放器中的视频信号不经过处理芯片来进行处理(不进行软件渲染处理),而直接通过硬件驱动方式输出到对应的显示图层(第一显示图层)上。设置叠加显示方式之后,在渲染时会选择叠加显示方式所对应的配置项进行渲染。可以理解地,在浏览器内核中保存有多种显示方式,在本申请实施例中选择叠加显示方式,将该叠加显示方式设置为视频播放器所对应的显示方式。
当浏览器页面创建视频播放器时,设置视频播放器所对应的视图对象为目标视图对象,以将目标视图对象与视频播放器关联,使得视频播放器的播放内容通过目标视图对象进行控制显示。
其中,设置视频播放器所对应的显示方式为叠加显示方式,以及设置视频播放器所对应的视图对象为目标视图对象等在浏览器中实现。具体地,在浏览器内核中实现。可以简单理解为,调用浏览器内核提供的参数设置接口,以实现视频播放器的显示方式的设置和视频播放器所对应的视图对象的设置。
103,当浏览器页面播放视频信息时,将基于视频信息解码所得到的视频数据渲染至目标视图对象。
当浏览器页面获取视频信息所对应的播放地址时,触发浏览器页面播放视频信息。其中,视频信息包括视频帧的一些信息(如视频帧的时间戳等),以及视频帧所对应的图像数据等。该视频信息的格式可以是HEVC格式,或者其他的高效率视频编码格式。
当浏览器页面播放视频信息时,会对视频信息进行编解码,以得到视频数据,将视频数据渲染至目标视图对象。
由于视频播放器所对应的显示对象为目标显示对象,且视频播放器所对应的显示方式为叠加显示方式,因此,视频播放器所播放的视频信息,可通过硬件驱动方式进行渲染/绘制。将编解码之后的视频信息渲染至硬件驱动所对应的第一显示图层。
104,在目标视图对象所对应的第一显示图层中显示渲染后的视频数据。
在第一显示图层中显示渲染后的视频信息,如此,实现不支持格式(如HEVC编码格式)的视频播放。
本申请实施例通过预设视图类创建目标视图对象,由于预设视图类支持对目标视图对象所对应的视图的独立控制,如此可实现对目标视图对象所对应的第一显示图层的独立渲染;将视频播放器所对应的视图对象设置为目标视图对象,以将所创建的目标视图对象和视频播放器进行关联,使得视频播放器的视频数据可直接渲染至目标视图对象中;另外,将视频播放器所对应的显示方式设置为叠加显示方式,叠加显示方式允许视频播放器中的视频数据不经过软件渲染,而直接通过硬件驱动的方式渲染至目标视图对象中,最后在目标视图对象所对应的第一显示图层中显示渲染后的视频数据。本申请实施例可在不依赖自主研发的其他模块接口,且在不损失性能的情况下,实现对不支持格式(如HEVC编码格式)的视频播放。
图2是本申请实施例提供的视频处理方法的另一流程示意图,该视频处理方法应用于终端中,该视频处理方法包括如下步骤。
201,根据预设视图类创建目标视图对象。
202,在浏览器页面中创建视频播放器,其中,视频播放器所对应的显示方式为叠加显示方式,视频播放器所对应的视图对象为目标视图对象。
在本申请实施例中,步骤202,包括:通过浏览器页面对应的媒体应用程序所提供的视图对象获取接口获取目标视图对象;将目标视图对象传递至浏览器内核;在浏览器页面中创建视频播放器,并基于浏览器内核设置视频播放器所对应的视图对象为目标视图对象,设置视频播放器的显示方式为叠加显示方式(overlay)。
由于目标视图对象并不是在浏览器内核中创建的,因此,需要获取所创建的目标视图对象,并将其发送至浏览器内核,才能在浏览器内核中对目标视图对象进行进一步的处理。否则,浏览器内核中不存在目标视图对象,也不可能实现对目标视图对象的进一步处理。其中,通过视图对象获取接口来获取所创建的目标视图对象,视图对象获取接口可以是getHolder函数。通过getHolder来获取所创建的目标视图对象,并将该目标视图对象发送至浏览器内核,以使得当浏览器页面创建视频播放器时,在浏览器内核中设置视频播放器所对应的视图对象为目标视图对象,视频播放器所对应的显示方式为叠加显示方式。
本申请实施例中,当创建浏览器页面上的视频标签时,可以触发浏览器页面创建视频播放器。
在一实施例中,在浏览器页面中创建视频播放器的步骤之前,还包括:判断浏览器页面所对应的第二显示图层中的视频标签是否被创建;对应地,所述在浏览器页面中创建视频播放器,包括:当浏览器页面所对应的第二显示图层中的视频标签被创建时,在浏览器页面中创建视频播放器。当浏览器页面所对应的第二显示图层中的视频标签未被创建时,继续执行判断浏览器页面所对应的第二显示图层中的视频标签是否被创建的步骤。
当检测到浏览器页面所对应的第二显示图层中的视频标签被创建时,在浏览器页面中创建视频播放器,如此,避免在浏览器页面所对应的第二显示图层中不存在视频标签时,仍创建视频播放器所导致的错误。
可选地,在一实施例中,当浏览器页面所对应的第二显示图层中的视频标签被创建时,在浏览器页面中创建视频播放器的步骤,包括:当浏览器页面所对应的第二显示图层中的视频标签被创建时,获取视频标签所对应的目标显示大小和目标显示位置,根据视频标签所对应的目标显示大小和目标显示位置创建所述视频播放器,并设置目标视频图像的显示大小为所述目标显示大小、所述目标视图对象的显示位置为目标显示位置。
在HTML页面的视频标签<video></video>中可设置video所对应的目标显示大小和目标显示位置,其中,目标显示位置可以用显示坐标等来表示。获取该目标显示大小和目标显示位置,并根据目标显示大小和目标显示位置创建视频播放器。设置目标视频图像的显示大小为所述目标显示大小、所述目标视图对象的显示位置为目标显示位置,即将目标视图对象的显示大小设置为视频标签所对应的目标显示大小,并将目标视图对象的显示位置设置为视频标签所对应的目标显示位置,如此,目标视图对象的显示位置和显示大小将会随着视频标签所对应的目标显示位置和目标显示大小的变化而变化,使得目标视图对象的目标显示位置和目标显示大小与视频标签所对应的显示位置和显示大小保持一致,实现无论在哪种情况下,都能保持正常的视频数据显示。
203,当浏览器页面播放视频信息时,通过原生视频编解码模块创建解码器对象,根据解码器对象对视频信息进行解码以得到视频数据,并将目标视图对象传递给解码器对象。
当浏览器页面获取视频信息所对应的播放地址时,触发浏览器页面播放视频信息。其中,视频信息包括视频帧的一些信息(如视频帧的时间戳等),以及视频帧所对应的图像数据等。该视频信息的格式可以是HEVC格式,或者其他的高效率视频编码格式。
原生视频编解码模块指的是安卓系统的MediaCodec模块,利用原生视频编解码模块来实现视频信息的编解码功能。可以理解地,在浏览器页面播放视频信息时,将视频信息和目标视图对象传递给原生视频编解码模块,以使得原生视频编解码模块对视频信息进行编解码。
原生视频编解码模块指的是安卓系统的视频编解码模块,利用原生视频编解码模块创建解码器对象。解码器对象用于编解码视频信息,具体地编解码视频帧数据,编解码视频帧数据的功能可通过config函数来实现。可理解地,通过解码器对象调用对应的config函数来实现视频信息的编解码功能。
将目标视图对象传递给解码器对象,可通过将目标视图对象作为config函数的参数传递给解码器对象,以告诉解码器对象解码的视频帧数据后续需绘制/渲染在哪里。需要注意的是,解码器对象不负责绘制/渲染,只负责视频帧数据的编解码,但需要告诉它解码的视频帧数据绘制/渲染到哪里。
204,通过解码器对象调用原生渲染模块,以使得原生渲染模块将视频数据渲染至目标视图对象。
通过解码器对象调用原生渲染模块,以对解码后的视频帧数据进行渲染。原生渲染模块指的是安卓系统的渲染模块,利用原生渲染模块来实现视频信息的渲染。
原生渲染模块通过对NativeWindow解析,读取NativeWindow中的配置项,渲染的时候,通过配置项来确定是将视频信息渲染至硬件驱动所对应的显示图层,如第一显示图层,还是渲染至OSD(On Screen Display)层,如第二显示图层。其中,OSD层指的是通过处理芯片(如CPU)绘制/渲染得到的图层,如最终看到的浏览器页面中除视频区域之外的部分就是通过处理芯片来进行绘制/渲染后的。
其中,由于视频播放器所对应的显示对象为目标显示对象,且视频播放器所对应的显示方式为叠加显示方式,因此,视频播放器所播放的视频信息,可通过硬件驱动方式进行渲染/绘制。调用原生渲染模块将编解码之后的视频信息渲染至硬件驱动所对应的第一显示图层。
205,在目标视图对象所对应的第一显示图层中显示渲染后的视频信息。
在第一显示图层中显示渲染后的视频信息,如此,实现不支持格式(如HEVC编码格式)的视频播放。
其中,步骤201至步骤205中未详细描述的步骤请参看上文实施例中对应步骤的描述,在此不再赘述。
该实施例中,利用原生编解码模块创建解码器对象,并利用解码器对象对视频信息进行编解码,以得到视频数据;再通过解码器对象调用原生渲染模块,利用原生渲染模块将解码后的视频数据渲染至目标视图对象,并进行显示,如此,本申请实施例中基于浏览器源码和安卓系统的原生编解码模块和原生渲染模块来实现对不支持格式的视频播放。
在一实施例中,视频处理方法还包括:根据浏览器渲染模块,渲染浏览器页面所对应的第二显示图层,并显示浏览器页面所对应的第二显示图层。
浏览器页面包括对应的布局文件,该布局文件中包括在浏览器页面中显示的多个不同的标签,其中,包括视频标签。该布局文件形成一个图层,将该图层作为第二显示图层,该第二显示图层可通过处理芯片来进行绘制/渲染。
根据浏览器内核的绘制/渲染功能,渲染浏览器页面所对应的第二显示图层。可以理解地,第一显示图层对应的是预设视图类的显示图层,是通过硬件驱动方式来绘制/渲染得到的;第二显示图层对应的是浏览器内核所对应的显示图层,第二显示图层是浏览器内核来控制渲染的,第二显示图层可通过处理芯片(如CPU)绘制/渲染得到。
对于第二显示图层的绘制/渲染:调用浏览器本身的渲染功能(或者浏览器渲染模块),以实现绘制/渲染。第二显示图层还会接收第一显示图层所对应的回调信息,该回调信息是利用原生视频编解码创建的解码器对象对视频帧数据进行解码后,调用的回调函数所返回的对应的回调信息;该回调信息会调用浏览器本身的渲染功能,以在第二显示图像上渲染显示对应的回调信息。其中,回调信息包括视频帧的一些信息,如视频帧的当前时间戳,该时间戳可用于音视频同步;视频帧的显示大小等,不包括该视频帧所对应的图像数据。其中,需要注意的是,视频帧的图像数据通过硬件驱动方式进行绘制/渲染,而音频则通过软件如处理芯片来进行绘制/渲染。
对于第一显示图层的绘制/渲染:将视频播放器与目标视图对象关联之后,视频播放器所接收的视频信息,会通过解码器对象进行解码,并调用原生渲染模块,利用原生渲染模块触发将视频信息(视频帧数据)绘制/渲染至硬件驱动所对应的第一显示图层;另一方面,解码器对象对视频信息所对应的视频帧数据进行解码后,会调用回调函数,该回调函数会返回对应的回调信息,该回调信息会调用浏览器渲染模块,以在第二显示图像上渲染显示对应的回调信息。
其中,第一显示图层和第二显示图层分开进行独立绘制/渲染,第一显示图层通过硬件驱动方式进行绘制/渲染,第二显示图层通过处理芯片(如CPU)来进行绘制/渲染。
由于第一显示图层(用来显示视频信息)通过硬件驱动层来进行渲染,从而避免使用软件来进行渲染,一方面,不影响视频播放的播放性能;另一方面,可实现不支持格式(如HEVC编码格式)的视频播放。此外,本申请实施例中在媒体应用程序所对应的HTML页面中实现目标视图对象的创建,并将目标视图对象添加至第一显示图层中,将目标视图对象传递至浏览器内核,在浏览器内核中实现视频播放器的显示方式的设置和视频播放器所对应的视图对象的设置,再通过安卓系统的原生媒体框架(包括原生编解码模块和原生渲染模块)来进行编解码和实现对应的渲染,可以理解地,本申请实施例中基于浏览器源码和安卓系统的原生媒体框架(而不依赖自主研发的其他模块接口)实现对不支持格式的视频播放。
在该实施例中,由于没有限定浏览器页面所对应的第二显示图层和第一显示图层渲染之后的显示位置关系,因此,会存在以下两种情况的可能性。
一,第一显示图层位于第二显示图层之上。在该种情况下,渲染之后,会在浏览器页面之上显示目标视图对象所对应的第一显示图层。当终端的当前浏览器页面上没有显示视频播放器时(如评论页面),该浏览器页面之上仍会存在目标视图对象,该目标视图对象可以默认显示颜色、默认显示大小和默认显示位置等进行显示。当终端的当前浏览器页面上显示有视频播放器时,浏览器页面之上会在视频播放器所对应的显示位置处以视频标签所对应的显示大小来显示目标视图对象,且该目标视图对象可播放对应的视频帧数据。
为了避免当前浏览器页面未显示视频播放器或者在加载浏览器页面的过程中且未创建视频标签之前,会对目标视图对象进行渲染所造成的资源浪费,以及为了避免当浏览器页面未显示视频播放器时,在浏览器页面之上显示目标视图对象所造成的显示异常(目标视图对象所对应的第一显示图层会覆盖第二显示图层中对应位置的信息)等问题,在一实施例中,在根据预设视图类创建目标视图对象的步骤之后,所述视频处理方法,还包括:隐藏目标视图对象;在浏览器创建视频播放器时,所述视频处理方法,还包括:显示目标视图对象。
可以理解地,在创建目标视图对象之后,隐藏该目标视图对象,如此在当前浏览器页面未显示视频播放器或者在加载浏览器页面的过程中且未创建视频标签之前,都无需对第一显示图层(包括目标视图对象)进行渲染,既节省了渲染资源,又避免了在浏览器页面未显示视频播放器时,在浏览器页面之上显示目标视图对象所造成的显示异常等问题。当浏览器页面创建视频播放器时,显示目标视图对象,又可实现对不支持格式视频的播放。
二,第一显示图层位于第二显示图层之下。在该种情况下,无论当前浏览器页面是否显示视频播放器,渲染之后,该目标视图对象所对应的第一显示图层位于第二显示图层之下,第二显示图层覆盖了第一显示图层,使得在当前浏览器页面上看不到该目标视图对象所对应的第一显示图层。当浏览器页面未显示视频播放器时,不会对浏览器页面的显示造成异常影响。当浏览器页面中存在视频标签时,渲染浏览器页面所对应的第二显示图层时,需要将视频播放器对应的视频显示区域挖洞并设置为透明,以显示目标视图对象中的视频信息。
具体地,请参看图3,图3是本申请实施例提供的一种视频处理方法的又一流程示意图,该视频处理方法包括如下步骤。
301,根据预设视图类创建目标视图对象。
302,将第一显示图层设置于浏览器页面所对应的第二显示图层之下。
可通过先添加第一显示图层,后添加浏览器页面所对应的第二显示图层,以实现将第一显示图层设置于浏览器页面所对应的第二显示图层之下。即通过创建图层的顺序来实现相应的显示图层的显示位置关系。
媒体应用程序会传一个基础的布局(layout)出来,叫RootView。其中,RootView是放置所有其他视图(其他显示图层)的视图,就像树形结构的根节点一样,它是所有子级的父级,因为RootView在结构中的位置最高,所有内容都需放置在其中。因此,在RootView中可以添加显示图层。
可在RootView中先添加第一显示图层,再添加浏览器页面所对应的第二显示图层;例如,可通过add函数来实现添加:add(objectsurface);add(webview)。其中,webview对象为浏览器所对应的第二显示图层,如此,通过叠加显示方式渲染之后,第二显示图层位于第一显示图层之上。
对应地,将第一显示图层设置于浏览器页面所对应的第二显示图层之上,可通过先添加浏览器页面所对应的第二显示图层,再添加第一显示图层,如此,通过叠加显示方式渲染之后,第一显示图层位于第二显示图层之上。
303,在浏览器页面中创建视频播放器,其中,视频播放器所对应的显示方式为叠加显示方式,视频播放器所对应的视图对象为目标视图对象。
当浏览器页面上的视频标签创建时,触发浏览器页面创建视频播放器。当浏览器页面创建视频播放器时,设置视频播放器所对应的显示方式为叠加显示方式,设置视频播放器所对应的视图对象为目标视图对象。
304,当浏览器页面播放视频信息时,通过原生视频编解码模块创建解码器对象,根据解码器对象对视频信息进行解码以得到视频数据,并将目标视图对象传递给解码器对象。
305,通过解码器对象调用原生渲染模块,以使得原生渲染模块将视频数据渲染至目标视图对象;根据浏览器渲染模块,渲染浏览器页面所对应的第二显示图层,其中,所述第二显示图层中的视频播放器所对应的视频显示区域透明。
在绘制/渲染第二显示图层时,将第二显示图层中的视频播放器所对应的视频显示区域挖洞并设置为透明。其中,视频播放器所对应的视频显示区域为视频标签所对应的目标显示大小和目标显示位置所形成的显示区域。将视频显示区域挖洞并设置为透明的目的,是为了显示在第二显示图层之下的第一显示图层中的目标视图对象中渲染的视频数据。
如此,即使第一显示图层设置于第二显示图层之下,将视频播放器所对应的视频显示区域挖洞并设置为透明,透过透明区域即可观看在第一显示图层的目标视图对象中渲染的视频数据。该实施例限定了当第一显示图层设置于第二显示图层之下时,基于浏览器源码和安卓系统的原生媒体框架(不依赖自主研发的其他模块接口),且在不损失性能的情况下,实现对不支持格式(如HEVC编码格式)的视频播放。
306,显示目标视图对象所对应的第一显示图层和浏览器页面所对应的第二显示图层,其中,目标视图对象中的视频数据透过视频显示区域显示。
该实施例中未详细描述的步骤请参看上文中对应步骤的描述,在此不再赘述。该实施例中优先选择将第一显示图层设置于第二显示图层之下,以为了避免任何显示异常的情况。
可选地,在一实施例中,为了避免当浏览器页面未显示视频播放器或者在加载浏览器页面的过程中且未创建视频标签之前,会对目标视图对象进行渲染所造成的资源浪费,在根据预设视图类创建目标视图对象的步骤之后,所述视频处理方法,还包括:隐藏目标视图对象;在浏览器页面创建视频播放器时,所述视频处理方法,还包括:显示目标视图对象。
图4是本申请实施例提供的视频处理方法的又一流程示意图。如图4所示,媒体应用程序通过浏览器对应的浏览器内核提供的对外接口打开媒体应用程序所对应的HTML页面,初始化媒体应用程序对应的浏览器内核。接着利用SurfaceView类创建目标视图对象objectsurface,将目标视图对象objectsurface传递至浏览器内核。
当浏览器页面上的视频标签创建时,触发浏览器页面创建视频播放器。设置视频播放器所对应的显示方式为overlay显示方式,并设置视频播放器所对应的视图对象为目标视图对象objectsurface;利用原生视频编解码模块创建解码器对象mediacodec,并将目标视图对象objectsurface传递给解码器对象mediacodec。
解码器对象mediacodec解码视频信息,得到解码后的视频信息。一方面,调用安卓系统的原生渲染模块,利用原生渲染模块将解码后的视频信息绘制/渲染至硬件驱动所对应的,并通过第一显示图层的目标视图对象显示所渲染的视频信息。需要注意的是,若第二显示图层设置于第一显示图层之下,虽然在第一显示图层上可以显示所渲染的视频信息,则实际上用户看不到当前所渲染的视频信息。另一方面,解码器对象mediacodec解码视频信息后,会调用回调函数,该回调函数会返回对应的回调信息,该回调信息会调用浏览器渲染模块,以在第二显示图像上渲染显示对应的回调信息;同时浏览器渲染模块也会渲染显示第二显示图层。若第一显示图层位于第二显示图层之下,则将浏览器OSD层的视频显示区域挖洞并设置为透明,以显示在第二显示图层之下的第一显示图层中的目标视图对象中渲染的视频信息。通过挖洞并设置透明后,用户才可以真正看到所渲染的视频信息,且给用户的观看感觉是仍然是在第二显示图层上显示的视频信息,用户并不会感知到第一显示图层的存在。
图5是本申请实施例提供的视频处理方法的时序图。首先,当检测到用户触发媒体应用程序(APP)所对应的图标/快捷方式时,触发媒体应用程序调用loadUrl()方法,该loadUrl()方法实现加载浏览器页面并进行初始化,初始化涉及到初始化浏览器内核WebView。
在调用loadUrl()方法的同时,根据SurfaceView类创建目标视图对象,并将目标视图对象添加至对应的第一显示图层。具体地,调用newSurfaceView()方法,在执行newSurfaceView()方法时,会触发SurfaceView类所对应的回调函数surfacecreate(),回调函数surfacecreate()返回所创建的目标视图对象objectsurface。
创建了目标视图对象objectsurface后,调用setVideoSurface()方法,该方法所对应的参数包括目标视图对象objectsurface。该setVideoSurface()方法是封装的接口函数,以用于将目标视图对象objectsurface传到浏览器内核。接着调用setSurface()方法,该setSurface()方法是浏览器内核中提供的方法,以用于将目标视图对象objectsurface传给浏览器的媒体模块。
当用户在页面上点击/触摸了某个视频,获取所点击/触摸的视频所对应的播放地址,具体地,使用video.src()方法来获取播放地址。获取了播放地址后,浏览器就知道要播放视频了,触发浏览器播放视频。具体地,浏览器调用new WebMediaPlayer()方法创建视频播放器。接着调用OnSurfaceChosen()方法以及overlay()方法。
其中,OnSurfaceChosen()方法用来选择视频在哪个显示图层上播放,利用OnSurfaceChosen()方法选择目标视图对象objectsurface,实现设置视频播放器所对应的视图对象为目标视图对象objectsurface,即上文中传给浏览器媒体模块的目标视图对象objectsurface。overlay()方法实现选择显示方式/渲染方式。通过overlay()方法实现选择显示方式为overlay显示方式,该overlay()方法中还包括该显示方式下所对应的一些参数设置。
接着调用原生视频编解码模块,即MediaCodec模块。具体地,调用createCodec()方法,该createCodec()方法的输入参数是目标视图对象objectsurface。该createCodec()方法用于创建解码器对象并实现对视频信息的编解码,该createCodec()方法中涉及config方法。解码器对象调用原生渲染模块,以将解码器对象解码后的视频信息渲染至硬件驱动所对应的第一显示图层(目标视图对象)并输出显示。
浏览器页面调用浏览器媒体框架的渲染功能,以渲染浏览器页面所对应的第二显示图层,并将第二显示图层中的视频播放器所对应的视频显示区域挖洞并设置为透明,以显示第一显示图层的目标视图对象中渲染的视频信息。该部分的功能通过create()方法以及SolidColorDrawQuad()方法来实现。
需要注意的是,以上所描述的仅仅是一个时序顺序而已,在该过程中,可能还会涉及到其他的步骤流程等;同时,每个方法实现的功能也只是描述了跟本申请实施例相关的一些功能,每个方法还可以实现其他的功能。上述时序图只是供理解本申请实施例中的技术方案,并不构成对本申请实施例的限制。
可选地,在一实施例中,所述视频处理方法,还包括:当检测到退出浏览器页面时,隐藏目标视图对象。其中,隐藏目标视图对象,无需对第一显示图层进行绘制/渲染,降低数据处理量。
可选地,在一实施例中,所述视频处理方法,还包括:当检测到退出媒体应用程序时,删除目标视图对象,以释放目标视图对象所占用的内存、处理等各种资源。
上述方法实施例中基于浏览器源码和安卓系统的原生媒体框架(不依赖自主研发的其他模块接口),且在不损失性能的情况下,实现对不支持格式(HEVC编码格式)的视频播放,解决了现有技术中的技术问题。
根据上述实施例所描述的方法,本实施例将从视频处理装置的角度进一步进行描述,该视频处理装置具体可以作为独立的实体来实现,也可以集成在终端中来实现。
请参阅图6,图6具体描述了本申请实施例提供的视频处理装置,应用于终端中,该终端中包括至少一媒体应用程序。该视频处理装置可以包括:第一创建模块401、第二创建模块402、渲染模块403、以及显示模块404。
第一创建模块401,用于根据预设视图类创建目标视图对象。
其中,预设视图类可以为SurfaceView类,该预设视图类实现对目标视图对象的独立控制。
第二创建模块402,用于在浏览器页面中创建视频播放器,其中,所述视频播放器所对应的显示方式为叠加显示方式,所述视频播放器所对应的视图对象为所述目标视图对象。
其中,叠加显示方式为overlay显示方式,叠加显示方式允许目标视图对象中显示的视频信号不经过处理芯片来进行处理(不进行软件渲染处理),而直接通过硬件驱动方式将视频信号输出到对应的第一显示图层上。
在一实施例中,第二创建模块402,还用于判断浏览器页面所对应的第二显示图层中的视频标签是否被创建,对应地,所述第二创建模块402,在执行在浏览器页面中创建视频播放器的步骤时,具体执行:当浏览器页面所对应的第二显示图层中的视频标签被创建时,通过浏览器页面对应的媒体应用程序所提供的视图对象获取接口获取目标视图对象,将目标视图对象传递至所述浏览器内核;在浏览器页面中创建视频播放器,并基于浏览器内核设置视频播放器的显示方式为叠加显示方式、视频播放器所对应的视图对象为目标视图对象。
在一实施例中,第二创建模块402,在执行当浏览器页面所对应的第二显示图层中的视频标签创建时,在浏览器页面中创建视频播放器的步骤时,具体执行:获取视频标签所对应的目标显示大小和目标显示位置;根据视频标签所对应的目标显示大小和目标显示位置创建视频播放器,并设置目标视频图像的显示大小为所述目标显示大小、目标视图对象的显示位置为目标显示位置。
渲染模块403,用于将基于视频信息解码所得到的视频数据渲染至目标视图对象。
在一实施例中,渲染模块403,具体用于通过原生视频编解码模块创建解码器对象,根据解码器对象对视频信息进行解码以得到视频数据;将目标视图对象传递给解码器对象;通过解码器对象调用原生渲染模块,以使得原生渲染模块将视频数据渲染至目标视图对象。
在一实施例中,渲染模块403,还用于渲染浏览器页面所对应的第二显示图层,其中,第二显示图层中的视频播放器所对应的视频显示区域透明。
显示模块404,用于在目标视图对象所对应的第一显示图层中显示渲染后的视频数据。在一实施例中,显示模块404,还用于显示浏览器页面所对应的第二显示图层。
在一实施例中,视频处理装置还包括设置模块505。设置模块505,用于将第一显示图层设置于浏览器页面所对应的第二显示图层之下。
在一实施例中,视频处理装置还包括隐藏显示单元,其中,隐藏显示单元,用于根据预设视图类创建目标视图对象的步骤之后,隐藏目标视图对象;以及在浏览器页面创建视频播放器时,显示目标视图对象。
在一实施例中,隐藏显示单元,还用于当检测到退出浏览器页面时,隐藏目标视图对象;当检测到退出媒体应用程序时,删除目标视图对象。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,具体可以达到的有益效果也请参看前面的方法实施例中的有益效果,在此不再赘述。
另外,本申请实施例还提供一种终端,如图7所示,终端500包括处理器501、存储器502。其中,处理器501与存储器502电性连接。
处理器501是终端500的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或加载存储在存储器502内的应用程序,以及调用存储在存储器502内的数据,执行终端的各种功能和处理数据,从而对终端进行整体监控。
在本实施例中,终端500中的处理器501会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如:
根据预设视图类创建目标视图对象;在浏览器页面中创建视频播放器,其中,所述视频播放器所对应的显示方式为叠加显示方式,所述视频播放器所对应的视图对象为所述目标视图对象;当所述浏览器页面播放视频信息时,将基于所述视频信息解码所得到的视频数据渲染至所述目标视图对象;在所述目标视图对象所对应的第一显示图层中显示渲染后的视频数据。
该终端可以实现本申请实施例所提供的视频处理方法任一实施例中的步骤,因此,可以实现本发明实施例所提供的任一视频处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
图8示出了本发明实施例提供的终端的具体结构框图,该终端可以用于实施上述实施例中提供的视频处理方法。该终端包括以下的模块/单元。
RF电路610用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。RF电路610可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(SIM)卡、存储器等等。RF电路610可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(Global System for Mobile Communication,GSM)、增强型移动通信技术(Enhanced DataGSM Environment,EDGE),宽带码分多址技术(Wideband Code Division MultipleAccess,WCDMA),码分多址技术(Code Division Access,CDMA)、时分多址技术(TimeDivision Multiple Access,TDMA),无线保真技术(Wireless Fidelity,Wi-Fi)(如美国电气和电子工程师协会标准IEEE802.11a,IEEE 802.11b,IEEE802.11g和/或IEEE 802.11n)、网络电话(Voice over Internet Protocol,VoIP)、全球微波互联接入(WorldwideInteroperability for Microwave Access,Wi-Max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。
存储器620可用于存储软件程序(计算机程序)以及模块,如上述实施例中对应的程序指令/模块,处理器680通过运行存储在存储器620内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器620可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器620可进一步包括相对于处理器680远程设置的存储器,这些远程存储器可以通过网络连接至终端600。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入单元630可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元630可包括触敏表面631以及其他输入设备632。触敏表面631,也称为触摸显示屏(触摸屏)或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面631上或在触敏表面631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面631。除了触敏表面631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元640可用于显示由用户输入的信息或提供给用户的信息以及终端600的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元640可包括显示面板641,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板641。进一步的,触敏表面631可覆盖显示面板641,当触敏表面631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图中,触敏表面631与显示面板641是作为两个独立的部件来实现输入和输出功能,但是可以理解地,将触敏表面631与显示面板641集成而实现输入和输出功能。
终端600还可包括至少一种传感器650,比如光传感器、方向传感器、接近传感器以及其他传感器。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端600还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路660、扬声器661,传声器662可提供用户与终端600之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一终端,或者将音频数据输出至存储器620以便进一步处理。音频电路660还可能包括耳塞插孔,以提供外设耳机与终端600的通信。
终端600通过传输模块670(例如Wi-Fi模块)可以帮助用户接收请求、发送信息等,它为用户提供了无线的宽带互联网访问。虽然图示出了传输模块670,但是可以理解的是,其并不属于终端600的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器680是终端600的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序(计算机程序)和/或模块,以及调用存储在存储器620内的数据,执行终端600的各种功能和处理数据,从而对终端进行整体监控。可选的,处理器680可包括一个或多个处理核心;在一些实施例中,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解地,上述调制解调处理器也可以不集成到处理器680中。
终端600还包括给各个部件供电的电源690(比如电池),在一些实施例中,电源可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源690还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端600还包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序(计算机程序),其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行一个或者一个以上程序包含用于进行以下操作的指令:
根据预设视图类创建目标视图对象;在浏览器页面中创建视频播放器,其中,所述视频播放器所对应的显示方式为叠加显示方式,所述视频播放器所对应的视图对象为所述目标视图对象;当所述浏览器页面播放视频信息时,将基于所述视频信息解码所得到的视频数据渲染至所述目标视图对象;在所述目标视图对象所对应的第一显示图层中显示渲染后的视频数据。
具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令(计算机程序)来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的视频处理方法中任一实施例的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的视频处理方法任一实施例中的步骤,因此,可以实现本发明实施例所提供的任视频处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种视频处理方法、装置、存储介质和终端进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (11)

1.一种视频处理方法,其特征在于,包括:
根据预设视图类创建目标视图对象;
在浏览器页面中创建视频播放器,其中,所述视频播放器所对应的显示方式为叠加显示方式,所述视频播放器所对应的视图对象为所述目标视图对象;
当所述浏览器页面播放视频信息时,将基于所述视频信息解码所得到的视频数据渲染至所述目标视图对象;
在所述目标视图对象所对应的第一显示图层中显示渲染后的视频数据。
2.根据权利要求1所述的视频处理方法,其特征在于,所述第一显示图层位于所述浏览器页面所对应的第二显示图层之下,所述视频处理方法,还包括:
渲染浏览器页面所对应的第二显示图层,其中,所述第二显示图层中的所述视频播放器所对应的视频显示区域透明。
3.根据权利要求1或者2所述的视频处理方法,其特征在于,所述根据预设视图类创建目标视图对象之后,还包括:
隐藏所述目标视图对象;
当在所述浏览器页面中创建视频播放器时,显示所述目标视图对象。
4.根据权利要求1所述的视频处理方法,其特征在于,所述在浏览器页面中创建视频播放器之前,还包括:
判断所述浏览器页面所对应的第二显示图层中的视频标签是否被创建;
对应地,所述在浏览器页面中创建视频播放器,包括:
当浏览器页面所对应的第二显示图层中的视频标签创建时,在所述浏览器页面中创建所述视频播放器。
5.根据权利要求4所述的方法,其特征在于,所述当浏览器页面所对应的第二显示图层中的视频标签创建时,在所述浏览器页面中创建所述视频播放器,包括:
获取所述视频标签所对应的目标显示大小和目标显示位置;
根据所述视频标签所对应的目标显示大小和目标显示位置创建所述视频播放器,并设置所述视频播放器所对应的视图对象为所述目标视图对象、所述目标视图对象的显示大小为所述目标显示大小、所述目标视图对象的显示位置为所述目标显示位置。
6.根据权利要求1所述的视频处理方法,其特征在于,所述将基于所述视频信息解码所得到的视频数据渲染至所述目标视图对象,包括:
通过原生视频编解码模块创建解码器对象,根据所述解码器对象对所述视频信息进行解码以得到所述视频数据;
将所述目标视图对象传递给所述解码器对象;
通过所述解码器对象调用原生渲染模块,以使得所述原生渲染模块将所述视频数据渲染至所述目标视图对象。
7.根据权利要求1所述的视频处理方法,其特征在于,所述在浏览器页面中创建视频播放器,包括:
通过所述浏览器页面对应的媒体应用程序所提供的视图对象获取接口获取所述目标视图对象;
将所述目标视图对象传递至浏览器内核;
在所述浏览器页面中创建视频播放器,并基于浏览器内核设置所述视频播放器的显示方式为叠加显示方式、所述视频播放器所对应的视图对象为所述目标视图对象。
8.根据权利要求2所述的视频处理方法,其特征在于,所述根据预设视图类创建目标视图对象之后,还包括:
当检测到退出所述浏览器页面时,隐藏所述目标视图对象;
当检测到退出所述浏览器页面对应的媒体应用程序时,删除所述目标视图对象。
9.一种视频处理装置,其特征在于,包括:
第一创建模块,用于根据预设视图类创建目标视图对象;
第二创建模块,用于在浏览器页面中创建视频播放器,其中,所述视频播放器所对应的显示方式为叠加显示方式,所述视频播放器所对应的视图对象为所述目标视图对象;
渲染模块,用于当所述浏览器页面播放视频信息时,将基于所述视频信息解码所得到的视频数据渲染至所述目标视图对象;
显示模块,用于在所述目标视图对象所对应的第一显示图层中显示渲染后的视频数据。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质中存储有多条指令,所述指令适于由处理器加载以执行权利要求1至8任一项所述的视频处理方法。
11.一种终端,其特征在于,包括处理器和存储器,所述处理器与所述存储器电性连接,所述存储器用于存储指令和数据,所述处理器用于执行权利要求1至8任一项所述的视频处理方法中的步骤。
CN202110815322.1A 2021-07-19 2021-07-19 视频处理方法、装置、存储介质及终端 Active CN113613064B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110815322.1A CN113613064B (zh) 2021-07-19 2021-07-19 视频处理方法、装置、存储介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110815322.1A CN113613064B (zh) 2021-07-19 2021-07-19 视频处理方法、装置、存储介质及终端

Publications (2)

Publication Number Publication Date
CN113613064A true CN113613064A (zh) 2021-11-05
CN113613064B CN113613064B (zh) 2023-06-27

Family

ID=78304833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110815322.1A Active CN113613064B (zh) 2021-07-19 2021-07-19 视频处理方法、装置、存储介质及终端

Country Status (1)

Country Link
CN (1) CN113613064B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489882A (zh) * 2021-12-16 2022-05-13 成都鲁易科技有限公司 浏览器动态皮肤的实现方法及装置、存储介质
CN114697726A (zh) * 2022-03-15 2022-07-01 青岛海信宽带多媒体技术有限公司 一种带有视频窗口的页面显示方法和智能机顶盒
WO2023246916A1 (zh) * 2022-06-23 2023-12-28 中兴通讯股份有限公司 视频的播放方法及装置、系统、存储介质、电子装置
CN114584825B (zh) * 2022-02-25 2024-08-02 青岛海信宽带多媒体技术有限公司 一种带有视频窗口的页面显示方法和网关设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347854A1 (en) * 2014-04-25 2015-12-03 Huntington Ingalls Incorporated System and Method for Using Augmented Reality Display in Surface Treatment Procedures
CN105160028A (zh) * 2015-09-30 2015-12-16 北京北大高科指纹技术有限公司 网页浏览实现方法和浏览器实现系统
CN106060674A (zh) * 2016-06-27 2016-10-26 武汉斗鱼网络科技有限公司 一种在前端实现智能视频直播的系统及方法
CN107257510A (zh) * 2017-06-05 2017-10-17 努比亚技术有限公司 视频统一播放方法、终端及计算机可读存储介质
CN110147512A (zh) * 2019-05-16 2019-08-20 腾讯科技(深圳)有限公司 播放器预加载、运行方法、装置、设备及介质
CN110582017A (zh) * 2019-09-10 2019-12-17 腾讯科技(深圳)有限公司 一种视频播放方法、装置、终端及存储介质
CN111611037A (zh) * 2020-05-09 2020-09-01 掌阅科技股份有限公司 用于电子书的视图对象处理方法、电子设备及存储介质
CN111641838A (zh) * 2020-05-13 2020-09-08 深圳市商汤科技有限公司 一种浏览器视频播放方法、装置以及计算机存储介质
CN112738562A (zh) * 2020-12-24 2021-04-30 深圳市创维软件有限公司 浏览器页面透明显示的方法、装置和计算机存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347854A1 (en) * 2014-04-25 2015-12-03 Huntington Ingalls Incorporated System and Method for Using Augmented Reality Display in Surface Treatment Procedures
CN105160028A (zh) * 2015-09-30 2015-12-16 北京北大高科指纹技术有限公司 网页浏览实现方法和浏览器实现系统
CN106060674A (zh) * 2016-06-27 2016-10-26 武汉斗鱼网络科技有限公司 一种在前端实现智能视频直播的系统及方法
CN107257510A (zh) * 2017-06-05 2017-10-17 努比亚技术有限公司 视频统一播放方法、终端及计算机可读存储介质
CN110147512A (zh) * 2019-05-16 2019-08-20 腾讯科技(深圳)有限公司 播放器预加载、运行方法、装置、设备及介质
CN110582017A (zh) * 2019-09-10 2019-12-17 腾讯科技(深圳)有限公司 一种视频播放方法、装置、终端及存储介质
CN111611037A (zh) * 2020-05-09 2020-09-01 掌阅科技股份有限公司 用于电子书的视图对象处理方法、电子设备及存储介质
CN111641838A (zh) * 2020-05-13 2020-09-08 深圳市商汤科技有限公司 一种浏览器视频播放方法、装置以及计算机存储介质
CN112738562A (zh) * 2020-12-24 2021-04-30 深圳市创维软件有限公司 浏览器页面透明显示的方法、装置和计算机存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DONNER C等: "Light diffusion in multi-layered translucent materials", 《ACM TRANSACTIONS ON GRAPHICS》 *
吕庆;孟剑萍;: "基于场景图形管理技术的三维空中态势引擎设计与实现", 《万方平台》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489882A (zh) * 2021-12-16 2022-05-13 成都鲁易科技有限公司 浏览器动态皮肤的实现方法及装置、存储介质
CN114489882B (zh) * 2021-12-16 2023-05-19 成都鲁易科技有限公司 浏览器动态皮肤的实现方法及装置、存储介质
CN114584825B (zh) * 2022-02-25 2024-08-02 青岛海信宽带多媒体技术有限公司 一种带有视频窗口的页面显示方法和网关设备
CN114697726A (zh) * 2022-03-15 2022-07-01 青岛海信宽带多媒体技术有限公司 一种带有视频窗口的页面显示方法和智能机顶盒
WO2023246916A1 (zh) * 2022-06-23 2023-12-28 中兴通讯股份有限公司 视频的播放方法及装置、系统、存储介质、电子装置

Also Published As

Publication number Publication date
CN113613064B (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
CN109388453B (zh) 应用页面的展示方法、装置、存储介质和电子设备
CN113613064B (zh) 视频处理方法、装置、存储介质及终端
US10853437B2 (en) Method and apparatus for invoking application programming interface
CN107040609B (zh) 一种网络请求处理方法和装置
WO2017008551A1 (zh) 弹幕显示方法及装置
CN107102904B (zh) 基于混合应用程序的交互方法及装置
CN108039963B (zh) 一种容器配置方法、装置及存储介质
WO2015096747A1 (zh) 操作响应方法、客户端、浏览器及系统
US20150091935A1 (en) Method and device for browsing web under weak light with mobile terminal browser
WO2018107941A1 (zh) 一种ar场景下的多屏联动方法和系统
CN110020293B (zh) 多媒体数据展示方法、装置及存储介质
CN106406924B (zh) 应用程序启动和退出画面的控制方法、装置及移动终端
CN113313804B (zh) 一种图像渲染方法、装置、电子设备和存储介质
CN105955739A (zh) 一种图形界面的处理方法、装置和系统
CN110300047B (zh) 一种动画播放方法、装置及存储介质
CN113395337A (zh) 浏览器网页防劫持的方法、装置、电子设备及存储介质
CN103491421B (zh) 内容展示方法、装置及智能电视
US10713414B2 (en) Web page display method, terminal, and storage medium
WO2015032284A1 (en) Method, terminal device, and system for instant messaging
CN108763544A (zh) 一种显示方法及终端
CN109063079B (zh) 网页标注方法及电子设备
CN105631059B (zh) 数据处理方法、数据处理装置及数据处理系统
KR101876394B1 (ko) 단말기에 미디어 데이터를 재생하는 방법 및 장치
CN110471895B (zh) 分享方法及终端设备
CN115904514B (zh) 基于三维场景中云渲染像素流实现方法及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant