CN114390340A - 视频播放方法、装置和电子设备 - Google Patents

视频播放方法、装置和电子设备 Download PDF

Info

Publication number
CN114390340A
CN114390340A CN202111667167.XA CN202111667167A CN114390340A CN 114390340 A CN114390340 A CN 114390340A CN 202111667167 A CN202111667167 A CN 202111667167A CN 114390340 A CN114390340 A CN 114390340A
Authority
CN
China
Prior art keywords
video
rendering
video data
audio
data
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.)
Pending
Application number
CN202111667167.XA
Other languages
English (en)
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.)
Beijing Honghe Aixue Education Technology Co ltd
Original Assignee
Beijing Honghe Aixue Education 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 Beijing Honghe Aixue Education Technology Co ltd filed Critical Beijing Honghe Aixue Education Technology Co ltd
Priority to CN202111667167.XA priority Critical patent/CN114390340A/zh
Publication of CN114390340A publication Critical patent/CN114390340A/zh
Pending legal-status Critical Current

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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本申请公开了一种视频播放方法、装置及电子设备,涉及视频处理技术领域。所述方法包括:通过所述浏览器中的网络模块获取音视频数据,并对所述音视频数据进行解码,得到视频数据和音频数据,其中,所述网络模块为设置于所述浏览器的渲染引擎之外的模块;将所述视频数据和所述音频数据传输至渲染引擎,并通过所述渲染引擎对所述视频数据进行渲染,以及通过所述渲染引擎对所述音频数据进行渲染,以使所述浏览器播放所述音视频数据对应的视频。本申请实施例提供的视频播放方法、装置及电子设备,能够提升视频播放的稳定性。

Description

