CN117956224A - 音视频处理方法、音视频处理装置、服务器和浏览器 - Google Patents

音视频处理方法、音视频处理装置、服务器和浏览器 Download PDF

Info

Publication number
CN117956224A
CN117956224A CN202410168728.9A CN202410168728A CN117956224A CN 117956224 A CN117956224 A CN 117956224A CN 202410168728 A CN202410168728 A CN 202410168728A CN 117956224 A CN117956224 A CN 117956224A
Authority
CN
China
Prior art keywords
audio
video
video data
data
format
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
CN202410168728.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.)
BOE Technology Group Co Ltd
Original Assignee
BOE Technology Group 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 BOE Technology Group Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to CN202410168728.9A priority Critical patent/CN117956224A/zh
Publication of CN117956224A publication Critical patent/CN117956224A/zh
Pending legal-status Critical Current

Links

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/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/440218Processing 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 transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • 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/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

Landscapes

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

Abstract

本申请提供一种音视频处理方法、音视频处理装置、服务器和浏览器,应用于面向浏览器的直播场景,所述方法由服务器执行,包括:获取音视频数据的原始流;对原始流的头部信息进行嗅探以获取原始流对应的RFC 6381字符编码串,所述字符编码串用于标识音视频数据的编码格式;基于所述字符编码串对封装为特定的流媒体格式的音视频数据进行二次封装,得到具有二次封装结构的音视频数据;向浏览器发送具有二次封装结构的音视频数据。由于浏览器采用webcodec编解码标准,为了适应webcodec的能力,通过对封装为特定流媒体格式的音视频数据进行二次封装,使得具有该流媒体格式的音视频数据能够更好地被webcodec识别和处理。

Description

