CN115460183A - 基于浏览器的流媒体数据播放方法、装置及相关设备 - Google Patents

基于浏览器的流媒体数据播放方法、装置及相关设备 Download PDF

Info

Publication number
CN115460183A
CN115460183A CN202110631983.9A CN202110631983A CN115460183A CN 115460183 A CN115460183 A CN 115460183A CN 202110631983 A CN202110631983 A CN 202110631983A CN 115460183 A CN115460183 A CN 115460183A
Authority
CN
China
Prior art keywords
streaming media
media data
browser
target
playing
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
CN202110631983.9A
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.)
China Mobile Communications Group Co Ltd
China Mobile IoT Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile IoT 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 China Mobile Communications Group Co Ltd, China Mobile IoT Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202110631983.9A priority Critical patent/CN115460183A/zh
Publication of CN115460183A publication Critical patent/CN115460183A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供一种基于浏览器的流媒体数据播放方法、装置及相关设备。其中,该方法包括:在当前待播放的流媒体数据满足第一条件的情况下,将流媒体数据封装成目标文件格式并通过浏览器的目标接口播放流媒体数据;在当前待播放的流媒体数据满足第二条件的情况下,根据浏览器的特性对应的解码方式对流媒体数据中的视频数据进行解码,以及将流媒体数据中的音频数据封装成目标文件格式,并通过浏览器播放流媒体数据解码后的视频数据,以及通过浏览器的目标接口播放封装后的音频数据。

Description