视频播放方法、装置和电子设备
技术领域
本申请属于视频处理技术领域,具体涉及一种视频播放方法、装置和电子设备。
背景技术
随着视频技术的飞速发展,通过实时流传输协议(Real Time StreamingProtocol,RTSP)实现视频直播已越来越普及。其中,用户可以通过浏览器观看直播视频,其主要是通过在浏览器中安装flash插件,并由flash插件播放直播视频。但是,目前在浏览器通过flash插件播放直播视频的过程中,容易出现视频画面卡顿的问题,从而导致直播视频的播放稳定性降低。
发明内容
本申请实施例的目的是提供一种视频播放方法、装置和电子设备,能够解决直播视频的播放稳定性低的问题。
第一方面,本申请实施例提供了一种视频播放方法,包括:
通过浏览器中的网络模块获取音视频数据,并对所述音视频数据进行解码,得到视频数据和音频数据,其中,所述网络模块为设置于所述浏览器的渲染引擎之外的模块;
将所述视频数据和所述音频数据传输至渲染引擎,并通过所述渲染引擎对所述视频数据进行渲染,以及通过所述渲染引擎对所述音频数据进行渲染,以使所述浏览器播放所述音视频数据对应的视频。
第二方面,本申请实施例提供了一种视频播放装置,包括:
音视频数据解码模块,用于通过浏览器中的网络模块获取音视频数据,并对所述音视频数据进行解码,得到视频数据和音频数据,其中,所述网络模块为设置于所述浏览器的渲染引擎之外的模块;
渲染模块,用于将所述视频数据和所述音频数据传输至渲染引擎,并通过所述渲染引擎对所述视频数据进行渲染,以及通过所述渲染引擎对所述音频数据进行渲染,以使所述浏览器播放所述音视频数据对应的视频。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
在本申请实施例中,通过浏览器中设置于渲染引擎之外的网络模块,可以获取音视频数据,并将视频数据和音频数据传输至渲染引擎,并通过渲染引擎对视频数据进行渲染,以及通过渲染引擎对音频数据进行渲染,以使浏览器播放音视频数据对应的视频。如此,在实现视频播放的过程中,无需在浏览器中安装flash插件,而是可以通过浏览器中的网络模块进行音视频数据的获取以及解码,提升浏览器在视频播放过程中的音视频数据的处理速度,从而降低直播视频播放过程中的延时,避免出现视频画面卡顿的情况,进而提升直播视频播放的稳定性。
附图说明
图1是本申请提供的视频播放方法的实施例的流程示意图;
图2是本申请提供的视频播放装置的实施例的结构示意图;
图3是本申请提供的电子设备的实施例的结构示意图;
图4是本申请提供的电子设备的实施例的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的视频播放方法进行详细地说明。
请参见图1,是本申请实施例提供的视频播放方法的流程示意图,该视频播放方法应用于包括浏览器的电子设备。如图1所示,该视频播放方法至少包括如下步骤101至步骤103。
步骤101、通过所述浏览器中的网络模块获取音视频数据,对所述音视频数据进行解码,得到视频数据和音频数据,其中,所述网络模块为设置于所述浏览器的渲染引擎之外的模块。
步骤102、将所述视频数据和所述音频数据传输至渲染引擎,并通过所述渲染引擎对所述视频数据进行渲染,以及通过所述渲染引擎对所述音频数据进行渲染,以使所述浏览器播放所述音视频数据对应的视频。
本申请实施例中,通过浏览器中设置于渲染引擎之外的网络模块,可以获取音视频数据,并将视频数据和音频数据传输至渲染引擎,并通过渲染引擎对视频数据进行渲染,以及通过渲染引擎对音频数据进行渲染,以使浏览器播放音视频数据对应的视频。如此,在实现视频播放的过程中,无需在浏览器中安装flash插件,而是可以通过浏览器中的网络模块进行音视频数据的获取以及解码,提升浏览器在视频播放过程中的音视频数据的处理速度,从而降低直播视频播放过程中的延时,避免出现视频画面卡顿的情况,进而提升直播视频播放的稳定性。
在上述步骤101中,在电子设备运行浏览器以供用户观看视频的过程中,电子设备可以通过浏览器中的设置于其渲染引擎之外的网络模块,从服务器中获取音视频数据,并对获取的音视频数据进行解码。
本申请实施例中,上述网络模块可以是任意的设置于浏览器的渲染之外,且能够实现获取音视频数据并对音视频数据进行解码的模块。具体地,上述网络模块可以是WebAssembly模块。
其中,上述网络模块是预先设置于上述浏览器中,且在浏览器播放视频的过程中,浏览器可以通过其渲染引擎调用该网络模块,即在上述步骤101之前,可以是在上述浏览器中编译上述网络模块。
例如,可以是在浏览器中编译WebAssembly库生成.wasm,且在视频播放过程中,浏览器的渲染引擎可以翻译该.wasm文件,将WebAssembly库加载至内存中,以实现浏览器渲染引擎对WebAssembly模块的调用。
需要说明的是,上述在浏览器中配置WebAssembly模块,可以是采用任意的编程语言编写该WebAssembly模块,例如,可以是采用Java语言等。
或者,上述WebAssembly模块也可以是采用Rust语言编写,从而不仅可以保证WebAssembly模块的原生性能,还可以提升WebAssembly模块的可靠性,进而提升视频播放的稳定性。
当然,上述网络模块可以是编译为一个整体,或者,该网络模块也可以是编译为多个部分,且多个部分之间相互连接。
具体地,网络模块可以为WebAssembly模块,且所述WebAssembly模块可以包括数据拉取子模块和子解码模块,所述解码子模块与所述数据拉取子模块连接。
上述通过浏览器中的网络模块从服务器获取音视频数据,并对所述音视频数据进行解码,得到视频数据和音频数据,可以包括:
通过所述数据拉取子模块从服务器获取音视频数据;
通过所述解码子模块对所述音视频数据进行解码,得到视频数据和音频数据。
基于此,通过设置上述WebAssembly模块包括数据拉取子模块和解码子模块,从而可以通过两个独立的子模块分别执行音视频数据的拉取和解码,从而可以降低WebAssembly模块运行中的出错率。
另外,上述音视频数据可以是点播视频的数据,或者,上述音视频数据也可以是直播视频的数据。
本申请实施例中,上述通过上述网络模块获取音视频数据,可以是浏览器中配置有网络模块的下载线程,且网络模块通过其下载线程从服务器中拉取上述音视频数据,并将该音视频数据存储至缓存区中,再在解码过程中从该缓存区中获取音视频数据。
需要说明的是,上述网络模块将从服务器中拉取的音视频数据存储至缓存区,可以是将拉取的音视频数据存储至浏览器的公共缓存区中,例如,可以是将拉取的视频数据缓存至渲染引擎的缓存区中,等等。
在一些实施方式中,上述浏览器中配置有所述网络模块的缓存区。
上述通过所述浏览器中的网络模块获取音视频数据,可以包括:
通过所述网络模块的下载线程从服务器中拉取音视频数据并缓存至所述网络模块的缓存区中;
从所述网络模块的缓存区中获取所述音视频数据。
基于此,通过在浏览器中配置网络模块的缓存区,且网络模块先将音视频数据拉取至其缓存区中进行缓存,再在解码过程中直接从其缓存区中获取音视频数据,从而可以提升音视频数据解码中的处理速度,进一步降低出现视频画面卡顿的情况,进而提升直播视频播放的稳定性。
本申请实施例中,上述音视频数据可以是通过任意编码方式进行编码的音视频数据。具体地,上述音视频数据为采用H.264编码的音视频数据。当然,上述音视频数据也可以是采用其他编码方式编码的音视频数据,例如,H.265等,在此并不进行限定。
另外,上述音视频数据可以是直接采用实时流传输协议(Real Time StreamingProtocol,RTSP)的音视频数据。
或者,在一些实施方式中,上述音视频数据为采用Http-flv协议的数据,从而提升网络模块的解码效率,进一步提升降低出现视频画面卡顿的情况,进而提升直播视频播放的稳定性。
本申请实施例中,在上述网络模块获取到音视频数据之后,电子设备可以再通过网络模块对音视频数据进行解码,得到视频数据和音频数据。
示例性地,在上述音视频数据为采用H.264编码的音视频数据的情况下,可以是上述网络模块中配置有H.264视频解码器,电子设备通过网络模块中的H.264视频解码器对该音视频数据进行解码,得到上述视频数据和音频数据。
需要说明的是,上述视频数据可以是YUV格式的视频数据,或者,也可以是通过对YUV格式的视频数据进行转换,得到RGB格式的视频数据。另外,上述音频数据可以是脉冲编码调制(Pulse Code Modulation,PCM)等格式的音频数据,在此并不进行限定。
在上述步骤102中,在上述网络模块解码得到上述视频数据和音频数据之后,网络模块可以将视频数据和音频数据传输至渲染引擎,并通过渲染引擎对视频数据进行渲染,以及通过渲染引擎对音频数据进行渲染,以使浏览器播放音视频数据对应的视频,从而实现浏览器对与上述音视频数据对应的直播视频的播放。
需要说明的是,由于浏览器的渲染引擎对视频数据进行渲染的过程,以及浏览器的渲染引擎对音频数据进行渲染的过程均为本领域技术人员熟知,在此并不进行赘述。
另外,上述渲染引擎对输入的视频数据进行渲染,可以是该渲染引擎中仅配置有一种视频渲染模式,且渲染引擎一直采用该视频渲染模式对输入的视频数据进行渲染。
在一些实施方式中,渲染引擎配置有至少两种视频渲染模式,上述通过所述渲染引擎对所述视频数据进行渲染,包括:
通过所述渲染引擎采用目标视频渲染模式对所述视频数据进行渲染,其中,所述目标视频渲染模式为所述至少两种视频渲染模式中的任一种视频渲染模式。
基于此,通过在渲染引擎配置至少两种视频渲染模式,且在对视频数据渲染的过程中,可以选用至少两种视频渲染模式中的任一种视频渲染模式对视频数据进行渲染,从而提升渲染引擎渲染视频数据的灵活性。
其中,上述至少两种视频渲染模式可以包括开放式图形库(Open GraphicsLibrary,OpenGL)视频渲染模式和Canvas视频渲染模式等,当然,该至少两种视频渲染模式还可以包括其他视频渲染模式,在此并不进行限定。
另外,上述目标视频渲染模式可以是上述至少两种视频渲染模式中的任意一种视频渲染模式,即在对视频数据渲染过程中,渲染引擎可以采用上述至少两种视频渲染模式中的任意一种视频渲染模式进行渲染。
示例性地,在上渲染引擎配置有OpenGL视频渲染模式和Canvas视频渲染模式的情况下,若渲染引擎接收到WebAssembly模块输入的视频数据,该渲染引擎可以采用OpenGL视频渲染模式和Canvas视频渲染模式中的任意一种模式渲染接收到的视频数据。
在一些实施方式中,所述至少两种视频渲染模式包括OpenGL视频渲染模式和Canvas视频渲染模式;
所述通过渲染引擎采用目标视频渲染模式对所述视频数据进行渲染,包括:
在所述渲染引擎支持采用OpenGL视频渲染模式对所述视频数据进行渲染的情况下,通过所述渲染引擎采用OpenGL视频渲染模式对所述视频数据进行渲染;
在所述渲染引擎不支持采用OpenGL视频渲染模式对所述视频数据进行渲染的情况下,通过所述渲染引擎采用Canvas视频渲染模式对所述视频数据进行渲染。
基于此,在渲染引擎配置有上述至少两种视频渲染模式的情况下,渲染引擎可以优先采用OpenGL视频渲染模式渲染视频数据,从而可以提升视频渲染的质量。
本实施方式中,在上述网络模块向渲染引擎输出视频数据中会后,电子设备可以调用浏览器的应用程序接口(Application Programming Interface,API),以判断该浏览器的渲染引擎是否支持OpenGL视频渲染模式,若渲染引擎支持OpenGL视频渲染模式,则通过渲染引擎采用OpenGL视频渲染模式渲染视频数据;反之,则通过渲染引擎采用Canvas视频渲染模式渲染视频数据。
其中,在上述渲染引擎配置上述OpenGL视频渲染模式和Canvas视频渲染模式的情况下,上述渲染引擎是否支持OpenGL视频渲染模式,可以是根据用户预先配置的信息决定。例如,在接收到用户输入预设指示的情况下,可以设置渲染引擎不支持上述OpenGL视频渲染模式。
另外,上述判断浏览器的渲染引擎是否支持OpenGL视频渲染模式,可以是仅在网络模块首次向渲染引擎输出视频数据之后进行,而后续网络模块向渲染引擎输出视频数据之后,渲染引擎通过首次渲染中所采用的视频渲染模式进行渲染。当然,也可以是每次在网络模块向渲染引擎输出视频数据之后,均判断浏览器的渲染引擎是否支持OpenGL视频渲染模式,在此并不进行限定。
需要说明的是,在浏览器对视频数据和音频数据进行渲染的过程中,电子设备可以控制浏览器对视频数据和音频数据的时间戳进行同步,以保证视频播放质量。
需要说明的是,本申请实施例提供的视频播放方法,执行主体可以为视频播放装置,或者该视频播放装置中的用于执行视频播放方法的控制模块。本申请实施例中以视频播放装置执行视频播放方法为例,说明本申请实施例提供的视频播放装置。
请参见图2,是本申请实施例提供的视频播放装置的结构示意图。如图2所示,该视频播放200包括:
音视频数据解码模块201,用于通过浏览器中的网络模块获取音视频数据,并对所述音视频数据进行解码,得到视频数据和音频数据,其中,所述网络模块为设置于所述浏览器的渲染引擎之外的模块;
渲染模块202,用于将所述视频数据和所述音频数据传输至渲染引擎,并通过所述渲染引擎对所述视频数据进行渲染,以及通过所述渲染引擎对所述音频数据进行渲染,以使所述浏览器播放所述音视频数据对应的视频。
在一些实施方式中,所述渲染引擎配置有至少两种视频渲染模式,所述渲染模块,具体用于:
通过所述渲染引擎采用目标视频渲染模式对所述视频数据进行渲染,其中,所述目标视频渲染模式为所述至少两种视频渲染模式中的任一种视频渲染模式。。
在一些实施方式中,所述至少两种视频渲染模式包括OpenGL视频渲染模式和Canvas视频渲染模式;
所述视频数据渲染单元,包括:
第一视频数据渲染子单元,用于在所述渲染引擎支持采用OpenGL视频渲染模式对所述视频数据进行渲染的情况下,通过所述渲染引擎采用OpenGL视频渲染模式对所述视频数据进行渲染;
第二视频数据渲染子单元,用于在所述渲染引擎不支持采用OpenGL视频渲染模式对所述视频数据进行渲染的情况下,通过所述渲染引擎采用Canvas视频渲染模式对所述视频数据进行渲染。
在一些实施方式中,所述浏览器中配置有所述网络模块的缓存区;
所述音视频数据获取模块,包括:
数据缓存单元,用于通过所述网络模块的下载线程从服务器中拉取音视频数据并缓存至所述网络模块的缓存区中;
数据获取单元,用于从所述网络模块的缓存区中获取所述音视频数据。
在一些实施方式中,所述网络模块为网页组件WebAssembly模块,且所述WebAssembly模块包括数据拉取模块和解码模块,所述解码模块与所述数据拉取模块连接。
所述音视频数据,并对所述音视频数据解码模块,具体可以用于:
通过所述数据拉取模块从服务器获取音视频数据;以及
通过所述解码模块对所述音视频数据进行解码,得到视频数据和音频数据。
本申请实施例中的视频播放装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的视频播放装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的视频播放装置能够实现图1的方法实施例实现的各个过程并达到相同的有益效果,为避免重复,这里不再赘述。
可选地,如图3所示,本申请实施例还提供一种电子设备300,包括处理器301,存储器302,存储在存储器302上并可在所述处理器301上运行的程序或指令,该程序或指令被处理器301执行时实现上述视频播放方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。
图4为实现本申请实施例的一种电子设备的硬件结构示意图。
该电子设备400包括但不限于:射频单元401、网络模块402、音频输出单元403、输入单元404、传感器405、显示单元406、用户输入单元407、接口单元408、存储器409、以及处理器410等部件。该电子设备400设置有浏览器。
本领域技术人员可以理解,电子设备400还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器410逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图4中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
其中,处理器410,用于:
通过浏览器中的网络模块获取音视频数据,并对所述音视频数据进行解码,得到视频数据和音频数据,其中,所述网络模块为设置于所述浏览器的渲染引擎之外的模块;
将所述视频数据和所述音频数据传输至渲染引擎,并通过所述渲染引擎对所述视频数据进行渲染,以及通过所述渲染引擎对所述音频数据进行渲染,以使所述浏览器播放所述音视频数据对应的视频。
在一些实施方式中,所述渲染引擎配置有至少两种视频渲染模式,处理器410,具体用于:
通过所述渲染引擎采用目标视频渲染模式对所述视频数据进行渲染,其中,所述目标视频渲染模式为所述至少两种视频渲染模式中的任一种视频渲染模式。
在一些实施方式中,所述至少两种视频渲染模式包括OpenGL视频渲染模式和Canvas视频渲染模式;
处理器410,具体用于:
在所述渲染引擎支持采用OpenGL视频渲染模式对所述视频数据进行渲染的情况下,通过所述渲染引擎采用OpenGL视频渲染模式对所述视频数据进行渲染;
在所述渲染引擎不支持采用OpenGL视频渲染模式对所述视频数据进行渲染的情况下,通过所述渲染引擎采用Canvas视频渲染模式对所述视频数据进行渲染。
在一些实施方式中,所述浏览器中配置有所述网络模块的缓存区。
处理器410,具体可以用于:
通过所述网络模块的下载线程从服务器中拉取音视频数据并缓存至所述网络模块的缓存区中;
从所述网络模块的缓存区中获取所述音视频数据。
在一些实施方式中,所述网络模块为网页组件WebAssembly模块,且所述WebAssembly模块包括数据拉取模块和解码模块,所述解码模块与所述数据拉取模块连接。
处理器410,具体可以用于:
通过所述数据拉取模块从服务器获取音视频数据;以及
通过所述解码模块对所述音视频数据进行解码,得到视频数据和音频数据。
应理解的是,本申请实施例中,输入单元404可以包括图形处理器(GraphicsProcessing Unit,GPU)4041和麦克风4042,图形处理器4041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元406可包括显示面板4061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板4061。用户输入单元407包括触控面板4071以及其他输入设备4072。触控面板4071,也称为触摸屏。触控面板4071可包括触摸检测装置和触摸控制器两个部分。其他输入设备4072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器409可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器410可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器410中。
本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述视频播放方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述视频播放方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (12)

