CN113225616B - 视频播放方法、装置、计算机设备及可读存储介质 - Google Patents

视频播放方法、装置、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN113225616B
CN113225616B CN202110462303.5A CN202110462303A CN113225616B CN 113225616 B CN113225616 B CN 113225616B CN 202110462303 A CN202110462303 A CN 202110462303A CN 113225616 B CN113225616 B CN 113225616B
Authority
CN
China
Prior art keywords
video
layer
audio
data
code stream
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
Application number
CN202110462303.5A
Other languages
English (en)
Other versions
CN113225616A (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202110462303.5A priority Critical patent/CN113225616B/zh
Publication of CN113225616A publication Critical patent/CN113225616A/zh
Application granted granted Critical
Publication of CN113225616B publication Critical patent/CN113225616B/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/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请实施例公开了一种视频播放方法、装置、计算机设备及可读存储介质,属于互联网技术领域。所述方法包括:浏览器的web引擎中的C层将待播放的音视频的码流进行解码,并基于解码得到的音频数据和视频数据,在用户接口UI界面上进行渲染播放。也就是说,当C层接收web层发送的待播放的视频的码流后,在C层进行解码并渲染,并不需要将解码后的音频数据和视频数据传输给web层,再从web层调用基础库进行渲染,从而减少了跨层传输数据的次数,从而提高了音视频播放时浏览器的性能,减少了消耗。

Description

视频播放方法、装置、计算机设备及可读存储介质
技术领域
本申请实施例涉及互联网技术领域,特别涉及一种音视频播放方法。
背景技术
随着互联网技术的发展,浏览器的功能越来越丰富,越来越多的用户使用浏览器播放音视频。随着浏览器的发展和安全方面的考虑,当浏览器播放音视频采集设备所采集到的音视频时,浏览器采用基于WebAssembly(WebAssembly 是一种运行在浏览器上的完整底层汇编级的语言)技术对音视频数据进行解码播放。
相关技术中,当浏览器接收到音视频数据后,浏览器的web引擎对音视频数据进行播放。浏览器的web引擎包括web层、中间层和C层。web层用来接收和播放音视频数据,中间层用来传输音视频数据,C层用来解析和解码音视频数据。web层还包括基础库,基础库用来渲染解码后的视频数据。浏览器播放音视频数据的过程为:web层接收音视频数据后,通过中间层将音视频数据传输给 C层进行解析和解码,将解析和解码后的音视频数据通过中间层回调给web层。 web层调用基础库将音视频数据进行渲染播放。
但是,web层调用基础库对音视频数据渲染时,web层调用基础库中的 webGL对视频进行渲染,web层调用AudioContext对音频进行渲染。而webGL 和AudioContext位于web层,因此中间层将音视频数据传输给C层进行解析和解码后,还需将解析和解码后的音视频数据通过中间层回调给web层进行音视频渲染,因此造成多次跨层传输数据的现象,从而消耗浏览器的性能和浪费内存。
发明内容
本申请实施例提供了一种视频播放方法,可以减少跨层传输数据的次数,从而提高音视频播放时浏览器的性能。所述技术方案如下:
一方面,提供了一种视频播放方法,所述方法包括:
所述方法由浏览器中网页web引擎执行,所述web引擎包括web层和C层,所述web层的运行语言为JS语言,所述C层的运行语言为C语言;
所述方法包括:
所述C层接收所述web层发送的待播放的音视频的码流,所述码流为所述 web层在接收到视频播放请求时发送的;
所述C层解码所述码流得到音频数据和视频数据,并基于所述音频数据和所述视频数据在所述浏览器的用户界面UI上渲染所述音视频。
可选地,所述C层解码所述码流得到音频数据和视频数据,并基于所述音频数据和所述视频数据在所述浏览器的用户界面UI上渲染得到所述音视频,包括:
所述C层创建数据处理子线程和显示子线程;
所述C层将所述码流发送至所述数据处理子线程,由所述数据处理子线程解码所述码流得到所述音频数据和所述视频数据;
所述C层将所述音频数据和所述视频数据发送至所述显示子线程,由所述显示子线程基于所述音频数据和所述视频数据在所述用户界面UI上渲染得到所述音视频。
可选地,所述C层配置有音频解码库和视频解码库,所述音频解码库的解码流程是基于业务需求配置的,所述视频解码库的解码流程是基于业务需求配置的;
所述C层解码所述码流得到音频数据和视频数据,包括:
所述C层基于音频解码库解码所述码流中的音频裸流,得到所述音频数据;
所述C层基于视频解码库解码所述码流中的视频裸流,得到所述视频数据。
可选地,所述C层包括OpenAL和OpenGL ES;
所述基于所述音频数据和所述视频数据在所述浏览器的用户界面UI上渲染得到所述视频,包括:
所述C层通过所述OpenAL渲染所述音频数据,通过所述OpenGL ES在所述用户界面UI上渲染所述视频数据。
可选地,所述C层中配置有解析库,所述解析库的解析流程是基于开发人员配置的;
所述C层解码所述码流得到音频数据和视频数据包括:
所述C层基于解析库解析所述码流,得到所述码流中的音频裸流和视频裸流;
所述C层解码所述音频裸流得到所述音频数据,所述C层解码所述视频裸流得到所述视频数据。
可选地,所述基于所述音频数据和所述视频数据在所述浏览器的用户界面 UI上渲染得到所述视频之后,所述方法还包括:
所述C层对渲染后的视频进行鱼眼校正,在用户界面UI上显示校正后的视频。
可选地,所述基于所述音频数据和所述视频数据在所述浏览器的用户界面 UI上渲染得到所述视频之后,所述方法还包括:
所述C层对渲染后的视频添加标注信息,在用户界面UI上显示添加标注信息后的视频。
另一方面,提供了一种视频播放装置,所述装置包括:
所述装置部署在浏览器中网页web引擎中,所述web引擎包括web层和C 层,所述web层的运行语言为JS语言,所述C层的运行语言为C语言;
接收模块,用于接收所述web层发送的待播放的音视频的码流,所述码流为所述web层在接收到视频播放请求时发送的;
播放模块,用于解码所述码流得到音频数据和视频数据,并基于所述音频数据和所述视频数据在所述浏览器的用户界面UI上渲染所述音视频。
可选地,所述播放模块用于:
创建数据处理子线程和显示子线程;
将所述码流发送至所述数据处理子线程,由所述数据处理子线程解码所述码流得到所述音频数据和所述视频数据;
将所述音频数据和所述视频数据发送至所述显示子线程,由所述显示子线程基于所述音频数据和所述视频数据在所述用户界面UI上渲染得到所述音视频。
可选地,所述C层配置有音频解码库和视频解码库,所述音频解码库的解码流程是基于业务需求配置的,所述视频解码库的解码流程是基于业务需求配置的;
所述播放模块用于:
基于音频解码库解码所述码流中的音频裸流,得到所述音频数据;
基于视频解码库解码所述码流中的视频裸流,得到所述视频数据。
可选地,所述C层包括OpenAL和OpenGL ES;
所述播放模块用于:
通过所述OpenAL渲染所述音频数据,通过所述OpenGL ES在所述用户界面UI上渲染所述视频数据。
可选地,所述C层中配置有解析库,所述解析库的解析流程是基于业务需求配置的;
所述播放模块还用于:
基于解析库解析所述码流,得到所述码流中的音频裸流和视频裸流;
解码所述音频裸流得到所述音频数据,解码所述视频裸流得到所述视频数据。
可选地,播放模块还用于:
对渲染后的视频进行鱼眼校正,在所述UI上显示校正后的视频。
可选地,所述播放模块还用于:
对渲染后的视频添加标注信息,在所述UI上显示添加标注信息后的视频。
另一方面,提供了一种计算机设备,所述计算机设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述所述的视频播放方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述所述的视频播放方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
在本申请实施例中,浏览器的web引擎中的C层将待播放的音视频的码流进行解码,并基于解码得到的音频数据和视频数据,在UI界面上进行渲染播放。也就是说,当C层接收web层发送的待播放的视频的码流后,在C层进行解码并渲染,并不需要将解码后的音频数据和视频数据传输给web层,再从web层调用基础库进行渲染,从而减少了跨层传输数据的次数,从而提高了浏览器的性能,减少了消耗。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种视频播放系统架构示意图;
图2是本申请实施例提供的一种视频播放方法流程图;
图3是本申请实施例提供的一种鱼眼矫正示意图;
图4是本申请实施例提供的一种标注信息示意图;
图5是本申请实施例提供的一种视频播放的架构图;
图6是本申请实施例提供的一种视频播放装置的结构示意图;
图7是本申请实施了提供的一种终端的结构示意图;
图8是本申请实施了提供的一种服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例进行详细的解释说明之前,先对本申请实施例中的应用场景予以说明。
目前,浏览器为了播放来自视频采集设备的视频,通常需要从视频采集设备中下载相应的插件,比如NPAPI或ActiveX等插件。进而浏览器通过该插件读取视频数据,再对数据进行解码和渲染,以将该视频数据进行播放。随着浏览器的发展,基于安全性的考虑,主流浏览器均禁止下载插件,导致视频采集设备无法通过插件向浏览器发送视频数据,降低了浏览器的适用范围。因此,为了使浏览器在无插件的情况下也能播放视频数据,浏览器开始采用基于 WebAssembly技术对视频数据进行解码播放。本申请实施例提供的视频播放方法可以应用于基于WebAssembly的浏览器中。
图1是本申请实施例提供的一种视频播放系统架构示意图,参见图1。该系统100包括web(网页)引擎110和UI(User Interface,用户界面)120。
web引擎110和UI 120之间通过有线或无线的方式连接以进行通信。
web引擎110包括web层和C层,web层的运行语言为JS语言,C层的运行语言为C语言。
JS语言为Javascript语言的简称,JS语言是一种基于对象和事件驱动,并具有相对安全性的直译式脚本语言。同时也是一种广泛用于网页web开发的脚本语言,常用来给HTML(Hyper Text Markup Language,超文本标记语言)网页添加动态功能,比如,响应用户的各种操作。
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。将C语言编写的代码编译成库后,可供web层调用。
web层用来和浏览器的用户界面UI120进行信息的交互、接收视频采集设备发送的待播放的视频的码流和加载WebAssembly代码。WebAssembly可以简称为WASM。
C层包括数据处理子线程和显示子线程,数据处理子线程包括音视频解析、私有数据解析、音频解码以及多线程视频解码。显示子线程包括音频渲染、视频渲染、鱼眼矫正显示以及私有信息显示。关于数据子线程和显示子线程相关解释将在后续详细说明,在此先不展开阐述。
在一种可能的实现方式中,web层和C层之间通过中间层连接以进行数据传输。
用户界面UI120用于浏览器和用户进行人机交互,例如,用户通过用户界面UI120可以控制视频的播放。
基于图1所示的视频播放系统,下面对本申请实施例提供的视频播放方法进行详细解释说明。
图2是本申请实施例提供的一种视频播放方法流程图。基于图1所示的视频播放方法可知,该视频播放方法由浏览器中web引擎执行,web引擎包括 web层和C层,web层的运行语言为JS语言,C层的运行语言为C语言。参见图2,该视频播放方法包括如下几个步骤。
步骤201:C层接收web层发送的待播放的音视频的码流,码流为web层在接收到视频播放请求时发送的。
待播放的视频码流为视频采集设备采集的视频数据。当视频采集设备接收到浏览器的web层发送视频播放请求时,视频采集设备将视频数据进行封装和编码,得到封装后的视频的码流。视频采集设备将封装后的视频的码流发送给浏览器的web层。
在另一种可能的实现方式,也可以从其他存储设备处获取待播放的视频的码流。当其他存储设备接收到浏览器web层发送视频播放请求时,其他存储设备将视频数据进行封装和编码,得到封装后的视频的码流。其他存储设备将封装后的视频的码流发送给浏览器的web层。
封装后的视频的码流在播放时需要进行解析、解码和渲染。在本申请实施例中,为了避免浏览器下载插件对封装后的视频的码流进行解析、解码和渲染,因此将封装后的视频的码流的解析、解码和渲染是在C层进行的,因此,需要将web层接收的视频的码流发送给C层。也即是C层接收web层发送的待播放的视频的码流。
步骤202:C层解码码流得到音频数据和视频数据,并基于音频数据和视频数据在浏览器的UI上渲染该音视频。
在一种可能的实现方式中,为了在C层进行视频的码流的解析、解码和渲染,C层创建数据处理子线程和显示子线程,C层将码流发送至数据处理子线程,由数据处理子线程解码码流得到音频数据和视频数据,C层将音频数据和视频数据发送至显示子线程,由显示子线程基于视频数据在UI界面上渲染得到视频中的视频画面,并基于音频数据播放视频中的音频。
当将web层接收到的视频的码流传输到C层后,在C层对视频的码流进行一次性的解析、解码和渲染。而不是在C层对视频的码流进行解析和解码后,再将视频的码流传输到web层进行渲染,从而减少了视频数据的跨层传输的次数,减少了内存的占用。
上述数据处理子线程包括对码流的解析和解码。数据处理子线程对码流解析后的得到裸数据,再对裸数据进行解码得到音频数据和视频数据。当视频采集设备接收到web层发送的视频播放请求后,视频采集设备将待播放的视频进行封装和编码,得到原始码流。当C层接收到该封装和编码后的原始码流后,先对该原始码流进行“解析”,从而得到封装里面的数据,可以称之为裸数据,裸数据包括音频裸流和视频裸流。由于码流是编码后的视频,因此需要将其进行解码,得到视频数据。
在一种可能的实现方式中,C层对码流进行解析前,C层配置有解析库,解析库的解析流程是基于业务需求配置的。C层基于解析库解析码流,得到码流中的音频裸流和视频裸流,即得到音频和视频的裸数据。
其中,解析库的解析流程是基于业务需求配置的具体是指:在配置解析库时,基于业务需求配置解析码流中哪些信息。比如,可以选择码流中的时间戳以及分辨率等信息进行解析。避免了需要对码流中全部信息进行解析从而导致解析码流所需的时间较长。
在本申请实施例中,解析库支持的码流格式可以包括hik、mpeg2、rawdata、 rtp以及avi等格式。本申请实施例对此不做具体限定。
通过配置解析库,可以实现基于具体的业务场景定制解析库的目的,从而使得配置的解析库精简且有效,从而提高了解析码流的效率。
此外,数据处理子线程对码流解析后得到包括音频裸流和视频裸流的裸数据后,对该裸数据进行解码。在对裸数据进行解码前,C层配置有音频解码库和视频解码库,音频解码库的解码流程是基于业务需求配置的,视频解码库的解码流程是基于业务需求配置的。
对视频码流解码时需要获取的视频的分辨率、编码格式、时间戳以及采样帧率等信息,因此开发人员通过预设操作配置音频解码库和视频解码库时,是针对视频信息的需求进行配置。相对于ffmpeg开源解码库来说,上述解码库为针对浏览器的视频播放领域配置的解码库。因此,上述解码库非常适用于浏览器的视频播放领域。而ffmpeg开源解码库适用范围广,可能对浏览器视频播放领域中码流的解码没有上述解码库针对性强。
在本申请实施例中,音频解码库支持的编码格式可以包括AAC(高级音频编码技术,Advanced Audio Coding)、AACLD(AACLD是一种音频编解码协议)、 ADPCM(AdaptiveDifferential Pulse Code Modulation,自适应差动脉冲编码调制)、G711(G711是一种音频编解码协议)、G722(G722是一种音频编解码协议)、G726(G726是一种音频编解码协议)、MPEG2(Moving Picture Experts Group,运动图像专家组)以及OPUS(OPUS是一个高保真的适合在网络中传输的开源的语音编码格式)等格式。本申请实施例对此不做具体限定。视频解码库支持的编码格式可以包括H264(H264是属于视频的编码层的标准格式)以及 H265(H265是新的编码协议,也即是H264的升级版)等格式。本申请实施例对此不做具体限定。
将视频的裸数据通过解码库解码为原始图像数据,得到视频数据,通常为 YUV(YUV是一种颜色编码方法)图像数据。YUV图像数据包括视频数据流的分辨率、编码格式、时间戳以及采样帧率等信息,本申请实施例对此不做具体限定。将音频的裸数据通过解码库解码为原始音频数据,得到音频数据,通常为PCM(Pulse Code Modulation,脉冲编码调制)音频数据。PCM音频数据包括音频数据流的编码格式、时间戳以及采样帧率等信息,本申请实施例对此不做具体限定。
另外,对封装后的编码的码流还可以进行私有数据解析。私有数据解析后能够得到需要对视频添加的标注信息,然后便可在UI上显示该标注信息。标注信息包括标注框、标注文本以及标注图片中的一者或多者。标注框也可以具体为一个画框,标注文本可以具体为文字,标注图片具体可以为一个叠加在视频上的图片。本申请实施例对此不做具体限定。
当得到音频数据和视频数据,C层便基于音频数据和视频数据在浏览器的 UI上渲染视频。
在一种可能的实现方式中,C层包括显示子线程,显示子线程包括音频渲染、视频渲染、鱼眼矫正显示以及私有信息显示等,本申请实施例对此不做具体限定。
其中,音频渲染是通过OpenAL(Open Audio Library,开放音频库)音频实现的,视频渲染是通过OpenGL ES(Open Graphics Library for Embeddled Systems,针对嵌入式系统的开发图像库)视频实现的,也即是C层包括OpenAL 音频和OpenGL ES视频,C层通过OpenAL音频播放音频数据,通过OpenGL ES 视频在UI上渲染视频数据。在C层直接通过OpenAL音频和OpenGL ES视频对音视频数据进行渲染,不需要将音视频数据调回到web层,在web层调用基础库进行渲染,从而减少了跨层传输的次数,减少了内存的占用。
其中,OpenAL音频提供跨平台的3D音频API(Application ProgrammingInterface,应用程序编程接口),适合应用于游戏应用程序和许多其他类型的音频应用程序,用于提供实时的声效播放。OpenAL音频位于C层。
OpenGL(Open Graphics Library,开放式图形库)定义了一个跨编程语言、跨平台编程的专业图形程序接口。可用于二维或三维图像的处理和渲染,它是一个功能强大、调用方便的底层图形库。对于嵌入式设备,比如浏览器设备, OpenGL提供了OpenGL ES版本,该版本是针对手机、Pad等嵌入式设备而设计的,是OpenGL的一个子集。OpenGL ES位于C层。
在本申请实施例中,浏览器的C层将待播放的视频的码流进行解码,并基于解码得到的音频数据和视频数据,在用户接口UI界面上进行渲染播放。也就是说,当C层接收Web层发送的待播放的视频的码流后,在C层进行解码并渲染,并不需要将解码后的音频数据和视频数据传输给web层,再从web层调用基础库进行渲染,从而减少了跨层传输数据的情况,减少了消耗。
另外,显示子线程中还用于鱼眼矫正显示。鱼眼摄像头形状为模拟鱼的眼睛的形状,因此鱼眼摄像头采集到的视频画面的边缘严重畸变。将鱼眼摄像头采集到的视频数据封装编码后得到鱼眼码流。当对鱼眼码流进行解析和解码后得到视频数据,需要对得到的视频数据进行鱼眼矫正后播放。鱼眼矫正是指将视频画面中严重畸变的部分进行矫正,从而显示为平面或3D画面。
鱼眼矫正的方法包括180度展开、360度展开、PTZ展开、维度展开、3D 展开等,本申请实施例对此不做具体限定。如图3所示,图3是本申请实施例提供的一种鱼眼矫正示意图。每个图中的左侧为鱼眼原图,右侧为矫正后的画面。图3中的(1)为180度展开,即将鱼眼原图的球面图片平分映射到两个平面上,使之看上去没有变形。图3中的(2)为360度展开,即将鱼眼原图的球面图片映射到一个平面上,使之看上去没有变形。图3中的(3)为PTZ展开,即将鱼眼原图的球面图片展开为人眼能接受的普通平铺图像。图3中的(4)的纬度展开,即将鱼眼原图的球面图片按照纬度映射进行展开。图3中的(5)为 3D展开,即将鱼眼原图的球面图片映射到三维面上。
此外,在C层进行渲染时,还可以将不同的视频画面显示在同一UI上。比如,图3中的(6)为4分屏,即将鱼眼原图的球面图片映射到4个平面上,然后同时显示这四个画面。
对解码后的视频数据还可以进行标注信息显示,即将私有数据解析后将私有数据中携带的标注信息显示在用户界面UI上。如图4所示,图4是本申请实施例提供的一种标注信息示意图。图4中的(1)为标注框示意图,即在视频画面可以进行画框等操作。图4中的(2)为标注文本示意图,即在视频画面可以进行添加文字等操作。图4中的(3)为标注框示意图,即在视频画面上可以叠加另一视频画面。在C层直接进行了标注信息显示,不需要将标注信息传输给 web层后,再调用web层中的子程序对标注信息进行显示,从而减少了跨层传输数据的次数。前述的标注信息还可以称为智能信息。
需要说明的是,对音频数据或视频数据进行渲染展示时,在一种可能的实现方式中,显示子线程可以通过采样帧率或者PTS(Presentation Time Stamp,显示时间戳)进行流控。PTS是指一帧图像或音频的时间戳,也即是每帧图像或音频的播放时间,通过PTS进行流控是指按照每帧的播放时间进行播放。采样帧率是指按照单位时间的采样帧数来决定播放快慢,例如,若采样帧率为1 秒30帧,则1秒播放30帧的图像或音频。
若每帧的播放时间比较长的话,若基于采样帧率对视频数据进行播放,会造成视频加快播放的现象。而基于PTS对视频数据进行播放时,每个视频帧播放完之后才播放下一视频帧,使得视频播放画面自然流畅。
为了便于比较本申请实施例的技术方案和相关技术的技术方案,如图5所示,图5是本申请实施例提供的一种视频播放的架构图。参见图5,相关技术的视频播放架构图需要将数据多次从web层传输到C层,再将数据从C层调回 web层,从而多次跨层传输数据,消耗浏览器的性能和浪费内存。本申请实施例的视频播放架构图只需要将web层接收到的数据传输给C层,然后在C层完成一系列的操作,从而减少了跨层传输的次数,减少了消耗。
综上所述,在本申请实施例中,浏览器的C层将待播放的视频的码流进行解码,并基于解码得到的音频数据和视频数据,在用户接口UI界面上进行渲染播放。也就是说,当C层接收web层发送的待播放的视频的码流后,在C层进行解码并渲染,并不需要将解码后的音频数据和视频数据传输给web层,再从 web层调用基础库进行渲染,从而减少了跨层传输数据的次数,从而提高了浏览器的性能,减少了消耗。
图6是本申请实施例提供的一种视频播放装置的结构示意图。如图5所示,该视频播放装置800可以包括如下几个模块。
装置部署在浏览器中网页web引擎中,web引擎包括web层和C层,web 层的运行语言为JS语言,C层的运行语言为C语言;
接收模块810,用于接收web层发送的待播放的音视频的码流,码流为web 层在接收到视频播放请求时发送的;
播放模块820,用于解码码流得到音频数据和视频数据,并基于音频数据和视频数据在浏览器的用户界面UI上渲染该音视频。
可选地,播放模块820用于:
创建数据处理子线程和显示子线程;
将码流发送至数据处理子线程,由数据处理子线程解码码流得到音频数据和视频数据;
将音频数据和视频数据发送至显示子线程,由显示子线程基于音频数据和视频数据在用户界面UI上渲染得到音视频。
可选地,C层配置有音频解码库和视频解码库,音频解码库的解码流程是基于业务需求配置的,视频解码库的解码流程是基于业务需求配置的;
播放模块820用于:
基于音频解码库解码码流中的音频裸流,得到音频数据;
基于视频解码库解码码流中的视频裸流,得到视频数据。
可选地,C层包括OpenAL和OpenGL ES;
播放模块820用于:
通过OpenAL渲染音频数据,通过OpenGL ES引擎在用户界面UI上渲染视频数据。
可选地,C层中配置有解析库,解析库的解析流程是基于业务需求配置的;
播放模块820还用于:
基于解析库解析码流,得到码流中的音频裸流和视频裸流;
解码所述音频裸流得到所述音频数据,解码所述视频裸流得到所述视频数据。
可选地,播放模块820还用于:
对渲染后的视频进行鱼眼校正,在UI上显示校正后的视频。
可选地,播放模块820还用于:
对渲染后的视频添加标注信息,在UI上显示添加标注信息后的视频。
综上所述,在本申请实施例中,浏览器的web引擎中的C层将待播放的视频的码流进行解码,并基于解码得到的音频数据和视频数据,在用户接口UI界面上进行渲染播放。也就是说,当C层接收web层发送的待播放的视频的码流后,在C层进行解码并渲染,并不需要将解码后的音频数据和视频数据传输给 web层,再从web层调用基础库进行渲染,从而减少了跨层传输数据的次数,从而提高了浏览器的性能,减少了消耗。
需要说明的是:上述实施例提供的视频播放装置在视频播放时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频播放装置与视频播放方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是本申请实施了提供的一种终端700的结构示意图。该终端700可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端700包括有:处理器701和存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA (Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701 可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括 AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的视频播放方法。
在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703 相连。具体地,外围设备包括:射频电路704、触摸显示屏705、摄像头706、音频电路707、定位组件708和电源709中的至少一种。
外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及 5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置终端700的前面板;在另一些实施例中,显示屏 705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及 VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路 704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
定位组件708用于定位终端700的当前地理位置,以实现导航或LBS (LocationBased Service,基于位置的服务)。定位组件708可以是基于美国的 GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源709用于为终端700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端700还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器 913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器911采集的重力加速度信号,控制触摸显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器911 还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测终端700的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端700的3D动作。处理器 701根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在终端700的侧边框和/或触摸显示屏705的下层。当压力传感器913设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在触摸显示屏705的下层时,由处理器701 根据用户对触摸显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器701根据指纹传感器914 采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器915采集的环境光强度,控制触摸显示屏705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏705的显示亮度;当环境光强度较低时,调低触摸显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件706的拍摄参数。
接近传感器916,也称距离传感器,通常设置在终端700的前面板。接近传感器916用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与终端700的正面之间的距离逐渐变小时,由处理器 701控制触摸显示屏705从亮屏状态切换为息屏状态;当接近传感器916检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制触摸显示屏 705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图7中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行上实施例提供的视频播放方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在终端上运行时,使得终端执行上述实施例提供的视频播放方法。
图8是本申请实施提供的一种服务器的结构示意图。该服务器可以是后台服务器集群中的服务器。具体来讲:
服务器800包括中央处理单元(CPU)801、包括随机存取存储器(RAM) 802和只读存储器(ROM)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。服务器800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。大容量存储设备807及其相关联的计算机可读介质为服务器800提供非易失性存储。也就是说,大容量存储设备807可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
根据本申请的各种实施例,服务器800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器800可以通过连接在系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。所述一个或者一个以上程序包含用于进行本申请实施例提供的视频播放方法。
本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述实施例提供的视频播放方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在服务器上运行时,使得服务器执行上述实施例提供的视频播放方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请实施例的较佳实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (9)

1.一种视频播放方法,其特征在于,所述方法由浏览器中网页web引擎执行,所述web引擎包括web层和C层,所述web层的运行语言为JS语言,所述C层的运行语言为C语言,所述浏览器为支持WebAssembly的浏览器,所述web层用来和所述浏览器的用户界面UI进行信息的交互、接收视频采集设备发送的待播放的视频的码流和加载WebAssembly代码,所述C层用于底层开发,所述C层包括开发音频库OpenAL和开发图像库OpenGL ES;
所述方法包括:
所述C层接收所述web层发送的待播放的音视频的码流,所述码流为所述web层在接收到视频播放请求时发送的;
所述C层解码所述码流得到音频数据和视频数据,并通过所述OpenAL渲染所述音频数据,通过所述OpenGL ES在所述UI上渲染所述视频数据。
2.如权利要求1所述的方法,其特征在于,所述C层解码所述码流得到音频数据和视频数据,并基于所述音频数据和所述视频数据在所述浏览器的用户界面UI上渲染得到所述音视频,包括:
所述C层创建数据处理子线程和显示子线程;
所述C层将所述码流发送至所述数据处理子线程,由所述数据处理子线程解码所述码流得到所述音频数据和所述视频数据;
所述C层将所述音频数据和所述视频数据发送至所述显示子线程,由所述显示子线程基于所述音频数据和所述视频数据在所述UI上渲染得到所述音视频。
3.如权利要求1所述的方法,其特征在于,所述C层中配置有解析库,所述解析库的解析流程是基于业务需求配置的;
所述C层解码所述码流得到音频数据和视频数据,所述方法还包括:
所述C层基于解析库解析所述码流,得到所述码流中的音频裸流和视频裸流;
所述C层解码所述音频裸流得到所述音频数据,所述C层解码所述视频裸流得到所述视频数据。
4.如权利要求1所述的方法,其特征在于,所述C层配置有音频解码库和视频解码库,所述音频解码库的解码流程是基于业务需求配置的,所述视频解码库的解码流程是基于业务需求配置的;
所述C层解码所述码流得到音频数据和视频数据,包括:
所述C层基于音频解码库解码所述码流中的音频裸流,得到所述音频数据;
所述C层基于视频解码库解码所述码流中的视频裸流,得到所述视频数据。
5.如权利要求1所述的方法,其特征在于,基于所述音频数据和所述视频数据在所述浏览器的用户界面UI上渲染得到所述音视频之后,所述方法还包括:
所述C层对渲染后的视频进行鱼眼校正,在所述UI上显示校正后的视频。
6.如权利要求1所述的方法,其特征在于,基于所述音频数据和所述视频数据在所述浏览器的用户界面UI上渲染得到所述音视频之后,所述方法还包括:
所述C层对渲染后的视频添加标注信息,在所述UI上显示添加标注信息后的视频。
7.一种视频播放装置,其特征在于,所述装置部署在浏览器中网页web引擎中,所述web引擎包括web层和C层,所述web层的运行语言为JS语言,所述C层的运行语言为C语言,所述浏览器为支持WebAssembly的浏览器,所述web层用来和所述浏览器的用户界面UI进行信息的交互、接收视频采集设备发送的待播放的视频的码流和加载WebAssembly代码,所述C层用于底层开发,所述C层包括开发音频库OpenAL和开发图像库OpenGL ES;
所述装置包括:
接收模块,用于接收所述web层发送的待播放的音视频的码流,所述码流为所述web层在接收到视频播放请求时发送的;
播放模块,用于解码所述码流得到音频数据和视频数据,并基于所述音频数据和所述视频数据在所述浏览器的用户界面UI上渲染所述音视频;
其中,所述播放模块,用于通过所述OpenAL渲染所述音频数据,通过所述OpenGL ES在所述UI上渲染所述视频数据。
8.一种计算机设备,其特征在于,所述计算机设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述权利要求1至权利要求6中的任一项权利要求所述的方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述权利要求1至权利要求6中的任一项权利要求所述的方法的步骤。
CN202110462303.5A 2021-04-27 2021-04-27 视频播放方法、装置、计算机设备及可读存储介质 Active CN113225616B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110462303.5A CN113225616B (zh) 2021-04-27 2021-04-27 视频播放方法、装置、计算机设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110462303.5A CN113225616B (zh) 2021-04-27 2021-04-27 视频播放方法、装置、计算机设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN113225616A CN113225616A (zh) 2021-08-06
CN113225616B true CN113225616B (zh) 2022-11-15

Family

ID=77089300

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110462303.5A Active CN113225616B (zh) 2021-04-27 2021-04-27 视频播放方法、装置、计算机设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113225616B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115734011A (zh) * 2021-08-25 2023-03-03 上海擎感智能科技有限公司 视频数据的处理方法及视频播放系统
CN113885946A (zh) * 2021-09-18 2022-01-04 杭州海康威视数字技术股份有限公司 设备配置方法、装置、电子设备及机器可读存储介质
CN114390340A (zh) * 2021-12-30 2022-04-22 北京鸿合爱学教育科技有限公司 视频播放方法、装置和电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110198479A (zh) * 2019-05-24 2019-09-03 浪潮软件集团有限公司 一种基于webassembly的浏览器音视频解码播放方法
CN111641838A (zh) * 2020-05-13 2020-09-08 深圳市商汤科技有限公司 一种浏览器视频播放方法、装置以及计算机存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8294723B2 (en) * 2008-11-07 2012-10-23 Google Inc. Hardware-accelerated graphics for web applications using native code modules
CN102323882B (zh) * 2011-08-31 2014-03-12 北京华电万通科技有限公司 一种应用于Web3D的数据处理装置和方法
WO2013097163A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Selective hardware acceleration in video playback systems
CN103336816B (zh) * 2013-06-28 2017-02-08 广州市动景计算机科技有限公司 安卓系统上基于GPU实现的Canvas元素渲染方法及装置
US10207190B2 (en) * 2015-12-18 2019-02-19 Intel Corporation Technologies for native game experience in web rendering engine
CN109391800B (zh) * 2018-11-28 2024-03-19 华中科技大学 一种基于广电tvos智能机顶盒的智慧社区视频监控方法和系统
CN112560275B (zh) * 2020-12-22 2023-05-05 中设数字技术股份有限公司 一种二维三维实时联动在线图纸批注校审系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110198479A (zh) * 2019-05-24 2019-09-03 浪潮软件集团有限公司 一种基于webassembly的浏览器音视频解码播放方法
CN111641838A (zh) * 2020-05-13 2020-09-08 深圳市商汤科技有限公司 一种浏览器视频播放方法、装置以及计算机存储介质

Also Published As

Publication number Publication date
CN113225616A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN110572722B (zh) 视频剪辑方法、装置、设备及可读存储介质
EP4224831A1 (en) Image processing method and electronic device
CN109359262B (zh) 动画播放方法、装置、终端及存储介质
CN113225616B (zh) 视频播放方法、装置、计算机设备及可读存储介质
CN108401124B (zh) 视频录制的方法和装置
CN109559270B (zh) 一种图像处理方法及电子设备
CN110708596A (zh) 生成视频的方法、装置、电子设备及可读存储介质
CN109191549B (zh) 显示动画的方法及装置
CN112929687A (zh) 基于直播视频的互动方法、装置、设备及存储介质
CN110493626B (zh) 视频数据处理方法及装置
WO2022105445A1 (zh) 基于浏览器的应用投屏方法及相关装置
CN108769738B (zh) 视频处理方法、装置、计算机设备和存储介质
CN111752666A (zh) 窗口显示方法、装置和终端
CN111010588B (zh) 直播处理方法、装置、存储介质及设备
CN113409427B (zh) 动画播放方法、装置、电子设备及计算机可读存储介质
CN108717365B (zh) 在应用程序中执行功能的方法和装置
CN112004041B (zh) 视频录制方法、装置、终端及存储介质
CN110662105A (zh) 动画文件的生成方法、装置及存储介质
CN113867848A (zh) 图形接口的调用方法、装置、设备及可读存储介质
CN108734662B (zh) 显示图标的方法和装置
CN108289237B (zh) 播放动态图片的方法、装置、终端及计算机可读存储介质
CN112257006A (zh) 页面信息的配置方法、装置、设备及计算机可读存储介质
CN111083554A (zh) 直播礼物显示的方法和装置
CN110889060A (zh) 网页显示方法、装置、计算机设备及存储介质
CN108492339B (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