基于浏览器的流媒体数据播放方法、装置及相关设备
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种基于浏览器的流媒体数据播放方法、装置及相关设备。
背景技术
随着直播、安防监控行业的火热,在客户端观看流媒体的需求与日俱增,其中,浏览器作为浏览器/服务器模式(Browser/Server,B/S)模式的基石,在众多类型的客户端中有着重要的地位,如何在浏览器web(广域网)端上播放音视频流,和播放多路音视频流成为了研究热点,对web播放器的效率性能提出了较高的要求。web端从服务器收到的流媒体数据是经过编码压缩后的数据,需要解码还原之后,才可以渲染播放,解码可以分为两种途径,一是软件解码,即利用中央处理器(Central Processing Unit,CPU)执行解码算法,另一种是硬件解码,即利用计算机的其他硬件,一般为GPU,进行解码,硬解效率比软解效率要高。当前在网络上传输的视频,其编解码算法以H264为主,同时H265也越来越多地被使用,相较于H264,H265算法的压缩率更高,编码相同的视频后传输,占用的带宽更少,但H265解码复杂度更高,需要更多的计算资源。主流浏览器对H264支持良好,提供了H264的硬解接口,而较少有浏览器对H265有硬解支持,则对于当前流媒体的编解码格式为H265,但浏览器不支持H265硬解的情况下,则无法对该H265进行解码并播放。
发明内容
本申请实施例提供一种基于浏览器的流媒体数据播放方法、装置及相关设备,以解决在浏览器不支持H265硬解的情况下,无法对该H265进行解码并播放的问题。
为解决上述问题,本申请是这样实现的:
第一方面,本申请实施例提供了一种基于浏览器的流媒体数据播放方法,所述方法包括:在当前待播放的流媒体数据满足第一条件的情况下,将所述流媒体数据封装成目标文件格式并通过浏览器的目标接口播放所述流媒体数据;在当前待播放的流媒体数据满足第二条件的情况下,根据所述浏览器的特性对应的解码方式对所述流媒体数据中的视频数据进行解码,以及将所述流媒体数据中的音频数据封装成目标文件格式,并通过所述浏览器播放所述流媒体数据解码后的视频数据,以及通过所述浏览器的目标接口播放封装后的音频数据;其中,所述第一条件包括以下之一:所述流媒体数据的编码格式为非目标编码格式、所述流媒体数据的编码格式为所述目标编码格式且所述浏览器支持所述目标编码格式的硬解;所述第二条件包括:所述流媒体数据的编码格式为所述目标编码格式且所述浏览器不支持所述目标编码格式的硬解。
第二方面,本申请实施例提供了一种基于浏览器的流媒体数据播放装置,所述装置包括:第一处理模块,用于在当前待播放的流媒体数据满足第一条件的情况下,将所述流媒体数据封装成目标文件格式并通过浏览器的目标接口播放所述流媒体数据;第二处理模块,用于在当前待播放的流媒体数据满足第二条件的情况下,根据所述浏览器的特性对应的解码方式对所述流媒体数据中的视频数据进行解码,以及将所述流媒体数据中的音频数据封装成目标文件格式,并通过所述浏览器播放所述流媒体数据解码后的视频数据,以及通过所述浏览器的目标接口播放封装后的音频数据;其中,所述第一条件包括以下之一:所述流媒体数据的编码格式为非目标编码格式、所述流媒体数据的编码格式为所述目标编码格式且所述浏览器支持所述目标编码格式的硬解;所述第二条件包括:所述流媒体数据的编码格式为所述目标编码格式且所述浏览器不支持所述目标编码格式的硬解。
第三方面,本申请实施例还提供一种电子设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器,用于读取存储器中的程序实现如前述第一方面所述方法中的步骤。
第四方面,本申请实施例还提供一种可读存储介质,用于存储程序,所述程序被处理器执行时实现如前述第一方面所述方法中的步骤。
在本申请实施例中,在流媒体数据满足不同的条件的情况,即流媒体数据的编码格式是否目标编码格式(如H265),以及浏览器是否支持对该目标编码格式的硬解,从而采用不同的播放方式,以保证流媒体数据能够顺利播放,从而解决了现有技术中在浏览器不支持H265硬解的情况下,无法对该H265进行解码并播放的问题,提升了浏览器对流媒体数据的兼容性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的基于浏览器的流媒体数据播放方法的流程示意图;
图2是本申请实施例提供的兼容H.265编码格式的web端高性能音视频播放方法流程示意图;
图3是本申请实施例提供的基于浏览器的流媒体数据播放装置的结构示意图;
图4是本申请实施提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,本申请中使用“和/或”表示所连接对象的至少其中之一,例如A和/或B和/或C,表示包含单独A,单独B,单独C,以及A和B都存在,B和C都存在,A和C都存在,以及A、B和C都存在的7种情况。
以下对本申请实施例提供的基于浏览器的流媒体数据播放方法进行说明。
参见图1,图1是本申请实施例提供的基于浏览器的流媒体数据播放方法的流程示意图。图1所示的基于浏览器的流媒体数据播放方法可以由终端执行。
如图1所示,基于浏览器的流媒体数据播放方法可以包括以下步骤:
步骤101,在当前待播放的流媒体数据满足第一条件的情况下,将流媒体数据封装成目标文件格式并通过浏览器的目标接口播放流媒体数据;
步骤102,根据浏览器的特性对应的解码方式对流媒体数据中的视频数据进行解码,以及将流媒体数据中的音频数据封装成目标文件格式,并通过浏览器播放流媒体数据解码后的视频数据,以及通过浏览器的目标接口播放封装后的音频数据;
其中,第一条件包括以下之一:流媒体数据的编码格式为非目标编码格式、流媒体数据的编码格式为目标编码格式且浏览器支持目标编码格式的硬解;
第二条件包括:流媒体数据的编码格式为目标编码格式且浏览器不支持目标编码格式的硬解。
通过上述步骤101和步骤102,在流媒体数据满足不同的条件的情况,即流媒体数据的编码格式是否目标编码格式(如H265),以及浏览器是否支持对该目标编码格式的硬解,从而采用不同的播放方式,以保证流媒体数据能够顺利播放,从而解决了现有技术中在浏览器不支持H265硬解的情况下,无法对该H265进行解码并播放的问题,提升了浏览器对流媒体数据的兼容性。
在本申请实施例的可选实施方式中,对于步骤101中涉及到的将流媒体数据封装成目标文件格式并通过浏览器的目标接口播放流媒体数据的方式,进一步可以包括:
步骤101-11,创建与目标接口对应的第一目标标签;
步骤101-12,将流媒体数据封装为目标文件格式的数据;
步骤101-13,基于第一目标标签通过浏览器中的目标接口播放封装后的流媒体数据。
需要说明的是,本申请实施例中的第一目标标签在具体应用场景中可以是htmlvideo标签,进而对应的目标接口可以是html video mse(Media Source Extensions,媒体源扩展)接口,此外目标文件格式可以是fmp4(Fragmented mp4,片段MP4)。基于此,以目标编码格式为H265为例,上述步骤101-11至步骤101-13在具体应用场景中可以是:
在解文件封装demuxer(分流)部分判断当前视频流的编码格式,如果不为H265,则创建html video标签,即在创建的video标签对应的html video mse接口上成功播放。
此外,如果视频编码格式为H265,则进一步判断当前浏览器是否支持H265硬解,若支持H265硬解,则分析视频的序列参数集(Sequence Parameter Set,SPS),获得视频流的宽高、帧率、codecs等等信息,初始化html video mse接口,通过remuxer部分再封装成fmp4格式,通过html video mse接口播放。
其中,对于判断浏览器是否支持H265硬解,在本申请实施例中其判断方法为检查video标签的canPlayType(能播放类型)和MediaSource(媒体资源)的isTypeSupported对中含有“hev1”字段的codecs(编码器)是否支持H265硬解。
可见,在本申请中对于编码格式不为H265或编码格式为H265但浏览器支持H265硬解的情况下,可以直接对流媒体数据进行封装,然后基于html video标签对应的mse接口播放,从而可以实现对于非目标编码格式,以及浏览器支持目标编码格式的情况的顺利播放,而对于浏览器不支持目标编码格式的情况,则会将流媒体数据的音频数据和视频数据分开来进行处理,其中,音频数据的处理方式与上述编码格式不为目标编码格式的处理方式一致,视频数据则会根据浏览器的特性对应的解码方式对其进行解码。
具体地,对于本申请步骤102中涉及到的根据浏览器的特性对应的解码方式对流媒体数据进行解码的方式,进一步可以包括:
步骤102-11,在浏览器同时支持原子特性以及共享内存特性的情况下,通过多线程解码方式对流媒体数据进行解码;
步骤102-12,在浏览器不同时支持原子特性和共享内存特性的情况下,通过单线程解码方式对流媒体数据进行解码。
可见,根据是否同时支持原子特性以及共享内存特性,可以采用不同的解码方式,由于多线程解码方式解码效率较高。因此基于不同的情况,采用不同的解码方式能够进一步提高解码效率。
在本申请实施例的可选实施方式中,对于步骤102中涉及到的通过浏览器播放解码后的流媒体数据的方式,进一步可以包括:
步骤102-21,基于预设分辨率对解码后的流媒体数据进行缩放处理,
步骤102-22,对缩放处理后的流媒体数据进行渲染;
步骤102-23,基于第二目标标签对渲染后的流媒体数据进行播放。
需要说明的是,该预设分辨率要低于原始视频数据的分辨率,因此,进行缩放处理后,在进行渲染能够明显的提升渲染效率,减少卡顿。
此外,在基于第二目标标签对渲染后的流媒体数据进行播放之前,方法还包括:创建第二目标标签。
需要说明的是,该第二目标标签在具体应用场景中可以包括:canvas(画布)标签和audio(音频)标签。
本申请实施例中介绍的多种可选的实施方式,在彼此不冲突的情况下可以相互结合实现,也可以单独实现,对此本申请实施例不作限定。
为方便理解,示例说明如下:
如图2所示,该具体实施方式提供了一种兼容H.265编码格式的web端高性能音视频播放方法,该方法的步骤包括:
步骤201,根据URL判断流媒体封装格式,并加载相应模块;
其中,本播放器构建在开源程序flv.js[1]和hls.js[2]之上,该开源程序具有完整的播放H264编码视频的能力。根据获得的URL判断流媒体文件封装格式到底是flv还是hls,并加载相应模块。
步骤202,在解封装部分判断当前视频流编码格式;
步骤203,判断编码格式是否为H265;在判断结果为否的情况下,执行步骤204,在判断结果为是的情况下,执行步骤207;
步骤204,创建html video标签;
步骤205,将流媒体数据再封装为fmp4的文件格式;
步骤206,通过浏览器中的mse接口播放流媒体数据;
对于上述步骤203至步骤206,具体可以是:如果视频编码格式为H265,则进一步判断当前浏览器是否支持H265硬解,其判断方法为检查video标签的canPlayType和MediaSource的isTypeSupported对含有“hev1”字段的codecs是否支持。若支持H265硬解,则分析视频的SPS,获得视频流的宽高、帧率、codecs等等信息,初始化html video mse接口,通过remuxer(封装格式转换)部分再封装成fmp4格式,通过html video mse接口即可成功播放。
步骤207,判断浏览器是否支持H265硬解;在判断结果为是的情况下,执行步骤204,在判断结果为否的情况下,执行步骤208;
步骤208,创建canvas标签和audio标签;
步骤209,判断流媒体数据中是否有音频数据;在判断结果为是的情况下,执行步骤205,以对将音频数据进行在封装;在判断结果为否的情况下,执行步骤210;
步骤210,判断当前浏览器是否支持原子特性和共享内存,以决定是否使用多线程解码,加载不同的.wasm文件;
对于上述步骤207至步骤210,具体可以是:在视频编码格式为H265,但浏览器不支持H265硬解的情况下,需要利用Webassembly技术对H265进行软解,进一步判断当前浏览器是否支持Atomics和sharedArrayBuffer特性(其中前者用于线程的同步与互斥,后者用于共享内存)。如果都支持,则可以使用多线程解码,解码效率可以有极大的提高;否则,只能使用单线程解码,在面对高分辨率高码率的视频流时会出现卡顿。加载两种情况各自对应的.wasm二进制文件,.wasm文件是由Emscripten编译工具编译C语言文件并链接ffmpeg解码库所得到的。创建html canvas标签和html audio标签。在上述开源程序的demuxer部分,解流媒体封装后得到待解码的音视频帧,视频帧送入webassembly部分解码,音频帧在通过remuxer部分封装后交由audio mse播放。
步骤211,利用webassembly解码,对解码后的图像所缩放;
步骤212,通过webGL、canvas标签等渲染播放。
其中,浏览器的播放器的性能瓶颈除了出现在解码部分,也可能出现在渲染部分,特别是在高分辨率、高帧率、多路流的情况下。在由webassembly解码得到原始图像以后,考虑同时播放多路流的情况,将原始分辨率的图像通过webGL渲染,可能会造成性能瓶颈,GPU的性能瓶颈可能出现在计算耗时和IO耗时上,每秒渲染数据量和视频流参数之间的关系可由下述公式表示:
S=W×H×n×fps×N
其中,S是每秒的渲染数据量,以字节为单位;W和H分别是图像的宽和高;n是每个像素的平均字节大小;fps是帧率;N是播放的流的路数。
目标是使N尽量大的情况下,S尽可能小,可以改变的就只有W、H和fps,减小fps即抽帧,可能会引起视频在观感上的不连续;减小W和H即改变分辨率,一般情况下,目标显示分辨率要低于视频原始分辨率。所以,在将解码好的原始图像返回给js层(javascript的底层)之前,根据作为参数传入的目标播放分辨率对图像进行一次缩放,缩放为目标播放分辨率以后再渲染,可以明显地提升渲染效率,减少卡顿。
可见,通过本申请中的具体实施例,播放器对浏览器本身就支持硬解的视频和音频格式做区别对待,节约CPU计算资源,提升解码效率;考虑了在web端观看多路视频流的情况,在使用webassembly解码得到原始图像以后,对其进行缩放以后再通过webGL对其进行渲染,渲染负载大大减小,减少GPU资源的占用;在用webassembly解码的时候,考虑了当前浏览器对多线程的支持情况,加载不同的.wasm二进制文件进行解码,提高了播放器对浏览器的兼容性。
通过本申请,浏览器的播放器播放H265视频的测试结果如表1所示,从表中可以看出本申请基本可以满足多分屏下的播放需求。
Figure BDA0003103993420000081
Figure BDA0003103993420000091
表1
如图3所示,本申请实施例还提供了一种基于浏览器的流媒体数据播放装置,该装置包括:
第一处理模块32,用于在当前待播放的流媒体数据满足第一条件的情况下,将流媒体数据封装成目标文件格式并通过浏览器的目标接口播放流媒体数据;
第二处理模块34,用于在当前待播放的流媒体数据满足第二条件的情况下,根据浏览器的特性对应的解码方式对流媒体数据中的视频数据进行解码,以及将流媒体数据中的音频数据封装成目标文件格式,并通过浏览器播放流媒体数据解码后的视频数据,以及通过浏览器的目标接口播放封装后的音频数据;
其中,第一条件包括以下之一:流媒体数据的编码格式为非目标编码格式、流媒体数据的编码格式为目标编码格式且浏览器支持目标编码格式的硬解;
第二条件包括:流媒体数据的编码格式为目标编码格式且浏览器不支持目标编码格式的硬解。
通过本申请实施例的装置,在流媒体数据满足不同的条件的情况,即流媒体数据的编码格式是否目标编码格式(如H265),以及浏览器是否支持对该目标编码格式的硬解,从而采用不同的播放方式,以保证流媒体数据能够顺利播放,从而解决了现有技术中在浏览器不支持H265硬解的情况下,无法对该H265进行解码并播放的问题,提升了浏览器对流媒体数据的兼容性。
可选地,本申请实施例中的第一处理模块进一步可以包括:创建单元,用于创建与目标接口对应的第一目标标签;封装单元,用于将流媒体数据封装为目标文件格式的数据;处理单元,用于基于第一目标标签通过浏览器中的目标接口播放封装后的流媒体数据。
可选地,本申请实施例中的第二处理模块进一步可以包括:第一解码单元,用于在浏览器同时支持原子特性以及共享内存特性的情况下,通过多线程解码方式对流媒体数据进行解码;第二解码单元,用于在浏览器不同时支持原子特性和共享内存特性的情况下,通过单线程解码方式对流媒体数据进行解码。
可选地,本申请实施例中的第二处理模块进一步可以包括:缩放单元,用于基于预设分辨率对解码后的流媒体数据进行缩放处理;渲染单元,用于对缩放处理后的流媒体数据进行渲染;播放单元,用于基于第二目标标签对渲染后的流媒体数据进行播放。
可选地,本申请实施例中的装置还包括:创建模块,用于在基于第二目标标签对渲染后的流媒体数据进行播放之前,创建第二目标标签。
本申请实施例还提供一种电子设备。请参见图4,通信设备可以包括处理器401、存储器402及存储在存储器402上并可在处理器401上运行的程序4021。
在电子设备为终端的情况下,程序4021被处理器401执行时可实现图1对应的方法实施例中的任意步骤及达到相同的有益效果,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法的全部或者部分步骤是可以通过程序指令相关的硬件来完成,所述的程序可以存储于一可读取介质中。本申请实施例还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时可实现上述图1对应的方法实施例中的任意步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
所述的存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
以上所述是本申请实施例的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (12)