音视频处理方法、音视频处理装置、服务器和浏览器
技术领域
本申请涉及音视频技术领域,并且更具体地,涉及一种音视频处理方法、音视频处理装置、服务器和浏览器。
背景技术
直播技术越来越成熟,直播场景中音视频数据的传输需要经过获取原始流、服务器对音视频数据的编码和封装、以及浏览器对音视频数据的解码和播放等过程,数据传输性能直接影响用户体验。为此,如何提高直播场景中音视频数据的传输性能,成为需要解决的问题。
发明内容
本申请提供一种音视频处理方法、音视频处理装置、服务器和浏览器,能够提高直播场景中音视频数据的传输性能。
第一方面,提供一种音视频处理方法,应用于面向浏览器的直播场景,所述方法由服务器执行,所述方法包括:获取音视频数据的原始流;对所述原始流的头部信息进行嗅探,以获取所述原始流对应的RFC 6381标准中的字符编码串,所述字符编码串用于标识所述音视频数据的编码格式;基于所述字符编码串,对封装为特定的流媒体格式的所述音视频数据进行二次封装,得到具有二次封装结构的所述音视频数据;向所述浏览器发送具有所述二次封装结构的所述音视频数据,所述浏览器用于采用webcodec编解码标准对接收到的所述音视频数据进行解码,并基于解码数据播放所述音视频。
本申请的音视频处理方法应用于面向浏览器的直播场景,且该浏览器被配置为采用webcodec编解码标准对音视频数据进行解码,其中,webcodec是在Web浏览器中实现视频编解码,其允许发开人员直接对视频进行编码和解码,而无需使用插件或其他额外的软件,webcodec具有对多种流媒体格式的音视频数据进行处理的能力,因此能够兼容不同流媒体格式的优势,例如时延短、部署简单等,从而提升了兼容性和用户体验。为了适应webcodec的能力,本申请通过对封装为特定流媒体格式的音视频数据进行二次封装,使得具有该流媒体格式的音视频数据能够更好地被webcodec识别和处理。
在一种可能的实现方式中,所述二次封装结构包括头部信息和载荷信息,所述头部信息包括分别用于表示音频、视频和配置信息的字符,所述载荷信息包括所述流媒体格式的音频数据、所述流媒体格式的视频数据、以及所述流媒体格式的音视频数据的配置信息。
在该实现方式中,二次封装结构包括头部信息和载荷信息,其中,头部信息包括分别用于表示音频、视频和配置信息的字符,载荷信息包括具有一次封装后的流媒体格式的音频数据、该流媒体格式的视频数据、以及该流媒体格式的音视频数据的配置信息,这样,便能够将具有该流媒体格式的音视频数据及其相关联的配置信息进行二次封装并发送给浏览器,以供浏览器的webcodec解码器识别和解码。
例如,所述流媒体格式的音视频数据的配置信息可以包括以下信息:视频编码的长度、视频字符编码串、视频宽度、视频高度、音频编码的长度、音频字符编码串、音频采样率、以及音频通道数。
在一种可能的实现方式中,所述流媒体格式的音频数据和视频数据的头部为无符号8位字符型,所述流媒体格式的视频数据中包括布尔型数据,所述布尔型数据用于区分所述视频数据的关键帧。
在该实现方式中,为了进行区分,可以在音频数据和视频数据的头部设置无符号8位字符型,并且视频数据多出一个布尔型数据以区分视频数据的关键帧。
在一种可能的实现方式中,所述流媒体格式被自定义为支持所述音视频数据的编码格式。
在该实现方式中,对于不同编码格式,可能存在对该流媒体格式支持不好的问题,为此,可以允许自定义该流媒体格式,以更好地适应音视频数据的该编码格式。
第二方面,提供一种音视频处理方法,应用于面向浏览器的直播场景,所述方法由浏览器执行,所述方法包括:接收音视频数据,其中,所述音视频数据是对封装为特定的流媒体格式的音视频数据进行二次封装后得到的具有二次封装结构的音视频数据,且包括其原始流对应的RFC 6381标准中的字符编码串;基于webcodec编解码标准,对所述音视频数据进行解码,得到解码数据;基于所述解码数据,播放所述音视频。
本申请的音视频处理方法应用于面向浏览器的直播场景,且该浏览器被配置为采用webcodec编解码标准对音视频数据进行解码,其中,webcodec是在Web浏览器中实现视频编解码,其允许发开人员直接对视频进行编码和解码,而无需使用插件或其他额外的软件,webcodec具有对多种流媒体格式的音视频数据进行处理的能力,因此能够兼容不同流媒体格式的优势,例如时延短、部署简单等,从而提升了兼容性和用户体验。为了适应webcodec的能力,本申请通过对封装为特定流媒体格式的音视频数据进行二次封装,使得具有该流媒体格式的音视频数据能够更好地被webcodec识别和处理。
在一种可能的实现方式中,所述二次封装结构包括头部信息和载荷信息,所述头部信息包括分别用于表示音频、视频和配置信息的字符,所述载荷信息包括所述流媒体格式的音频数据、所述流媒体格式的视频数据、以及所述流媒体格式的音视频数据的配置信息。
在该实现方式中,二次封装结构包括头部信息和载荷信息,其中,头部信息包括分别用于表示音频、视频和配置信息的字符,载荷信息包括具有一次封装后的流媒体格式的音频数据、该流媒体格式的视频数据、以及该流媒体格式的音视频数据的配置信息,这样,便能够将具有该流媒体格式的音视频数据及其相关联的配置信息进行二次封装并发送给浏览器,以供浏览器的webcodec解码器识别和解码。
例如,所述流媒体格式的音视频数据的配置信息包括以下信息:视频编码的长度、视频字符编码串、视频宽度、视频高度、音频编码的长度、音频字符编码串、音频采样率、以及音频通道数。
在一种可能的实现方式中,所述基于所述解码数据,播放所述音视频,包括:基于AudioWorklet获取所述音视频数据中音频数据的解码数据,并基于所述音频数据的解码数据播放音频。
在该实现方式中,浏览器可以采用AudioWorklet获取音频数据的解码数据,由于AudioWorklet能够提供自定义音频处理脚本,这些脚本在单独的线程中执行,因此能够提供非常低延迟的音频处理,减少了断音、音频播放延迟、以及音视频不同步等问题,提升了用户体验。
第三方面,提供一种音视频处理装置,应用于面向浏览器的直播场景,所述装置包括获取模块和处理模块,所述获取模块用于获取音视频数据的原始流,所述处理模块用于:对所述获取模块获取的所述原始流的头部信息进行嗅探,以获取所述原始流对应的RFC6381标准中的字符编码串,所述字符编码串用于标识所述音视频数据的编码格式;基于所述字符编码串,对封装为特定的流媒体格式的所述音视频数据进行二次封装,得到具有二次封装结构的所述音视频数据;以及,向所述浏览器发送具有所述二次封装结构的所述音视频数据,所述浏览器用于采用webcodec编解码标准对接收到的所述音视频数据进行解码,并基于解码数据播放所述音视频。
在一种可能的实现方式中,所述二次封装结构包括头部信息和载荷信息,所述头部信息包括分别用于表示音频、视频和配置信息的字符,所述载荷信息包括所述流媒体格式的音频数据、所述流媒体格式的视频数据、以及所述流媒体格式的音视频数据的配置信息。
在一种可能的实现方式中,所述流媒体格式的音视频数据的配置信息包括以下信息:视频编码的长度、视频字符编码串、视频宽度、视频高度、音频编码的长度、音频字符编码串、音频采样率、以及音频通道数。
在一种可能的实现方式中,所述流媒体格式的音频数据和视频数据的头部为无符号8位字符型,所述流媒体格式的视频数据中包括布尔型数据,所述布尔型数据用于区分所述视频数据的关键帧。
在一种可能的实现方式中,所述流媒体格式被自定义为支持所述音视频数据的编码格式。
第四方面,提供一种音视频处理装置,应用于面向浏览器的直播场景,所述装置包括接收模块、解码模块和播放模块,其中,所述接收模块用于接收音视频数据,其中,所述音视频数据是对封装为特定的流媒体格式的音视频数据进行二次封装后得到的具有二次封装结构的音视频数据;所述解码模块用于基于webcodec编解码标准,对所述音视频数据进行解码,得到解码数据;所述播放模块用于基于所述解码数据,播放所述音视频。
在一种可能的实现方式中,所述二次封装结构包括头部信息和载荷信息,所述头部信息包括分别用于表示音频、视频和配置信息的字符,所述载荷信息包括所述流媒体格式的音频数据、所述流媒体格式的视频数据、以及所述流媒体格式的音视频数据的配置信息。
在一种可能的实现方式中,所述流媒体格式的音视频数据的配置信息包括以下信息:视频编码的长度、视频字符编码串、视频宽度、视频高度、音频编码的长度、音频字符编码串、音频采样率、以及音频通道数。
在一种可能的实现方式中,所述播放模块具体用于,基于AudioWorklet获取所述音视频数据中音频数据的解码数据,并基于所述音频数据的解码数据播放音频。
第五方面,提供一种服务器,包括处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,以实现根据第一方面或第一方面的任一种可能的实现方式中所述的音视频处理方法。
第六方面,提供一种浏览器,包括处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,以实现根据第二方面或第二方面的任一种可能的实现方式中所述的音视频处理方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据附图获得其他的附图。
图1是直播场景中音视频数据的处理流程的示意图。
图2是本申请实施例的音视频处理方案的架构示意图。
图3是本申请实施例的音视频处理方法的流程交互图。
图4是本申请实施例的YUV420P与RGB之间转换的示意图。
图5是本申请一实施例的音视频处理装置的示意性框图。
图6是本申请另一实施例的音视频处理装置的示意性框图。
图7是本申请实施例的服务器的示意性结构图。
图8是本申请实施例的浏览器的示意性结构图。
具体实施方式
下面结合附图和实施例对本申请的实施方式作进一步详细描述。以下实施例的详细描述和附图用于示例性地说明本申请的原理,但不能用来限制本申请的范围,即本申请不限于所描述的实施例。
下述描述中出现的方位词均为图中示出的方向,并不是对本申请的具体结构进行限定。在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可视具体情况理解上述术语在本申请中的具体含义。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或者备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中字符“/”,一般表示前后关联对象是一种“或”的关系。
随着直播技术的成熟,直播数据的封装方式也越来越多。对于浏览器/服务器(browser/server,BS)架构,浏览器端的用户可以有多种方案选择,例如传统的flash视频(flash video,FLV)格式,又例如YouTube和CCTV等网站使用的MP4或者HTTP直播流(httplive streaming,HLS)等标准定义的音视频传输的文件格式。对于客户端/服务器(client/server,CS)架构,例如可以采用Web实时通信(web real-time communication,WebRTC)进行音视频数据的交互。
但是,上述方案都存在各自的问题,例如,MP4或者HLS的方案是通过HTTP传输流片段,部署较为方便,但是实时性不好,可能延迟至少一个流片段的时间。
又例如,FLV方案对H.264即AVC编码标准的支持性较好,通常通过WebSocket实现传输,部署相对简单,但是由于其设计时便不支持H.265即HEVC编码标准,导致FLV没有HEVC的支持,很多情况下需要二次开发进行封装,且因浏览器的各异而适配性不好,后来FLV又被质疑安全性而被浏览器放弃,导致目前FLV支持HEVC都是设计人员自行扩展的,因此稳定性存疑。
再例如,WebRTC方案通过用户数据报协议(user datagram protocol,UDP)进行数据传输,实时性较好,由于UDP是套接字(socket)的一种模式,用于不可靠数据的快速传输,其设计较为灵活,经常被黑客作为嗅探或者攻击的常用手段,所以WebRTC方案中在利用UDP部署公有云时,经常会遇到socket安全组的问题,安全组需要额外的配置。可见,由于UDP端口在服务器上的部署有难度,很多UDP在云服务商处都是被管制的状态,使得WebRTC方案的部署难度增加,增加了运维成本。此外,由于网络设计中有子网,WebRTC方案使用点对点通信时容易遇到其中一个节点在子网后面,子网映射端口的随机化设计导致无法固定器通信地址的情况,从而导致P2P无法建立。
为此,本申请实施例提供一种音视频处理方案,其应用于面向浏览器的直播场景,且该浏览器被配置为采用webcodec编解码标准对音视频数据进行解码,其允许开发人员直接对音视频数据进行编码和解码,而无需使用插件或其他额外的软件。webcodec支持多种音视频数据的编解码方案,例如针对视频数据的H.264、HEVC、VP8、VP9等,以及针对音频数据的G711、高级音频编码(Advanced Audio Coding,AAC)等,因此webcodec能够实现对具有不同封装结构的音视频数据进行编解码,例如MP4、FLV、HLS等,使得其能够兼容这些封装方案的优点,例如能够兼容WebRTC的速度优势,以及MP4、FLV等方案的部署方便和简单的特点。为了适应浏览器支持的webcodec的能力,本申请提供的音视频处理方案,通过对封装为特定流媒体格式的音视频数据进行二次封装,使得具有该流媒体格式的音视频数据能够更好地被webcodec识别和处理,从而与webcodec之间相适配。
图1示出了直播场景中音视频数据的处理流程。如图1所示,摄像头采集的音视频数据在云端综合处理器中进行编码和封装,封装数据被传输至浏览器中进行解码,得到解码数据,该解码数据在浏览器中进行播放。
图2是本申请实施例的音视频处理方案的架构示意图。图2中所示的架构1包括原始流(stream provider)101、云端综合处理器(cloud remuxer)102、网页解码器(webcodecdecoder)103和网页播放器(web player)104。其中,原始流101为摄像头或者网络录像机(network video recorder,NVR)提供的数据流,其包括由推流和拉流的方式获得的原始流。其中,推流一般使用例如国标28181即信令的方式来获取,属于推的方式;拉流一般是使用RTPS或者RTMP进行直播源地址的拉流,即拉的方式。无论采用哪种方式,都能够在云端综合处理器102中被缓存,并作为原始流例如原始存储流(raw mem stream)被管理起来。云端综合处理器102对原始流进行编码和封装等操作后,形成自定义封装数据例如自定义存储流(customized mem stream)作为下行流发送给浏览器。浏览器包括解码器103和播放器104,解码器103基于webcodec编解码标准,对云端综合处理器102发送的数据进行解码,得到视频数据例如YUV420P或者YUVJ420P格式的视频数据、以及脉冲编码调制(pulse codemodulation,PCM)格式的音频数据,其中,YUV表示色度分量,包括亮度Y和两个色度U和V,420表示像素的排列方式,P表示平面格式,YUVJ420P是在YUV420P的基础上进行了调整,加入了对JPEG兼容的支持。最后,播放器104基于解码得到的数据进行播放。
其中,在支持的情况下,云端综合处理器102与浏览器之间例如可以采用HTTP3协议或者QUIC协议进行数据传输,由于HTTP3协议或者QUIC协议具有安全套阶层(securesocket layer,SSL)协议的保护,其socket又是固定的,因此云端部署较为简洁。且QUIC协议可以减少传输延迟,使得云端综合处理器102与浏览器之间的数据传输性能较优。
基于上述架构,本申请提供一种音视频处理方法,例如,如图3所示的音视频处理方法100的示意性流程图,其应用于面向浏览器的直播场景即应用于BS架构,方法100由服务器和浏览器执行,该服务器可以是云端服务器,例如图1和图2中所示的云端综合处理器,该浏览器支持webcodec编解码标准。如图3所示,方法100包括以下步骤中的部分或者全部。
在步骤110中,服务器获取音视频数据的原始流。
在步骤120中,服务器对原始流的头部信息进行嗅探,以获取原始流对应的字符编码串。
其中,该字符编码串用于标识音视频数据的编码格式。该编码格式例如可以是H.264、HEVC、VP8、VP9等标准中描述的编码格式。
由于webcodec支持RFC 6381标准,因此,本申请实施例中所述的字符编码串为RFC6381标准中的字符编码串也简称为RFC 6381码,其属于媒体类型和子类型标识符。具体来说,RFC 6381标准为互联网工程任务组(internet engineering task force,IETF)委员会制定的编号为6381的标准,其详细内容例如可以参考https://datatracker.ietf.org/doc/html/rfc6381。
在步骤130中,服务器基于该字符编码串,对封装为特定的流媒体格式的音视频数据进行二次封装,得到具有二次封装结构的音视频数据。
在步骤140中,服务器向浏览器发送具有二次封装结构的音视频数据。
在步骤150中,浏览器接收音视频数据,其中,音视频数据是对封装为特定的流媒体格式的音视频数据进行二次封装后得到的具有二次封装结构的音视频数据,且包括其原始流对应的RFC 6381标准中的字符编码串。
在步骤160中,浏览器基于webcodec编解码标准,对音视频数据进行解码,得到解码数据。
在步骤170中,浏览器基于解码数据,播放音视频。
本申请实施例中,方法100应用于面向浏览器的直播场景,且该浏览器被配置为采用webcodec编解码标准对音视频数据进行解码,其中,webcodec是在Web浏览器中实现视频编解码,其允许发开人员直接对视频进行编码和解码,而无需使用插件或其他额外的软件,webcodec具有对多种流媒体格式的音视频数据进行处理的能力,因此能够兼容不同流媒体格式的优势,例如时延短、部署简单等,从而提升了兼容性和用户体验。为了适应webcodec的能力,通过对封装为特定流媒体格式的音视频数据进行二次封装,使得具有该流媒体格式的音视频数据能够更好地基于webcodec识别和处理。
可以理解,将原始流处理形成具有特定的流媒体格式可以看作是一次封装,本申请实施例需要对具有该流媒体格式的音视频数据进行二次封装得到具有二次封装结构的音视频数据,以适应采用webcodec标准的浏览器,从而在浏览器中对音视频数据进行有效解码和播放。
该特定的流媒体格式例如可以是MP4、FLV、HLS等格式,且能够适用于流数据,例如,本申请实施例中的MP4格式可以是FMP4或者MP4Dsah等适用于直播中音视频流的流式MP4格式。
对于不同编码格式,可能存在对该流媒体格式支持不好的问题,为此,本申请实施例中,可以允许自定义该流媒体格式,以更好地适应音视频数据的该编码格式。
也就是说,该流媒体格式可以被自定义为支持音视频数据的编码格式,例如,该流媒体格式可以是FMP4格式,也可以被自定义为Customized FMP4格式。
以下,详细描述本申请实施例的二次封装结构。
首先,对原始流进行处理。其中,对于原始流的结构,如果原始流是网络实时传输(real-time transport protocol,RTP)协议例如RTSP协议等定义的格式,相当于是拉流的形式,这时,服务器需要将RTP格式的数据组装为裸流即annexb格式的流数据。
如果原始流是程序流(program stream,PS)格式的音视频流,例如国标28181定义的音视频流,其中,PS流是一种将多个基本码流(elementary stream,ES)封装到一个整体流中的格式,这些基本码流可能具有不同的编码格式、帧率、分辨率和场编码等特性,将每个基本码流分组并打包形成打包的基本码流(pack elementary stream,PES)。这时,服务器需要将PS数据包进行拆解为PS头和PES体,将其中的PES体拆解便能够得到ES流,即annexb格式的流数据。
对经过上述处理后的原始流进行嗅探,通常可以探测原始流的序列参数集(sequence parameter set,SPS)、图像参数集(picture parameter set)PPS、视频参数集(video parameter set,VPS)等头部信息。这些信息作为视频编解码中的参数集,用来描述视频流的参数信息。通常,这些信息被优先传输,以便于浏览器能够及时获取相应的参数信息,从而正确地解码和播放视频流。
接着,通过嗅探原始流的头部信息,将RFC 6381码计算出来,即RFC 6381嗅探的过程(RFC 6381Sniff)。例如,以H.264为例,可以基于RFC 6381标准,计算得到相应的RFC6381码,其包括以下几部分:
(1)用于指示视频编解码器配置的标识符(profile_idc),该标识符用于标识视频流的特定配置或“配置文件”。在H.264视频编码标准中,不同的配置文件可以应用于不同的应用场景和需求,例如低延迟通信、视频存储等;
(2)包括约束集表示的字节(the byte containing the constraint_setflags),该约束集标志用于指示视频流的约束条件,这些约束条件可以包括对编码格式、码率、分辨率等的限制;以及,
(3)用于标识当前码流的级别的参数(level_idc),其中,级别(level)定义了某种条件下的最大视频分辨率、最大视频帧率等参数,码流所遵从的级别由level_idc指定。
将上述的(1)、(2)和(3)部分进行处理,形成H.264的多用途互联网邮件扩展(multipurpose internet mail extensions,MIME)结构体,MIME结构体用于封装RFC 6381码的检测结果,例如,基于(1)、(2)和(3)部分形成的MIME结构体可以表示为avc1.profile_idc.constraint_flags.level_idc。
在得到原始流对应的RFC 6381码之后,基于RFC 6381码对经过上述处理后得到的数据进行封装。这里,可以基于特定的流媒体格式例如基于MP4、FLV、HLS等标准完成对音视频数据的一次封装,该流媒体格式可以基于音视频数据的编码格式进行自定义,以达到较好的支持性。并且,对封装为该流媒体格式的数据进行二次封装,得到具有二次封装结构的音视频数据。
在一些实施例中,该二次封装结构包括头部信息和载荷信息,其中,头部信息包括分别用于表示音频、视频和配置信息的字符,载荷信息包括该流媒体格式的音频数据、该流媒体格式的视频数据、以及该流媒体格式的音视频数据的配置信息。
其中,可选地,该流媒体格式的音频数据和视频数据的头部可以为无符号8位字符型(u8),该流媒体格式的视频数据中可以包括布尔型数据(is_key),以用于区分视频数据的关键帧。
作为示例,以FMP4格式为例,如表一所示,二次封装结构包括头部信息(BoxHead)和载荷信息(BoxBody),如第二列所示,头部信息包括用于分别表示音频、视频和配置信息的字符,其中,音频用字符a(char‘a’)表示,视频用字符v(char‘v’)表示,配置信息用字符c(char‘c’)表示。载荷信息包括音频数据、视频数据和配置信息,音频数据的格式为FMP4格式(FMP4 Box)或者自定义FMP4格式(Customized FMP4 Box),视频数据的格式为FMP4格式((is_key)+FMP4 Box)。
表一
BoxHead(u8) BoxBody
音频 char‘a’ FMP4 Box/Customized FMP4 Box
视频 char‘v’ (is_key)+FMP4 Box
配置 char‘c’ Customized FMP4 Box
对于音视频数据,其为原来的AV1、HEV1、HVC1或者AAC等编码标准或者格式所定义的数据,头部为u8字符用于区别。其中的视频数据多出布尔型(is_key)用于区别关键帧。其中的音频数据的编码格式默认可以为AAC格式。当然,音频数据也可以采用G711编码,在采用G711编码的情况下,由于对FMP4格式的支持性不好,因此需要自定义FMP4格式即Customized FMP4 Box,例如与AAC格式不同之处在于将其头部固定为ulw1或者alw1。
对于音视频数据的配置信息,除了头部的标识符‘c’之外,其格式可以是自定义的FMP4格式即Customized FMP4 Box。
例如,如表二所示,该流媒体格式的音视频数据的配置信息可以包括以下信息中的部分或者全部:视频编码的长度(video codec length)、视频字符编码串(video codecstring)、视频宽度(video width)、视频高度(video height)、音频编码的长度(audiocodec length)、音频字符编码串(audio codec string)、音频采样率(audio samplerate)、以及音频通道数(audio channels)。
表二
可见,本申请实施例中提出的二次封装结构包括头部信息和载荷信息,其中,头部信息包括分别用于表示音频、视频和配置信息的字符,载荷信息包括具有一次封装后的流媒体格式的音频数据、该流媒体格式的视频数据、以及该流媒体格式的音视频数据的配置信息,这样,便能够将具有该流媒体格式的音视频数据及其相关联的配置信息进行二次封装并发送给浏览器,以供浏览器的webcodec解码器进行识别和解码,从而完成音视频数据的播放。
对于解码数据额播放,如果浏览器支持媒体流轨道生成器(MediaStreamTrackGenerator),例如该浏览器为chrome浏览器或者以chromium内核为基础封装的浏览器,则可以将解码数据直接通过对应的读写器写入,并将该媒体轨道添加至媒体源扩展(media source extensions,MSE)的应用程序接口(application programminginterface,API)定义的媒体流中,从而通过MSE进行音视频的播放。使用该API的好处是直接利用浏览器的管线(pipeline),开启了另外一个线程进行流式处理,不阻塞渲染进程。
MediaStreamTrackGenerator作为一个接口,其代表媒体流生成器,用于创建新的媒体流(MediaStream)并添加媒体轨道(MediaStreamTrack)至该媒体流中。通过使用MediaStreamTrackGenerator,可以生成包括音频或视频的媒体流,并在需要时将其传递给其他元素或者API。因此,支持MediaStreamTrackGenerator的浏览器可以使用MSE进行音视频数据的播放。其中,MSE属于一种W3C规范,其允许动态构建和操作媒体流,例如动态地修改媒体流、转封装、转码等。通过MSE进行音视频数据的播放可以不依赖于额外的插件,使得浏览器能够直接处理媒体数据,提高了浏览器的安全性,且简化了开发流程。
在浏览器不支持MediaStreamTrackGenerator的情况下,则需要使用原始的Canvas和AudioContex分别对音视频数据进行播放。通常,前端可以设计一个建议的播放器,从而将解码数据呈现出来,例如,通过YUV420P即YCbCr420转换RGB的公式来实现。
作为示例,YCbCr:HDTV(ITU709)转RGB公式可以如下所示:
例如图4所示,本申请实施例可以如图4中的(a)和(b)所示那样利用webgl在Canvas上进行两个三角形的皮肤平铺,形成矩形的画面,进而呈现如图4中的(c)所示的播放效果。直播在不考虑原始流的抖动容错的情况下,可以解出来就渲染Canvas,如果画面过大或者待播放对象Canvas过多,则渲染成本较高,这时,可以通过丢帧或者统一处理减少渲染成本。此处设计前端技术范畴,相应的处理流程可以参考相关技术,为了简洁,此处不再赘述。
对于音频,网页一般使用AudioContext实现音频播放,但是该方法大部分情况下用于点播,也即缓存(buffer)固定的模式。对于直播场景,由于音频的采样非常小且秘籍,基于AudioContext不断连接播放源可能导致间断的音断现象。另外,即便使用缓存,减少该音断现象,其代价却是音频播放有延时,对于视频实时播放,音频稍慢直接引起的就是音视频不同步,这对用户来说是不可接受的。因此,直播场景下的音频需要流式处理,并尽可能地减少延迟。
为此,在一些实施例中,在上述的步骤170中,浏览器可以基于AudioWorklet获取音视频数据中音频数据的解码数据,并基于音频数据的解码数据播放音频。
AudioWorklet作为在单独线程中执行自定义音频处理的脚本,能够提供非常低延迟的音频处理。在浏览器采用AudioWorklet获取音频数据的解码数据的情况下,由于AudioWorklet能够提供自定义音频处理的脚本,这些脚本在单独的线程中执行,使用AudioWorkle自定义音频流的生产方式,并使用AudioWorkletNode的端口(port)进行PCM数据的传入,因此,能够实现对音频解码得到的PCM数据的实时播放。这样,便能够提供非常低延迟的音频处理,减少了断音、音频播放延迟、以及音视频不同步等问题,提升了用户体验。
基于上面的描述可以看出,本申请实施例的音视频处理方法100具有更好的兼容性,能够兼容不同流媒体格式的优势,例如更低的延时,从而提升用户体验。进一步地,由于能够支持QUIC协议进行数据传输,因此还具有较好的数据传输性能。
本申请还提供一种音视频处理装置,例如,如图5所示,音视频处理装置200应用于面向浏览器的直播场景,音视频处理装置200包括获取模块210和处理模块220。其中,获取模块210用于获取音视频数据的原始流;处理模块220用于:对获取模块210获取的所述原始流的头部信息进行嗅探,以获取所述原始流对应的RFC 6381标准中的字符编码串,所述字符编码串用于标识所述音视频数据的编码格式;基于所述字符编码串,对封装为特定的流媒体格式的所述音视频数据进行二次封装,得到具有二次封装结构的所述音视频数据;以及,向浏览器发送具有所述二次封装结构的所述音视频数据,浏览器用于采用webcodec编解码标准对接收到的所述音视频数据进行解码,并基于解码数据播放所述音视频。
在一些实施例中,所述二次封装结构包括头部信息和载荷信息,所述头部信息包括分别用于表示音频、视频和配置信息的字符,所述载荷信息包括所述流媒体格式的音频数据、所述流媒体格式的视频数据、以及所述流媒体格式的音视频数据的配置信息。
在一些实施例中,所述流媒体格式的音视频数据的配置信息包括以下信息:视频编码的长度、视频字符编码串、视频宽度、视频高度、音频编码的长度、音频字符编码串、音频采样率、以及音频通道数。
在一些实施例中,所述流媒体格式的音频数据和视频数据的头部为无符号8位字符型,所述流媒体格式的视频数据中包括布尔型数据,所述布尔型数据用于区分所述视频数据的关键帧。
在一些实施例中,所述流媒体格式被自定义为支持所述音视频数据的编码格式。
本申请还提供一种音视频处理装置,例如,如图6所示,音视频处理装置300应用于面向浏览器的直播场景,音视频处理装置300包括接收模块310、解码模块320和播放模块330,其中,接收模块310用于接收音视频数据,其中,所述音视频数据是对封装为特定的流媒体格式的音视频数据进行二次封装后得到的具有二次封装结构的音视频数据;解码模块320用于基于webcodec编解码标准,对所述音视频数据进行解码,得到解码数据;播放模块330用于基于所述解码数据,播放所述音视频。
在一些实施例中,所述二次封装结构包括头部信息和载荷信息,所述头部信息包括分别用于表示音频、视频和配置信息的字符,所述载荷信息包括所述流媒体格式的音频数据、所述流媒体格式的视频数据、以及所述流媒体格式的音视频数据的配置信息。
在一些实施例中,所述流媒体格式的音视频数据的配置信息包括以下信息:视频编码的长度、视频字符编码串、视频宽度、视频高度、音频编码的长度、音频字符编码串、音频采样率、以及音频通道数。
在一些实施例中,播放模块330具体用于,基于AudioWorklet获取所述音视频数据中音频数据的解码数据,并基于所述音频数据的解码数据播放音频。
本申请还提供一种服务器,如图7所示,服务器400包括处理器410和存储器420,存储器420用于存储指令,处理器410用于执行所述指令,以实现上述任一实施例中所述的音视频处理方法100中由服务器执行的操作。
可选地,如图7所示,服务器400还可以包括收发器430,处理器410可以控制收发器430与其他装置或者系统例如浏览器等进行通信。例如,可以向浏览器发送经处理的音视频数据和/或接收浏览器发送的数据。
应理解,服务器400对音视频数据进行处理的具体方式及其产生的有益效果,可以参见上述针对方法100的相关描述,为了简便,这里不再赘述。
本申请还提供一种浏览器,如图8所示,浏览器500包括处理器510和存储器520,存储器520用于存储指令,处理器510用于执行所述指令,以实现上述任一实施例中所述的音视频处理方法100中由浏览器执行的操作。
可选地,如图8所示,浏览器500还可以包括收发器530,处理器510可以控制收发器530与其他装置或者系统例如服务器等进行通信。例如,可以接收服务器发送的经处理的音视频数据和/或向服务器发送数据。
本申请还提供一种计算机可读存储介质,用于存储计算机程序,当计算机程序被计算设备执行时,使得计算设备实现上述任一实施例中所述的方法100中由服务器执行的操作。可选地,该计算机程序可以为服务器中的计算机程序。
本申请还提供一种计算机可读存储介质,用于存储计算机程序,当计算机程序被计算设备执行时,使得计算设备实现上述任一实施例中所述的方法100中由浏览器执行的操作。可选地,该计算机程序可以为浏览器中的计算机程序。
本申请还提供一种直播系统,该直播系统包括服务器和浏览器,服务器用于获取音视频数据的原始流并对其进行编码和封装等处理后发送给浏览器,浏览器用于对接收到的音视频数据进行解码等处理并向用户播放音视频。
可以理解,本申请实施例中的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
另外,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或者包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或者闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
在本申请实施例中,各个步骤的序号的大小并不意味着执行顺序的先后,各个步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
虽然已经参考优选实施例对本申请进行了描述,但在不脱离本申请的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件。尤其是,只要不存在结构冲突,各个实施例中所提到的各项技术特征均可以任意方式组合。本申请并不局限于文中公开的特定实施例,而是包括落入权利要求的范围内的所有技术方案。