1.一种视频播放方法,其特征在于,所述方法包括:
通过浏览器中的网络模块获取音视频数据,并对所述音视频数据进行解码,得到视频数据和音频数据,其中,所述网络模块为设置于所述浏览器的渲染引擎之外的模块;
将所述视频数据和所述音频数据传输至渲染引擎,并通过所述渲染引擎对所述视频数据进行渲染,以及通过所述渲染引擎对所述音频数据进行渲染,以使所述浏览器播放所述音视频数据对应的视频。
2.根据权利要求1所述的方法,其特征在于,所述渲染引擎配置有至少两种视频渲染模式,
所述通过所述渲染引擎对所述视频数据进行渲染,包括:
通过所述渲染引擎采用目标视频渲染模式对所述视频数据进行渲染,其中,所述目标视频渲染模式为所述至少两种视频渲染模式中的任一种视频渲染模式。
3.根据权利要求2所述的方法,其特征在于,所述至少两种视频渲染模式包括OpenGL视频渲染模式和Canvas视频渲染模式;
所述通过所述渲染引擎采用目标视频渲染模式对所述视频数据进行渲染,包括:
在所述渲染引擎支持采用OpenGL视频渲染模式对所述视频数据进行渲染的情况下,通过所述渲染引擎采用OpenGL视频渲染模式对所述视频数据进行渲染;
在所述渲染引擎不支持采用OpenGL视频渲染模式对所述视频数据进行渲染的情况下,通过所述渲染引擎采用Canvas视频渲染模式对所述视频数据进行渲染。
4.根据权利要求1所述的方法,其特征在于,所述浏览器中配置有所述网络模块的缓存区;
所述通过所述浏览器中的网络模块获取音视频数据,包括:
通过所述网络模块的下载线程从服务器中拉取音视频数据并缓存至所述网络模块的缓存区中;
从所述网络模块的缓存区中获取所述音视频数据。
5.根据权利要求1所述的方法,其特征在于,所述网络模块为网页组件WebAssembly模块,且所述WebAssembly模块包括数据拉取模块和解码模块,所述解码模块与所述数据拉取模块连接,
所述通过浏览器中的网络模块获取音视频数据,并对所述音视频数据进行解码,得到视频数据和音频数据,包括:
通过所述数据拉取模块从服务器获取音视频数据;以及
通过所述解码模块对所述音视频数据进行解码,得到视频数据和音频数据。
6.一种视频播放装置,其特征在于,所述装置包括:
音视频数据解码模块,用于通过浏览器中的网络模块获取音视频数据,并对所述音视频数据进行解码,得到视频数据和音频数据,其中,所述网络模块为设置于所述浏览器的渲染引擎之外的模块;
渲染模块,用于将所述视频数据和所述音频数据传输至渲染引擎,并通过所述渲染引擎对所述视频数据进行渲染,以及通过所述渲染引擎对所述音频数据进行渲染,以使所述浏览器播放所述音视频数据对应的视频。
7.根据权利要求6所述的装置,其特征在于,所述渲染引擎配置有至少两种视频渲染模式,
所述渲染模块,具体用于:
通过所述渲染引擎采用目标视频渲染模式对所述视频数据进行渲染,其中,所述目标视频渲染模式为所述至少两种视频渲染模式中的任一种视频渲染模式。
8.根据权利要求7所述的装置,其特征在于,所述至少两种视频渲染模式包括OpenGL视频渲染模式和Canvas视频渲染模式;
所述渲染模块,包括:
第一视频数据渲染单元,用于在所述渲染引擎支持采用OpenGL视频渲染模式对所述视频数据进行渲染的情况下,通过所述渲染引擎采用OpenGL视频渲染模式对所述视频数据进行渲染;
第二视频数据渲染单元,用于在所述渲染引擎不支持采用OpenGL视频渲染模式对所述视频数据进行渲染的情况下,通过所述渲染引擎采用Canvas视频渲染模式对所述视频数据进行渲染。
9.根据权利要求6所述的装置,其特征在于,所述浏览器中配置有所述网络模块的缓存区;
所述音视频数据获取模块,包括:
数据缓存单元,用于通过所述网络模块的下载线程从服务器中拉取音视频数据并缓存至所述网络模块的缓存区中;
数据获取单元,用于从所述网络模块的缓存区中获取所述音视频数据。
10.根据权利要求6所述的装置,其特征在于,所述网络模块为网页组件WebAssembly模块,且所述WebAssembly模块包括数据拉取模块和解码模块,所述解码模块与所述数据拉取模块连接,
所述音视频数据,并对所述音视频数据解码模块,具体用于:
通过所述数据拉取模块从服务器获取音视频数据;以及
通过所述解码模块对所述音视频数据进行解码,得到视频数据和音频数据。
11.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-5任一项所述的视频播放方法的步骤。
12.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-5任一项所述的视频播放方法的步骤。
CN202111667167.XA 2021-12-30 2021-12-30 视频播放方法、装置和电子设备 Pending CN114390340A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111667167.XA CN114390340A (zh) 2021-12-30 2021-12-30 视频播放方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111667167.XA CN114390340A (zh) 2021-12-30 2021-12-30 视频播放方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN114390340A true CN114390340A (zh) 2022-04-22