1.一种基于浏览器的流媒体数据播放方法,其特征在于,所述方法包括:
在当前待播放的流媒体数据满足第一条件的情况下,将所述流媒体数据封装成目标文件格式并通过浏览器的目标接口播放所述流媒体数据;
在当前待播放的流媒体数据满足第二条件的情况下,根据所述浏览器的特性对应的解码方式对所述流媒体数据中的视频数据进行解码,以及将所述流媒体数据中的音频数据封装成目标文件格式,并通过所述浏览器播放所述流媒体数据解码后的视频数据,以及通过所述浏览器的目标接口播放封装后的音频数据;
其中,所述第一条件包括以下之一:所述流媒体数据的编码格式为非目标编码格式、所述流媒体数据的编码格式为所述目标编码格式且所述浏览器支持所述目标编码格式的硬解;
所述第二条件包括:所述流媒体数据的编码格式为所述目标编码格式且所述浏览器不支持所述目标编码格式的硬解。
2.根据权利要求1所述的方法,其特征在于,所述将所述流媒体数据封装成目标文件格式并通过浏览器的目标接口播放所述流媒体数据,包括:
创建与所述目标接口对应的第一目标标签;
将所述流媒体数据封装为所述目标文件格式的数据;
基于所述第一目标标签通过所述浏览器中的所述目标接口播放封装后的流媒体数据。
3.根据权利要求1所述的方法,其特征在于,所述根据所述浏览器的特性对应的解码方式对所述流媒体数据进行解码包括:
在所述浏览器同时支持原子特性以及共享内存特性的情况下,通过多线程解码方式对所述流媒体数据进行解码;
在所述浏览器不同时支持所述原子特性和所述共享内存特性的情况下,通过单线程解码方式对所述流媒体数据进行解码。
4.根据权利要求3所述的方法,其特征在于,所述通过所述浏览器播放解码后的流媒体数据,包括:
基于预设分辨率对解码后的流媒体数据进行缩放处理;
对缩放处理后的流媒体数据进行渲染;
基于第二目标标签对渲染后的流媒体数据进行播放。
5.根据权利要求4所述的方法,其特征在于,在基于第二目标标签对渲染后的流媒体数据进行播放之前,所述方法还包括:
创建所述第二目标标签。
6.一种基于浏览器的流媒体数据播放装置,其特征在于,所述装置包括:
第一处理模块,用于在当前待播放的流媒体数据满足第一条件的情况下,将所述流媒体数据封装成目标文件格式并通过浏览器的目标接口播放所述流媒体数据;
第二处理模块,用于在当前待播放的流媒体数据满足第二条件的情况下,根据所述浏览器的特性对应的解码方式对所述流媒体数据中的视频数据进行解码,以及将所述流媒体数据中的音频数据封装成目标文件格式,并通过所述浏览器播放所述流媒体数据解码后的视频数据,以及通过所述浏览器的目标接口播放封装后的音频数据;
其中,所述第一条件包括以下之一:所述流媒体数据的编码格式为非目标编码格式、所述流媒体数据的编码格式为所述目标编码格式且所述浏览器支持所述目标编码格式的硬解;
所述第二条件包括:所述流媒体数据的编码格式为所述目标编码格式且所述浏览器不支持所述目标编码格式的硬解。
7.根据权利要求6所述的装置,其特征在于,所述第一处理模块包括:
创建单元,用于创建与所述目标接口对应的第一目标标签;
封装单元,用于将所述流媒体数据封装为所述目标文件格式的数据;
处理单元,用于基于所述第一目标标签通过所述浏览器中的所述目标接口播放封装后的流媒体数据。
8.根据权利要求6所述的装置,其特征在于,所述第二处理模块包括:
第一解码单元,用于在所述浏览器同时支持原子特性以及共享内存特性的情况下,通过多线程解码方式对所述流媒体数据进行解码;
第二解码单元,用于在所述浏览器不同时支持所述原子特性和所述共享内存特性的情况下,通过单线程解码方式对所述流媒体数据进行解码。
9.根据权利要求8所述的装置,其特征在于,第二处理模块包括:
缩放单元,用于基于预设分辨率对解码后的流媒体数据进行缩放处理;
渲染单元,用于对缩放处理后的流媒体数据进行渲染;
播放单元,用于基于第二目标标签对渲染后的流媒体数据进行播放。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
创建模块,用于在基于第二目标标签对渲染后的流媒体数据进行播放之前,创建所述第二目标标签。
11.一种电子设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器,用于读取存储器中的程序实现如权利要求1至5中任一项所述的方法步骤。
12.一种可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现如权利要求1至5中任一项所述的方法步骤。
CN202110631983.9A 2021-06-07 2021-06-07 基于浏览器的流媒体数据播放方法、装置及相关设备 Pending CN115460183A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110631983.9A CN115460183A (zh) 2021-06-07 2021-06-07 基于浏览器的流媒体数据播放方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110631983.9A CN115460183A (zh) 2021-06-07 2021-06-07 基于浏览器的流媒体数据播放方法、装置及相关设备