Claims (13)

1.一种音视频处理方法,其特征在于,应用于面向浏览器的直播场景,所述方法由服务器执行,所述方法包括:
获取音视频数据的原始流;
对所述原始流的头部信息进行嗅探,以获取所述原始流对应的RFC 6381标准中的字符编码串,所述字符编码串用于标识所述音视频数据的编码格式;
基于所述字符编码串,对封装为特定的流媒体格式的所述音视频数据进行二次封装,得到具有二次封装结构的所述音视频数据;
向所述浏览器发送具有所述二次封装结构的所述音视频数据,所述浏览器用于采用webcodec编解码标准对接收到的所述音视频数据进行解码,并基于解码数据播放所述音视频。
2.根据权利要求1所述的方法,其特征在于,所述二次封装结构包括头部信息和载荷信息,所述头部信息包括分别用于表示音频、视频和配置信息的字符,所述载荷信息包括所述流媒体格式的音频数据、所述流媒体格式的视频数据、以及所述流媒体格式的音视频数据的配置信息。
3.根据权利要求2所述的方法,其特征在于,所述流媒体格式的音视频数据的配置信息包括以下信息:
视频编码的长度、视频字符编码串、视频宽度、视频高度、音频编码的长度、音频字符编码串、音频采样率、以及音频通道数。
4.根据权利要求2或3所述的方法,其特征在于,所述流媒体格式的音频数据和视频数据的头部为无符号8位字符型,所述流媒体格式的视频数据中包括布尔型数据,所述布尔型数据用于区分所述视频数据的关键帧。
5.根据权利要求2或3所述的方法,其特征在于,所述流媒体格式被自定义为支持所述音视频数据的编码格式。
6.一种音视频处理方法,其特征在于,应用于面向浏览器的直播场景,所述方法由浏览器执行,所述方法包括:
接收音视频数据,其中,所述音视频数据是对封装为特定的流媒体格式的音视频数据进行二次封装后得到的具有二次封装结构的音视频数据,且包括其原始流对应的RFC 6381标准中的字符编码串;
基于webcodec编解码标准,对所述音视频数据进行解码,得到解码数据;
基于所述解码数据,播放所述音视频。
7.根据权利要求6所述的方法,其特征在于,所述二次封装结构包括头部信息和载荷信息,所述头部信息包括分别用于表示音频、视频和配置信息的字符,所述载荷信息包括所述流媒体格式的音频数据、所述流媒体格式的视频数据、以及所述流媒体格式的音视频数据的配置信息。
8.根据权利要求7所述的方法,其特征在于,所述流媒体格式的音视频数据的配置信息包括以下信息:
视频编码的长度、视频字符编码串、视频宽度、视频高度、音频编码的长度、音频字符编码串、音频采样率、以及音频通道数。
9.根据权利要求6至8中任一项所述的方法,其特征在于,所述基于所述解码数据,播放所述音视频,包括:
基于AudioWorklet获取所述音视频数据中音频数据的解码数据,并基于所述音频数据的解码数据播放音频。
10.一种音视频处理装置,其特征在于,应用于面向浏览器的直播场景,所述装置包括:
获取模块,用于获取音视频数据的原始流;
处理模块,用于:
对所述获取模块获取的所述原始流的头部信息进行嗅探,以获取所述原始流对应的RFC 6381标准中的字符编码串,所述字符编码串用于标识所述音视频数据的编码格式;
基于所述字符编码串,对封装为特定的流媒体格式的所述音视频数据进行二次封装,得到具有二次封装结构的所述音视频数据;以及,
向所述浏览器发送具有所述二次封装结构的所述音视频数据,所述浏览器用于采用webcodec编解码标准对接收到的所述音视频数据进行解码,并基于解码数据播放所述音视频。
11.一种音视频处理装置,其特征在于,应用于面向浏览器的直播场景,所述装置包括:
接收模块,用于接收音视频数据,其中,所述音视频数据是对封装为特定的流媒体格式的音视频数据进行二次封装后得到的具有二次封装结构的音视频数据;
解码模块,用于基于webcodec编解码标准,对所述音视频数据进行解码,得到解码数据;
播放模块,用于基于所述解码数据,播放所述音视频。
12.一种服务器,其特征在于,包括处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,以实现根据权利要求1至5中任一项所述的音视频处理方法。
13.一种浏览器,其特征在于,包括处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,以实现根据权利要求6至9中任一项所述的音视频处理方法。
CN202410168728.9A 2024-02-05 2024-02-05 音视频处理方法、音视频处理装置、服务器和浏览器 Pending CN117956224A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410168728.9A CN117956224A (zh) 2024-02-05 2024-02-05 音视频处理方法、音视频处理装置、服务器和浏览器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410168728.9A CN117956224A (zh) 2024-02-05 2024-02-05 音视频处理方法、音视频处理装置、服务器和浏览器