Family

ID=81200103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111667167.XA Pending CN114390340A (zh) 2021-12-30 2021-12-30 视频播放方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN114390340A (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107277612A (zh) * 2016-04-05 2017-10-20 韩华泰科株式会社 用于在web浏览器上播放媒体流的方法和设备
US20180213301A1 (en) * 2017-01-20 2018-07-26 Hanwha Techwin Co., Ltd. Media playback apparatus and method for synchronously reproducing video and audio on a web browser
CN108337528A (zh) * 2018-01-17 2018-07-27 浙江大华技术股份有限公司 一种预览视频的方法及设备
CN110620959A (zh) * 2018-06-20 2019-12-27 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置、电子设备、系统及存储介质
CN110708609A (zh) * 2019-08-05 2020-01-17 青岛海信传媒网络技术有限公司 一种视频播放方法及装置
CN111083167A (zh) * 2019-12-31 2020-04-28 深圳市思博慧数据科技有限公司 一种跨浏览器的h.265视频播放方法
CN112261377A (zh) * 2020-10-23 2021-01-22 青岛以萨数据技术有限公司 web版监控视频播放方法、电子设备及存储介质
CN112468883A (zh) * 2019-09-09 2021-03-09 浙江宇视科技有限公司 视频流播放方法及视频流播放设备
CN112804542A (zh) * 2020-12-31 2021-05-14 武汉兴图新科电子股份有限公司 应用于云视频融合平台的浏览器点播视音频的方法及终端
CN113162887A (zh) * 2020-01-07 2021-07-23 北京奇虎科技有限公司 浏览器交互方法、装置、服务器、用户终端和存储介质
CN113225616A (zh) * 2021-04-27 2021-08-06 杭州海康威视数字技术股份有限公司 视频播放方法、装置、计算机设备及可读存储介质
CN113727184A (zh) * 2020-05-25 2021-11-30 京东城市(北京)数字科技有限公司 视频播放方法、装置、系统、存储介质以及电子设备

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107277612A (zh) * 2016-04-05 2017-10-20 韩华泰科株式会社 用于在web浏览器上播放媒体流的方法和设备
US20180213301A1 (en) * 2017-01-20 2018-07-26 Hanwha Techwin Co., Ltd. Media playback apparatus and method for synchronously reproducing video and audio on a web browser
CN108337528A (zh) * 2018-01-17 2018-07-27 浙江大华技术股份有限公司 一种预览视频的方法及设备
CN110620959A (zh) * 2018-06-20 2019-12-27 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置、电子设备、系统及存储介质
CN110708609A (zh) * 2019-08-05 2020-01-17 青岛海信传媒网络技术有限公司 一种视频播放方法及装置
CN112468883A (zh) * 2019-09-09 2021-03-09 浙江宇视科技有限公司 视频流播放方法及视频流播放设备
CN111083167A (zh) * 2019-12-31 2020-04-28 深圳市思博慧数据科技有限公司 一种跨浏览器的h.265视频播放方法
CN113162887A (zh) * 2020-01-07 2021-07-23 北京奇虎科技有限公司 浏览器交互方法、装置、服务器、用户终端和存储介质
CN113727184A (zh) * 2020-05-25 2021-11-30 京东城市(北京)数字科技有限公司 视频播放方法、装置、系统、存储介质以及电子设备
CN112261377A (zh) * 2020-10-23 2021-01-22 青岛以萨数据技术有限公司 web版监控视频播放方法、电子设备及存储介质
CN112804542A (zh) * 2020-12-31 2021-05-14 武汉兴图新科电子股份有限公司 应用于云视频融合平台的浏览器点播视音频的方法及终端
CN113225616A (zh) * 2021-04-27 2021-08-06 杭州海康威视数字技术股份有限公司 视频播放方法、装置、计算机设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN109640188B (zh) 视频预览方法、装置、电子设备及计算机可读存储介质
US8789105B2 (en) Methods and apparatus for delivering content from a television channel
US10368121B2 (en) System and method for collecting data
US20230362430A1 (en) Techniques for managing generation and rendering of user interfaces on client devices
US10225613B2 (en) Method and apparatus for video playing processing and television
US10271105B2 (en) Method for playing video, client, and computer storage medium
RU2619089C2 (ru) Способ и устройство для воспроизведения множества видео
US9226018B1 (en) Methods and apparatus for rendering a video on a mobile device utilizing a local server
CN112367543A (zh) 显示设备、移动终端、投屏方法及投屏系统
CN102075800A (zh) 基于交互式个人电视机顶盒文件播放控制方法及系统
CN113490042B (zh) 一种显示设备以及搜台方法
CN114073098A (zh) 流媒体同步方法及显示设备
CN109753262B (zh) 帧显示处理方法、装置、终端设备及存储介质
CN114302176A (zh) 视频播放方法及装置
CN111935510B (zh) 一种双浏览器应用加载方法及显示设备
US10021162B2 (en) Cloud streaming service system, and method and apparatus for providing cloud streaming service
KR102208624B1 (ko) 전자 장치 및 이의 컨텐츠 제공 방법
KR20110054932A (ko) 비디오 재생 장치 및 방법
CN114390340A (zh) 视频播放方法、装置和电子设备
US20200168215A1 (en) Multimedia device for processing voice command
US8745257B1 (en) Methods and apparatus for rendering video advertising on a mobile device
KR20150085321A (ko) 사용자 기기의 도움말 제공 방법 및 그에 관한 장치
KR102459197B1 (ko) 프리젠테이션 커스터마이제이션 및 인터랙티비티를 위한 방법 및 장치
CN108174308B (zh) 视频播放方法、视频播放装置、存储介质及电子设备
CN112437352A (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