Publications (1)

Publication Number Publication Date
CN115460183A true CN115460183A (zh) 2022-12-09

Family

ID=84295285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110631983.9A Pending CN115460183A (zh) 2021-06-07 2021-06-07 基于浏览器的流媒体数据播放方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN115460183A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140325578A1 (en) * 2013-04-28 2014-10-30 Tencent Technology (Shenzhen) Co., Ltd. Method, device and system for cross-platform video file playing
US20160119399A1 (en) * 2014-10-24 2016-04-28 Kevin J. Glass Extending browser support of real time media to any available codec
US20170093939A1 (en) * 2015-09-24 2017-03-30 Flir Commercial Systems, Inc. Real-time video streaming to client video element
US20180131741A1 (en) * 2016-11-07 2018-05-10 Hanwha Techwin Co., Ltd. Adaptive media streaming method and apparatus according to decoding performance
CN108200482A (zh) * 2018-01-16 2018-06-22 威创集团股份有限公司 一种跨平台高清音视频播放方法、系统及客户端
WO2018188168A1 (zh) * 2017-04-14 2018-10-18 网宿科技股份有限公司 基于Html5的音视频播放方法及装置、音视频直播方法及系统
CN109088887A (zh) * 2018-09-29 2018-12-25 北京金山云网络技术有限公司 一种流媒体解码的方法及装置
CN111083167A (zh) * 2019-12-31 2020-04-28 深圳市思博慧数据科技有限公司 一种跨浏览器的h.265视频播放方法
WO2020151400A1 (zh) * 2019-01-23 2020-07-30 上海哔哩哔哩科技有限公司 基于视频源选择的视频播放控制方法、装置和存储介质
CN112188150A (zh) * 2019-07-04 2021-01-05 北京航天长峰科技工业集团有限公司 一种利用重封装实现浏览器播放实时监控视频的方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140325578A1 (en) * 2013-04-28 2014-10-30 Tencent Technology (Shenzhen) Co., Ltd. Method, device and system for cross-platform video file playing
US20160119399A1 (en) * 2014-10-24 2016-04-28 Kevin J. Glass Extending browser support of real time media to any available codec
US20170093939A1 (en) * 2015-09-24 2017-03-30 Flir Commercial Systems, Inc. Real-time video streaming to client video element
US20180131741A1 (en) * 2016-11-07 2018-05-10 Hanwha Techwin Co., Ltd. Adaptive media streaming method and apparatus according to decoding performance
WO2018188168A1 (zh) * 2017-04-14 2018-10-18 网宿科技股份有限公司 基于Html5的音视频播放方法及装置、音视频直播方法及系统
US20210168464A1 (en) * 2017-04-14 2021-06-03 Wangsu Science & Technology Co., Ltd. Html5-based audio/video playing method and apparatus, and live audio/video streaming method and system
CN108200482A (zh) * 2018-01-16 2018-06-22 威创集团股份有限公司 一种跨平台高清音视频播放方法、系统及客户端
CN109088887A (zh) * 2018-09-29 2018-12-25 北京金山云网络技术有限公司 一种流媒体解码的方法及装置
WO2020151400A1 (zh) * 2019-01-23 2020-07-30 上海哔哩哔哩科技有限公司 基于视频源选择的视频播放控制方法、装置和存储介质
CN112188150A (zh) * 2019-07-04 2021-01-05 北京航天长峰科技工业集团有限公司 一种利用重封装实现浏览器播放实时监控视频的方法
CN111083167A (zh) * 2019-12-31 2020-04-28 深圳市思博慧数据科技有限公司 一种跨浏览器的h.265视频播放方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XI DENG: "Combinatorial Testing on Implementations of HTML5 Support", 《2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW)》, 17 April 2017 (2017-04-17) *
陈贺瑶: "基于HTML5的FLV流媒体播放技术的研究与实现", 《中国优秀硕士学位论文全文库》, 15 August 2019 (2019-08-15) *