Publications (1)

Publication Number Publication Date
CN117956224A true CN117956224A (zh) 2024-04-30

Family

ID=90792211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410168728.9A Pending CN117956224A (zh) 2024-02-05 2024-02-05 音视频处理方法、音视频处理装置、服务器和浏览器

Country Status (1)

Country Link
CN (1) CN117956224A (zh)

Similar Documents

Publication Publication Date Title
JP7087028B2 (ja) 受信装置、受信方法および表示装置
CN111343460B (zh) 接收装置、显示设备及接收方法
EP3399752B1 (en) Image decoding method and decoding device
US11638066B2 (en) Method, device and computer program for encapsulating media data into a media file
KR20180081091A (ko) 기본 스트림들로부터 디코딩된 비디오 콘텐츠를 디스플레이의 특성들에 적응시키기 위한 방법 및 디바이스
EP4236331A2 (en) Data processor and transport of user control data to audio decoders and renderers
JP6862830B2 (ja) 送信装置、送信方法、受信装置および受信方法
WO2017038103A1 (en) Systems and methods for signaling of video parameters and information associated with caption services
CN111683293A (zh) 一种基于http-flv协议的跨浏览器播放h.265视频的方法
EP3288270B1 (en) Broadcasting signal transmission device, broadcasting signal reception device, broadcasting signal transmission method, and broadcasting signal reception method
CN113766317A (zh) 视频传输方法、装置、电子设备和存储介质
JP6710970B2 (ja) 送信装置および送信方法
US10536665B2 (en) Device for transmitting broadcast signal, device for receiving broadcast signal, method for transmitting broadcast signal, and method for receiving broadcast signal
KR20180098117A (ko) 디코딩된 이미지 데이터로부터 이미지 데이터를 재구성하기 위한 방법 및 디바이스
WO2020093931A1 (zh) 字幕数据处理方法、装置、设备和计算机存储介质
WO2022222656A1 (zh) 码流处理方法、装置、终端设备及存储介质
CN112954433A (zh) 视频处理方法、装置、电子设备及存储介质
US9936266B2 (en) Video encoding method and apparatus
CN111010593A (zh) 基于flv格式封装h.265视频数据的方法和装置
JP2018520546A (ja) オーディオビデオ・コンテンツをレンダリングする方法、この方法を実施するためのデコーダ、及びこのオーディオビデオ・コンテンツをレンダリングするためのレンダリング装置
CN110198458B (zh) 一种加密音视频数据的处理方法及装置
CN117956224A (zh) 音视频处理方法、音视频处理装置、服务器和浏览器
EP3668101B1 (en) Transmission device, transmission method, reception device, and reception method
US10812838B2 (en) Transmission device, transmission method, reception device, and reception method
CN113055706A (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