Similar Documents

Publication Publication Date Title
US9930308B2 (en) Platform-agnostic video player for mobile computing devices and desktop computers
KR102286881B1 (ko) 시간지정된 미디어 데이터의 스트리밍 동안의 렌더링 디스플레이를 개선하기 위한 방법, 디바이스, 및 컴퓨터 프로그램
EP3466091B1 (en) Method, device, and computer program for improving streaming of virtual reality media content
CN107645491B (zh) 媒体流传输设备和媒体服务设备
JP6516766B2 (ja) 分割タイムドメディアデータのストリーミングを改善するための方法、デバイス、およびコンピュータプログラム
RU2511595C2 (ru) Устройство декодирования сигнала изображения, способ декодирования сигнала изображения, устройство кодирования сигнала изображения, способ кодирования изображения и программа
CN106131550B (zh) 播放多媒体文件的方法及装置
US9609338B2 (en) Layered video encoding and decoding
US10476928B2 (en) Network video playback method and apparatus
CN108337246B (zh) 防止重放延迟的媒体重放设备和媒体服务设备
CN113453046B (zh) 沉浸式媒体提供方法、获取方法、装置、设备及存储介质
CN104639951A (zh) 视频码流的抽帧处理方法及装置
CN112995698A (zh) 一种视频播放方法、客户端、服务平台及智能会议系统
CN112261377A (zh) web版监控视频播放方法、电子设备及存储介质
CN113574903B (zh) 针对媒体内容中的后期绑定的方法和装置
US10462200B2 (en) System for cloud streaming service, method for still image-based cloud streaming service and apparatus therefor
CN113079386B (zh) 一种视频在线播放方法、装置、电子设备及存储介质
CN113615205B (zh) 用于用信号通知封装媒体内容的可用部分的方法、装置和计算机程序
KR102417055B1 (ko) 비디오 스트림의 후속 프로세싱을 위한 방법 및 디바이스
CN115460183A (zh) 基于浏览器的流媒体数据播放方法、装置及相关设备
CN112954396B (zh) 视频的播放方法、装置、电子设备及计算机可读存储介质
CN114173127A (zh) 视频处理方法、装置、设备及存储介质
CN113824715B (zh) 一种实时视频流的播放方法及装置
CN114125493B (zh) 一种流媒体的分布式存储方法、装置和设备
US20220141469A1 (en) Method and apparatus for constructing motion information list in video encoding and decoding and device

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