CN114173157B - 视频流传输方法及装置、电子设备、存储介质 - Google Patents

视频流传输方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN114173157B
CN114173157B CN202111509414.3A CN202111509414A CN114173157B CN 114173157 B CN114173157 B CN 114173157B CN 202111509414 A CN202111509414 A CN 202111509414A CN 114173157 B CN114173157 B CN 114173157B
Authority
CN
China
Prior art keywords
video frame
format
video
information
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111509414.3A
Other languages
English (en)
Other versions
CN114173157A (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.)
Guangzhou Boguan Information Technology Co Ltd
Original Assignee
Guangzhou Boguan Information 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 Guangzhou Boguan Information Technology Co Ltd filed Critical Guangzhou Boguan Information Technology Co Ltd
Priority to CN202111509414.3A priority Critical patent/CN114173157B/zh
Publication of CN114173157A publication Critical patent/CN114173157A/zh
Application granted granted Critical
Publication of CN114173157B publication Critical patent/CN114173157B/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/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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server

Landscapes

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

Abstract

本公开提供了一种视频流传输方法及装置、电子设备、存储介质,涉及计算机技术领域。该视频流传输方法包括:获取目标视频流,并对目标视频流进行解码处理得到原始视频帧;目标视频流为包含透明通道视频的媒体数据流;将原始视频帧转换为指定格式视频帧,并对指定格式视频帧进行拆分处理得到标准格式视频帧;对标准格式视频帧进行编码和封装处理生成目标格式的标准视频流;将标准视频流发送至目标服务器,以通过目标服务器对标准视频流进行还原处理得到与目标视频流对应的指定格式视频帧,实现目标视频流的实时传输。本公开实施例的技术方案可以实时传输包含透明通道视频帧的视频流。

Description

视频流传输方法及装置、电子设备、存储介质
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种视频流传输方法、视频流传输装置、电子设备以及计算机可读存储介质。
背景技术
随着互联网技术的快速发展,直播领域也有了较大的发展空间,直播间播放的视频素材也越来越多样化,包含透明通道的视频素材也成为丰富直播画面不可缺少的素材。
然而,相关的导播制作大都是通过硬件导播台或单机导播软件,无法满足多机交互制作的要求。如何实时传输包含透明通道的视频流,并可以通过多机同步交互制作包含透明通道的视频流,以丰富直播视频内容,成为直播领域丞待解决的技术问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例的目的在于提供一种视频流传输方法、视频流传输装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服包含透明通道视频帧的视频流无法实时传输,以及交互制作的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的第一方面,提供了一种视频流传输方法,包括:获取目标视频流,并对所述目标视频流进行解码处理得到原始视频帧;所述目标视频流为包含透明通道的媒体数据流;将所述原始视频帧转换为指定格式视频帧,并对所述指定格式视频帧进行拆分处理得到标准格式视频帧;对所述标准格式视频帧进行编码和帧封处理生成目标格式的标准视频流;将所述标准视频流发送至目标服务器,以通过所述目标服务器对所述标准视频流进行还原处理得到与所述目标视频流对应的所述指定格式视频帧,实现所述目标视频流的实时传输。
在本公开的一些示例实施例中,基于前述方案,所述对所述目标视频流进行解码处理得到原始视频帧,包括:读取所述目标视频流的封装格式数据,并按照所述封装格式数据对所述目标视频流进行解封装,得到包含解码格式数据的待解码视频帧;通过与所述解码格式数据对应的解码器对所述待解码视频帧进行解码处理,得到原始视频帧。
在本公开的一些示例实施例中,基于前述方案,将所述原始视频帧转换为指定格式视频帧,包括:获取所述原始视频帧的像素格式信息,以及指定像素格式信息;在检测到所述像素格式信息与所述指定像素格式信息不匹配时,将所述原始视频帧转换为与所述指定像素格式信息对应的指定格式视频帧。
在本公开的一些示例实施例中,基于前述方案,所述对所述指定格式视频帧进行拆分处理得到标准格式视频帧,包括:读取所述指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明通道信息;基于所述明亮度信息、所述色彩饱和度信息,以及所述透明通道信息对所述指定格式视频帧进行拆分处理得到标准格式视频帧。
在本公开的一些示例实施例中,基于前述方案,所述基于所述明亮度信息、所述色彩饱和度信息,以及所述透明通道信息对所述指定格式视频帧进行拆分处理得到标准格式视频帧,包括:基于所述明亮度信息、所述色彩饱和度信息生成与所述指定格式视频帧对应的第一待编码视频帧;按照所述透明通道信息、所述色彩饱和度信息生成与所述指定格式视频帧对应的第二待编码视频帧;将所述第一待编码视频帧和所述第二待编码视频帧作为对所述指定格式视频帧进行拆分处理得到标准格式视频帧。
在本公开的一些示例实施例中,基于前述方案,所述方法还包括:读取所述指定格式视频帧的时间配置信息,并按照所述时间配置信息设置所述标准格式视频帧的时间参数,以根据所时间参数将所述标准格式视频帧还原为所述指定格式视频帧。
在本公开的一些示例实施例中,基于前述方案,所述通过所述目标服务器对所述标准视频流进行还原处理得到与所述目标视频流对应的所述指定格式视频帧,包括:通过所述目标服务器对所述标准视频流进行解封装处理,得到包含所述时间参数的标准格式视频帧;基于所述目标服务器读取所述标准格式视频帧的当前明亮度信息、当前色彩饱和度信息,以及当前透明通道信息,并将所述当前明亮度信息、当前色彩饱和度信息,以及当前透明通道信息分别作为与所述时间参数匹配的所述指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明度信息。
在本公开的一些示例实施例中,基于前述方案,所述方法还包括:读取业务请求,并获取与所述所述业务请求对应的直播画面;将所述指定格式视频帧叠加至所述直播画面生成直播合成视频帧,以通过所述直播合成视频帧更新所述目标视频流。
根据本公开实施例的第二方面,提供了一种视频流传输装置,包括:原始视频帧获取模块,用于获取目标视频流,并对所述目标视频流进行解码处理得到原始视频帧;所述目标视频流为包含透明通道的媒体数据流;视频帧格式转换模块,用于将所述原始视频帧转换为指定格式视频帧,并对所述指定格式视频帧进行拆分处理得到标准格式视频帧;待推流视频帧生成模块,用于对所述标准格式视频帧进行编码和封装处理生成目标格式的标准视频流;推流模块,用于将所述标准视频流发送至目标服务器,以通过所述目标服务器对所述标准视频流进行还原处理得到与所述目标视频流对应的所述指定格式视频帧,实现所述目标视频流的实时传输。
在本公开的一些示例实施例中,基于前述方案,所述原始视频帧获取模块包括原始视频帧获取单元,所述原始视频帧获取单元用于读取所述目标视频流的封装格式数据,并按照所述封装格式数据对所述目标视频流进行解封装,得到包含解码格式数据的待解码视频帧;通过与所述解码格式数据对应的解码器对所述待解码视频帧进行解码处理,得到原始视频帧。
在本公开的一些示例实施例中,基于前述方案,所述视频帧格式转换模块包括检测单元,所述检测单元用于获取所述原始视频帧的像素格式信息,以及指定像素格式信息;在检测到所述像素格式信息与所述指定像素格式信息不匹配时,将所述原始视频帧转换为与所述指定像素格式信息对应的指定格式视频帧。
在本公开的一些示例实施例中,基于前述方案,所述视频帧格式转换模块包括还包括视频帧拆分单元,所述拆分单元用于读取所述指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明通道信息;基于所述明亮度信息、所述色彩饱和度信息,以及所述透明通道信息对所述指定格式视频帧进行拆分处理得到标准格式视频帧。
在本公开的一些示例实施例中,基于前述方案,所述视频帧格式转换模块还包括标准格式视频帧生成单元,所述标准格式视频帧生成单元用于基于所述明亮度信息、所述色彩饱和度信息生成与所述指定格式视频帧对应的第一待编码视频帧;按照所述透明通道信息、所述色彩饱和度信息生成与所述指定格式视频帧对应的第二待编码视频帧;将所述第一待编码视频帧和所述第二待编码视频帧作为对所述指定格式视频帧进行拆分处理得到标准格式视频帧。
在本公开的一些示例实施例中,基于前述方案,所述视频流传输装置还包括时间参数设置模块,所述时间参数设置模块用于读取所述指定格式视频帧的时间配置信息,并按照所述时间配置信息设置所述标准格式视频帧的时间参数,以根据所时间参数将所述标准格式视频帧还原为所述指定格式视频帧。
在本公开的一些示例实施例中,基于前述方案,所述视频流传输装置还包括还原处理模块,所述还原处理模块,用于通过所述目标服务器对所述标准视频流进行解封装处理,得到包含所述时间参数的标准格式视频帧;基于所述目标服务器读取所述标准格式视频帧的当前明亮度信息、当前色彩饱和度信息,以及当前透明通道信息,并将所述当前明亮度信息、当前色彩饱和度信息,以及当前透明通道信息分别作为与所述时间参数匹配的所述指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明度信息。
在本公开的一些示例实施例中,基于前述方案,所述视频流传输装置还包括合成视频帧制作模块,所述合成视频帧制作模块用于读取业务请求,并读取与所述业务请求对应的直播画面;将所述指定格式视频帧叠加至所述直播画面生成直播合成视频帧,以通过所述直播合成视频帧更新所述目标视频流。
根据本公开实施例的第三方面,提供了一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述任意一项所述的视频流传输方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据上述任意一项所述的视频流传输方法。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开的示例实施例中的视频流传输方法,获取目标视频流,并对目标视频流进行解码处理得到原始视频帧;目标视频流为包含透明通道的媒体数据流;将原始视频帧转换为指定格式视频帧,并对指定格式视频帧进行拆分处理得到标准格式视频帧;对标准格式视频帧进行编码和封装处理生成目标格式的标准视频流;将标准视频流发送至目标服务器,以通过目标服务器对标准视频流进行还原处理得到与目标视频流对应的指定格式视频帧,实现目标视频流的实时传输。一方面,可以将目标视频流解码处理后的原始视频帧进行格式转换以及拆分处理得到标准格式视频帧,并通过对标准格式视频帧进行编码和封装处理生成标准视频流,以将标准视频流推流到目标服务器中,实现了包含透明通道的视频流的实时传输;另一方面,通过将包含透明通道的目标视频流转换成标准视频流,直接将标准视频流推流到目标服务器,避免了硬件导播台的搬运成本,进而降低了目标视频流的传输成本,提高了传输包含透明通道的视频流的灵活性;再一方面,目标服务器可以通过对标准视频流进行还原处理得到与目标视频流对应的指定格式视频帧,并对指定格式视频帧进行二次制作,提高了二次制作目标视频流的协作效率,也提高了目标视频流的更新效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本公开的一些实施例的视频流传输方法流程的示意图;
图2示意性示出了根据本公开的一些实施例的格式转换方法流程的示意图;
图3示意性示出了根据本公开的一些实施例的标准格式视频帧生成方法流程的示意图;
图4示意性示出了根据本公开的一些实施例的目标视频流推流方法流程的示意图;
图5示意性示出了根据本公开的一些实施例的指定格式视频帧还原方法流程的示意图;
图6示意性示出了根据本公开的一些实施例的目标视频流拉流方法流程的示意图;
图7示意性示出了根据本公开的一些实施例的视频流传输装置的示意图;
图8示意性示出了根据本公开的一些实施例的电子设备的计算机系统的结构示意图;
图9示意性示出了根据本公开的一些实施例的计算机可读存储介质的示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
此外,附图仅为示意性图解,并非一定是按比例绘制。附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在本示例实施例中,首先提供了一种视频流传输方法,该视频流传输方法可以应用于服务器或服务器集群。图1示意性示出了根据本公开的一些实施例的视频流传输方法流程的示意图。参考图1所示,该视频流传输方法可以包括以下步骤:
在步骤S110中,获取目标视频流,并对所述目标视频流进行解码处理得到原始视频帧;所述目标视频流为包含透明通道的媒体数据流;
在步骤S120中,将所述原始视频帧转换为指定格式视频帧,并对所述指定格式视频帧进行拆分处理得到标准格式视频帧;
在步骤S130中,对所述标准格式视频帧进行编码和封装处理生成目标格式的标准视频流;
在步骤S140中,将所述标准视频流发送至目标服务器,以通过所述目标服务器对所述标准视频流进行还原处理得到与所述目标视频流对应的所述指定格式视频帧,实现所述目标视频流的实时传输。
根据本示例实施例中的视频流传输方法,一方面,可以将目标视频流解码处理后的原始视频帧进行格式转换以及拆分处理得到标准格式视频帧,并通过对标准格式视频帧进行编码和封装处理生成标准视频流,以将标准视频流推流到目标服务器中,实现了包含透明通道的视频流的实时传输;另一方面,通过将包含透明通道的目标视频流转换成标准视频流,直接将标准视频流推流到目标服务器,避免了硬件导播台的搬运成本,进而降低了目标视频流的传输成本,提高了传输包含透明通道的视频流的灵活性;再一方面,目标服务器可以通过对标准视频流进行还原处理得到与目标视频流对应的指定格式视频帧,并对指定格式视频帧进行二次制作,提高了二次制作目标视频流的协作效率,也提高了目标视频流的更新效率。
下面,将对本示例实施例中的视频流传输方法进行进一步的说明。
在步骤S110中,获取目标视频流,并对所述目标视频流进行解码处理得到原始视频帧;所述目标视频流为包含透明通道的媒体数据流。
在本公开的一些示例实施例中,目标视频流可以指包含透明通道的媒体数据流,例如,目标视频流可以是包含透明通道的mov(是苹果公司开发的一种音频视频文件格式)封装格式的媒体数据流,目标视频流也可以是包含用于添加赞助商的广告条的透明通道的webm(一种开放、免费的媒体文件格式)封装格式的媒体数据流,目标视频流还可以包含透明度通道的其他封装格式的媒体数据流,本例实施例对此不作特殊限定。
原始视频帧可以指通过对目标视频流进行解封装后的数据包进行解码处理得到的视频帧,例如,原始视频帧可以是通过对目标视频流解封装后的数据包进行解码处理得到的RGBA(Red(红色)Green(绿色)Blue(蓝色)和Alpha(透明通道),颜色空间)像素格式的视频帧,原始视频帧也可以是通过对目标视频流解封装后的数据包进行解码处理得到的YUVA420P像素格式的视频帧,当然,原始视频帧还可以是对目标视频流解封装后的数据包进行解码处理得到的其他像素格式的视频帧,本例实施例对此不作特殊限定。其中,YUVA420P可以表示包含透明通道的YCbCr图像格式。
可以通过对目标视频流进行解封装处理,得到包含透明通道的视频轨以及音频轨,并从该视频轨中获取已编码视频帧,并通过与已编码视频帧的编码格式对应的解码器对该已编码的视频帧进行解码处理,得到原始视频帧,进而对原始视频帧进行格式转换以及拆分处理得到标准格式视频帧,按照普通的编码以及封装格式对该标准视频帧进行处理得到标准视频流。从而,可以将标准视频流按照普通视频流的推流方式推送到目标视频流。
在步骤S120中,将所述原始视频帧转换为指定格式视频帧,并对所述指定格式视频帧进行拆分处理得到标准格式视频帧。
在本公开的一些示例实施例中,指定格式视频帧可以指用于将包含透明通道的原始视频帧转换为普通视频帧的中间视频帧,例如,指定格式视频帧可以是用于将包含透明通道的RGBA格式的原始视频帧转换为YUV420P格式的普通视频帧的中间视频帧YUVA420P,指定格式视频帧也可以是用于将包含透明通道的PNG(采用无损压缩算法的位图)格式的原始视频帧转换为YUV420P格式的普通视频帧的中间视频帧YUVA420P,当然,指定格式视频帧还可以是用于将包含透明通道的其他非指定格式视频帧的原始视频帧转换为普通视频帧的中间视频帧,本例实施例对此不作特殊限定。其中,YUV420P可以指只包含明亮度信息和色彩饱和度信息的图像格式。
标准格式视频帧可以指不包含非透明通道的视频帧,例如,标准格式视频帧可以是不包含非透明通道的YUV420P格式的视频帧,标准视频帧也可以是不包含非透明通道的RGB(三基色图像)格式的视频帧,当然,标准格式视频帧还可以是不包含透明通道的其他格式的视频帧,本例实施例对此不作特殊限定。
可以检测原始视频帧的像素格式是否与指定格式视频帧对应的像素格式是否相同,若检测到原始视频帧的像素格式与指定格式视频帧对应的像素格式不相同,则将原始视频帧转换为指定格式视频帧,并将指定格式视频帧进一步转换为标准格式视频帧,进而对标准格式视频帧进行编码和封装处理,得到可以按照普通推流方法直接进行推流的标准视频流。
举例而言,原始视频帧是RGBA格式的视频帧,可以将该原始视频帧转换为指定格式视频帧如YUVA420P格式的视频帧。进而,可以将转换得到的YUVA420P格式的视频帧拆分为两个YUV420P格式的视频帧如第一YUV420P格式的视频帧,以及第二YUV420P格式的视频帧。其中,第一YUV420P格式的视频帧可以通过按照YUVA420P格式的指定格式视频帧中的Y(明亮度)分量信息,以及色彩饱和度中的U(图像蓝色投影)分量信息和V(图像红色投影)分量信息生成的,而第二YUV420P格式的视频帧可以通过按照YUVA420P格式的指定格式视频帧中的A(透明通道)分量信息,以及U分量信息和V分量信息生成的。
通过将指定格式视频帧作为原始视频帧和标准格式视频帧的转换桥梁,在将原始视频帧转换为标准格式视频帧后,可以按照普通的视频流推流方法,如使用H264编码器将视频信号进行编码,采用FLV(FLASH VIDEO,无需安装插件的流媒体)封装格式进行封装,通过RTMP(Real Time Messaging Protocol,实时消息传输协议)将视频流发送至目标服务器,提高了推送包含透明通道的视频流的兼容性和便捷性。
在步骤S130中,对所述标准格式视频帧进行编码和封装处理生成目标格式的标准视频流。
在本公开的一些示例实施例中,标准视频流可以指按照目标格式对标准格式视频帧进行编码和封装得到的视频流,例如,目标格式可以是MPEG-TS封装格式,标准视频流可以是按照MPEG-TS封装格式对编码后的标准格式视频帧进行封装处理得到的视频流,目标格式也可以是FLV封装格式,标准视频流也可以是对标准格式视频帧进行H264编码后进行FLV格式封装后得到的视频流,当然,标准视频流还可以是按照其他目标格式对标准格式视频帧进行编码和封装得到的视频流,本例实施例对此不作特殊限定。
可以将通过对包含通明通道的目标视频流进行格式转换和拆分处理得到的标准视频流推流到目标服务器,由目标服务器对标准视频流进行解封装处理和解码处理后,在对解码得到的标准格式视频帧进行还原处理得到与目标视频流对应的包含通明通道的指定格式视频帧,进而可以对包含透明通道的指定格式视频帧进行二次加工处理,实现目标视频流的实时传输,提高了二次制作目标视频流的协作效率,也提高了目标视频流的更新效率。
在步骤S140中,将所述标准视频流发送至目标服务器,以通过所述目标服务器对所述标准视频流进行还原处理得到与所述目标视频流对应的所述指定格式视频帧,实现所述目标视频流的实时传输。
在本公开的一个示例实施例中,可以将标准视频流通过网络传输协议发送至目标服务器,其中,目标服务器可以是CDN(Content Delivery Network,内容分发网络)服务器,目标服务器也可以是SRT(Secure Reliable Transpor,安全可靠传输)服务器,当然,目标服务器还可以是普通的WEB(World Wide Web,全球广域网)服务器,本例实施例对此不作特殊限定。
可以通过网络传输协议将标准视频流推送到目标服务器,例如,可以基于SRT(Secure Reliable Transport,安全可靠传输)协议将MPEG-TS(标准数据容器格式)封装格式的标准视频流推送至目标服务器,以使目标服务器对标准视频流进行解封装和解码处理后,还原得到与目标视频流对应的指定格式视频帧,实现包含透明通道的目标视频流的实时传输。
在本公开的一个示例实施例中,可以读取目标视频流的封装格式数据,并按照所述封装格式数据对目标视频流进行解封装,得到包含解码格式数据的待解码视频帧;通过与解码格式数据对应的解码器对待解码视频帧进行解码处理,得到原始视频帧。
其中,目标视频流可能是通过QTRLE编码技术编码得到的视频流,目标视频流也可能是通过VP8编码技术编码得到的视频流,目标视频流还可能是通过VP9编码技术编码得到的视频流,因此需要此采用与目标视频流的编码技术相对应的解码器对解封装后的目标视频流进行解码处理,得到目标视频流的原始视频帧。
可以按照与目标视频流的封装格式数据对应的解封装要求,对目标视频流进行解封装处理得到包含解码格式数据的待解码视频帧,进而可以通过与解码格式数据匹配的解码器对待解码视频帧进行解码处理,得到原始视频帧。
图2示意性示出了根据本公开的一些实施例的格式转换方法流程的示意图。参考图2所示,该格式转换方法可以包括以下步骤:
在步骤S210中,获取所述原始视频帧的像素格式信息,以及指定像素格式信息;
在步骤S220中,在检测到所述像素格式信息与所述指定像素格式信息不匹配时,将所述原始视频帧转换为与所述指定像素格式信息对应的指定格式视频帧。
其中,指定像素格式信息可以指与指定格式视频帧对应的像素格式信息,例如,指定格式像素信息可以是YUVA420P格式的视频帧,指定像素格式信息可以YUVA420P,当然,指定像素格式信息还可以是与其他指定格式视频帧对应的像素格式信息,本例实施例对此不作特殊限定。
可以通过读取原始视频帧的像素格式信息,并检测原始视频帧的像素格式信息是否与指定像素格式信息匹配;若检测到原始视频帧的像素格式信息与指定像素格式信息不匹配,则将原始视频帧转换为与指定像素格式信息对应的指定格式视频帧,例如,在检测到原始视频帧是包含透明通道的RGBA像素格式的视频帧,而指定像素格式信息为YUVA420P,则需要将包含透明通道的RGBA像素格式的视频帧转换为YUVA420P像素格式的视频帧。进而,通过将YUVA420P像素格式的视频帧转换为YUV420P像素格式的标准视频帧,实现包含通明通道的原始视频帧的格式转换;从而可以以普通视频帧的编码和封装格式对格式转换后的原始视频帧进行编码和封装处理得到标准视频流,并将标准视频流直接推流到目标服务器。
在本公开的一个示例实施例中,可以读取指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明通道信息;基于指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明通道信息对指定格式视频帧进行拆分处理得到标准格式视频帧。
其中,明亮度信息可以指指定格式视频帧的图像亮度分量信息。明亮度信息可以指指定格式视频帧的图像色度分量信息,例如,色彩饱和度信息可以是指定格式视频帧的图像蓝色投影分量信息,色彩饱和度信息也可以是指定格式视频帧的图像红色投影分量信息。透明通道信息可以指指定格式视频帧的图像的透明度信息,例如,透明通道信息可以是代表指定格式视频帧的图像透明的可能性信息,透明通道信息也可以是代表指定格式视频帧的图像半透明的可能性信息,透明通道信息还可以是代表指定格式视频帧的图像不透明的可能信息。
可对包含透明通道的原始视频帧进行格式转换后得到的包含透明通道的指定格式视频帧,并读取指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明通道信息,并根据该明亮度信息、色彩饱和度信息,以及透明通道信息,对指定格式视频帧进行拆分处理得到标准格式视频帧。例如,可以按照YUVA420P像素格式的指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明通道信息,将YUVA420P像素格式的指定格式视频帧拆分为两个YUV420P像素格式的标准格式视频帧。进而,可以对由指定格式视频帧拆分得到的标准格式视频帧进行编码和封装处理得到标准视频流,以将标准视频流推流到目标服务器,实现目标视频流的实时传输。
图3示意性示出了根据本公开的一些实施例的标准格式视频帧生成方法流程的示意图。参考图3所示,该标准格式视频帧生成方法可以包括以下步骤:
在步骤S310中,基于所述明亮度信息、所述色彩饱和度信息生成与所述指定格式视频帧对应的第一待编码视频帧;
在步骤S320中,按照所述透明通道信息、所述色彩饱和度信息生成与所述指定格式视频帧对应的第二待编码视频帧;
在步骤S330中,将所述第一待编码视频帧和所述第二待编码视频帧作为对所述指定格式视频帧进行拆分处理得到标准格式视频帧。
其中,第一待编码视频帧可以指按照指定格式视频帧的明亮度信息和色彩饱和度信息,对指定格式视频帧进行拆分处理得到的视频帧,例如,指定格式视频帧为YUVA420P像素格式的视频帧,第一待编码视频帧可以是按照指定格式视频帧的明亮度信息和色彩饱和度信息,对指定格式视频帧进行拆分处理得到的只包含指定格式视频帧的明亮度信息和色彩饱和度信息的YUV420P像素格式的视频帧,当然,第一待编码视频帧还可以是按照其他指定格式视频帧的明亮度信息和色彩饱和度信息,对指定格式视频帧进行拆分处理得到的视频帧,本例实施例对此不作特殊限定。
第二待编码视频帧可以指按照指定格式视频帧的透明通道信息和色彩饱和度信息,对指定格式视频帧进行拆分处理得到的视频帧,例如,指定格式视频帧为YUVA420P像素格式的视频帧,第二待编码视频帧可以是按照指定格式视频帧的透明通道信息和色彩饱和度信息对,对指定格式视频帧进行拆分处理得到的只包含指定视频帧的通道透明度信息和色彩饱和度信息的YUV420P像素格式的视频帧,当然,第二待编码视频帧还可以是按照其他指定格式视频帧的透明通道信息和色彩饱和度信息进行拆分处理得到的视频帧,本例实施例对此不作特殊限定。
可以通过读取由包含透明通道的原始视频帧进行格式转换后的指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明通道信息,并按照指定格式视频帧的明亮度信息和色彩饱和度信息对指定格式视频帧进行拆分处理得到只包含指定格式视频帧的明亮度信息和色彩饱和度信息的第一待编码视频帧。同时,可以按照指定格式视频帧的透明通道信息和色彩饱和度信息对指定格式视频帧进行拆分处理得到只包含指定格式视频帧的透明通道信息和色彩饱和度信息的第二待编码视频帧。进而,可以使用两个如H264编码器分别将第一待编码帧和第二待编码帧进行编码处理得到第一待封装视频帧和第二待封装视频帧,并将该第一待封装视频帧和该第二待封装视频帧发送大不同的视频轨,再使用MPEG-TS封装格式对不同视频轨中的待封装视频帧进行封装处理得到标准视频流。从而,可以使用SRT协议将封装后的标准视频流发送至视频服务器或CDN服务器,实现目标视频流的推流。
图4示意性示出了根据本公开的一些实施例的目标视频流推流方法流程的示意图。参考图4所示,该目标视频流推流方法可以包括以下步骤:
在步骤S410中,对包含透明通道的目标视频流进行解封装处理,得到包含透明通道的视频轨以及音频轨;
在步骤S420中,对视频轨中的已编码视频帧进行解码处理得到原始视频帧;
在步骤S430中,若检测到原始视频帧不是指定格式视频帧,则将原始视频帧转换为指定格式视频帧;
在步骤S440中,按照指定格式视频帧的明亮度信息、色彩饱和度信息对指定格式视频帧进行拆分处理得到第一待编码视频帧,按照指定格式视频帧的透明通道信息和色彩饱和度信息对指定格式视频帧进行拆分处理得到第二待编码视频帧;
在步骤S450中,分别对第一待编码视频帧和第二待编码视频帧进行编码处理,并将编码后的视频帧分别发送至不同视频轨;
在步骤S460中,对不同视频轨中的编码后的视频帧进行封装处理,并将封装处理后的标准视频流推送到目标服务器。
其中,从视频轨中获取的已编码视频帧可能是通过采用不同的编码技术进行编码处理得到的视频帧,需要通过与已编码视频帧的编码格式对应的解码器对已编码视频帧进行解码处理。
可以通过对目标视频流进行解封装和解码处理得到的原始视频帧,并对非指定格式的原始视频帧进行格式转换,得到与原始视频帧对应的指定格式视频帧。进而,读取指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明通道信息,并按照指定格式视频帧的明亮度信息和色彩饱和度信息对指定格式视频帧进行拆分处理得到第一待编码视频帧,同时按照指定格式视频帧的透明度通道信息对指定格式视频帧进行拆分处理得到第二待编码视频帧,例如,读取YUVA420P像素格式的指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明通道信息,按照YUVA420P的Y分量信息,以及U分量信息和V分量信息,对YUVA420P进行拆分处理得到包含YUVA420P的Y分量信息,以及U分量信息和V分量信息的YUV420P格式的第一待编码视频帧,同时,按照YUVA420P的A分量信息,以及U分量信息和V分量信息,对YUVA420P进行拆分处理得到包含YUVA420P的A分量信息,以及U分量信息和V分量信息的YUV420P格式的第二待编码视频帧。
从而,将由指定格式视频帧拆分处理得到第一待编码视频帧和第二待编码视频帧发送至不同的视频轨中,并通过不同的编码器对不同视频轨中的待编码视频帧进行编码处理,以及按照目标格式的对编码后的视频帧进行封装处理,如使用MPEG-TS封装格式进行编码后的视频帧进行封装处理。同时,可以通过网络传输协议如SRT协议将封装后的标准视频流发送至视频服务器或CDN服务器,完成目标视频流完整的推流过程。
在本公开的一个示例实施例中,可以读取指定格式视频帧的时间配置信息,并按照指定格式视频帧的时间配置信息设置标准格式视频帧的时间参数,以根据该时间参数将标准格式视频帧还原为指定格式视频帧。
其中,时间参数可以指与对目标视频流进行解封装处理后得到的原始视频帧的时间配置信息匹配的参数,例如,时间参数可以是与对目标视频流进行解封装处理后得到的原始视频帧的包含编码时间戳、播放时间戳、播放时长等时间配置信息匹配的参数,当然,时间参数还可以是与对目标视频流进行接封装处理后得到的原始视频帧的其他时间配置信息匹配的参数,本例实施例对此不作特殊限定。
可以按照指定格式视频帧的时间参数设置标准格式视频帧的时间参数,进而可以将时间参数与指定格式视频帧的时间配置信息相同的标准格式视频帧还原为指定格式视频帧。
图5示意性示出了根据本公开的一些实施例的指定格式视频帧还原方法流程的示意图。参考图5所示,该指定格式视频帧还原方法可以包括以下步骤:
在步骤S510中,通过所述目标服务器对所述标准视频流进行解封装处理,得到包含所述时间参数的标准格式视频帧;
在步骤S520中,基于所述目标服务器读取所述标准格式视频帧的当前明亮度信息、当前色彩饱和度信息,以及当前透明通道信息,并将所述当前明亮度信息、当前色彩饱和度信息,以及当前透明通道信息分别作为与所述时间参数匹配的所述指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明度信息。
其中,标准格式视频帧的当前透明通道信息可以指标准格式视频帧中包含通明通道的视频帧的当前透明通道信息。
可以通过目标服务器读取标准格式视频帧的当前明亮度信息、当前饱和度信息、当前透明通道信息,并基于标准格式视频帧的时间参数,按照当前明亮度信息、当前饱和度信息、当前透明通道信息将标准格式视频帧还原为与该时间参数匹配的指定格式视频帧。例如,标准格式视频帧为包含时间参数的YUV420P像素格式的第一视频帧和YUV420P像素格式的第二视频帧,其中,YUV420P像素格式的第一视频帧为包含当前明亮度信息和当前色彩饱和度的视频帧,YUV420P像素格式的第二视频帧为包含当前色彩饱和度和当前透明通道信息的视频帧,可以按照YUV420P像素格式的第一视频帧中的当前明亮度信息、当前饱和度信息和YUV420P像素格式的第二视频帧中的当前透明通道信息,将标准格式视频帧还原为与标准格式视频帧的时间参数匹配的指定格式视频帧。
图6示意性示出了根据本公开的一些实施例的目准视频流拉流方法流程的示意图。参考图6所示,该目准视频流拉流方法可以包括以下步骤:
在步骤S610中,目标服务器对标准视频流进行解封装处理,得到包含不同已编码视频帧的视频轨和音频轨;
在步骤S620中,对视频轨中的已编码视频帧进行解码处理得到标准格式视频帧;
在步骤S630中,将时间参数相同的标准格式视频帧还原为标准视频流中的指定格式视频帧。
其中,目标服务器对标准视频流进行解封装处理得到的包含不同已编码视频帧,可以通过与已编码视频帧的编码格式对应的解码器对该已编码视频帧进行解码处理得到标准格式视频帧。
可以通过目标服务器对标准视频流进行解封装处理,确定已编码视频帧的时间参数,并基于解码器对解封装后的已编码视频帧进行解码处理得到标准格式视频帧。进而,可以读取相同时间参数的标准格式视频帧的透明通道信息、明亮度信息、色彩饱和度信息还原得到与目标视频流对应的指定格式视频帧。例如,将相同时间参数的包含色彩饱和度信息和明亮度信息的YUV420P像素格式的第一视频帧,和包含透明通道信息和色彩饱和度信息的YUV420P像素格式的第二视频帧,还原为包含透明通道信息、明亮度信息、色彩饱和度信息的YUVA420P像素格式的指定格式视频帧。
在本公开的一个示例实施例中,可以读取业务请求,并获取与业务请求对应的直播画面;将指定格式视频帧叠加至直播画面生成直播合成视频帧,以通过直播合成视频帧更新所述目标视频流。
其中,直播合成视频帧可以指获取与业务请求对应的直播画面,并将与目标视频流对应的指定格式视频帧叠加至该直播画面得到的视频帧,例如,与业务请求对应的直播画面可以是直播中主播的人物头像,指定格式视频帧可以是四周有烟花美术效果且中间是透明镂空的头像框视频帧,直播合成视频帧可以是将四周有烟花美术效果且中间是透明镂空的头像框视频帧叠加至主播的人物头像的直播画面得到的具有边框特效的主播头像视频帧,当然,直播合成视频帧还可以是将包含其他内容的指定格式视频帧叠加至其他直播画面得到的其他视频帧,本例实施例对此不作特殊限定。
可以读取业务请求,并获取与业务请求对应的直播画面,以将与目标视频流对应的指定格式视频帧叠加至直播画面中,得到直播合成视频帧,并通过直播合成视频帧更新目标视频流,实现目标视频流的实时更新。例如,可以按照业务请求从直播视频流中获取赞助商对应的商标画面,以将与目标视频流对应的指定格式视频帧如中间镂空,四周有边框特效的指定格式视频帧插入至该商标画面,得到直播合成视频帧,并通过直播合成视频帧更新目标视频流,同时提高赞助商的宣传力度,当然,还可以是通过将目标视频流中指定格式视频帧叠加至与业务请求对应的其他直播画面得到具有其他虚拟特效的合成视频帧,以提高用户的观赏体验。
需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
此外,在本示例实施例中,还提供了一种视频流传输装置。参照图7所示,该视频流传输装置700包括:原始视频帧获取模块710、视频帧格式转换模块720、待推流视频帧生成模块730、推流模块740。其中:原始视频帧获取模块710,用于获取目标视频流,并对所述目标视频流进行解码处理得到原始视频帧;所述目标视频流为包含透明通道的媒体数据流;视频帧格式转换模块720,用于将所述原始视频帧转换为指定格式视频帧,并对所述指定格式视频帧进行拆分处理得到标准格式视频帧;待推流视频帧生成模块730,用于对所述标准格式视频帧进行编码和封装处理生成目标格式的标准视频流;推流模块740,用于将所述标准视频流发送至目标服务器,以通过所述目标服务器对所述标准视频流进行还原处理得到与所述目标视频流对应的所述指定格式视频帧,实现所述目标视频流的实时传输。
在本公开的一些示例实施例中,基于前述方案,所述原始视频帧获取模块710包括原始视频帧获取单元,所述原始视频帧获取单元用于读取所述目标视频流的封装格式数据,并按照所述封装格式数据对所述目标视频流进行解封装,得到包含解码格式数据的待解码视频帧;通过与所述解码格式数据对应的解码器对所述待解码视频帧进行解码处理,得到原始视频帧。
在本公开的一些示例实施例中,基于前述方案,所述视频帧格式转换模块720包括检测单元,所述检测单元用于获取所述原始视频帧的像素格式信息,以及指定像素格式信息;在检测到所述像素格式信息与所述指定像素格式信息不匹配时,将所述原始视频帧转换为与所述指定像素格式信息对应的指定格式视频帧。
在本公开的一些示例实施例中,基于前述方案,所述视频帧格式转换模块720包括还包括视频帧拆分单元,所述拆分单元用于读取所述指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明通道信息;基于所述明亮度信息、所述色彩饱和度信息,以及所述透明通道信息对所述指定格式视频帧进行拆分处理得到标准格式视频帧。
在本公开的一些示例实施例中,基于前述方案,所述视频帧格式转换模块720还包括标准格式视频帧生成单元,所述标准格式视频帧生成单元用于基于所述明亮度信息、所述色彩饱和度信息生成与所述指定格式视频帧对应的第一待编码视频帧;按照所述透明通道信息、所述色彩饱和度信息生成与所述指定格式视频帧对应的第二待编码视频帧;将所述第一待编码视频帧和所述第二待编码视频帧作为对所述指定格式视频帧进行拆分处理得到标准格式视频帧。
在本公开的一些示例实施例中,基于前述方案,所述视频流传输装置700还包括时间参数设置模块,所述时间参数设置模块用于读取所述指定格式视频帧的时间配置信息,并按照所述时间配置信息设置所述标准格式视频帧的时间参数,以根据所时间参数将所述标准格式视频帧还原为所述指定格式视频帧。
在本公开的一些示例实施例中,基于前述方案,所述视频流传输装置710还包括还原处理模块,所述还原处理模块,用于通过所述目标服务器对所述标准视频流进行解封装处理,得到包含所述时间参数的标准格式视频帧;基于所述目标服务器读取所述标准格式视频帧的当前明亮度信息、当前色彩饱和度信息,以及当前透明通道信息,并将所述当前明亮度信息、当前色彩饱和度信息,以及当前透明通道信息分别作为与所述时间参数匹配的所述指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明度信息。
在本公开的一些示例实施例中,基于前述方案,所述视频流传输装置700还包括合成视频帧制作模块,所述合成视频帧制作模块用于读取业务请求,并读取与所述业务请求对应的直播画面;将所述指定格式视频帧叠加至所述直播画面生成直播合成视频帧,以通过所述直播合成视频帧更新所述目标视频流。
上述中视频流传输装置各模块的具体细节已经在对应的视频流传输方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了视频流传输装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述视频流传输方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
下面参照图8来描述根据本公开的这种实施例的电子设备800。图8所示的电子设备80仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830、显示单元840。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。例如,所述处理单元810可以执行如图1中所示的步骤S110,获取目标视频流,并对所述目标视频流进行解码处理得到原始视频帧;所述目标视频流为包含透明通道的媒体数据流;步骤S120,将所述原始视频帧转换为指定格式视频帧,并对所述指定格式视频帧进行拆分处理得到标准格式视频帧;步骤S130,对所述标准格式视频帧进行编码和封装处理生成目标格式的标准视频流;步骤S140,将所述标准视频流发送至目标服务器,以通过所述目标服务器对所述标准视频流进行还原处理得到与所述目标视频流对应的所述指定格式视频帧,实现所述目标视频流的实时传输。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)821和/或高速缓存存储单元822,还可以进一步包括只读存储单元(ROM)823。
存储单元820还可以包括具有一组(至少一个)程序模块825的程序/实用工具824,这样的程序模块825包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备870(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施例的步骤。
参考图9所示,描述了根据本公开的实施例的用于实现上述视频流传输方法的程序产品900,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施例的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (11)

1.一种视频流传输方法,其特征在于,包括:
获取目标视频流,并对所述目标视频流进行解码处理得到原始视频帧;所述目标视频流为包含透明通道的媒体数据流;
将所述原始视频帧转换为指定格式视频帧,并对所述指定格式视频帧进行拆分处理得到标准格式视频帧,所述标准格式视频帧为不包含非透明通道的视频帧,所述指定格式视频帧为用于将包含透明通道的原始视频帧转换为普通视频帧的中间视频帧;对所述标准格式视频帧进行编码和封装处理生成目标格式的标准视频流;
将所述标准视频流发送至目标服务器,以通过所述目标服务器对所述标准视频流进行还原处理得到与所述目标视频流对应的所述指定格式视频帧,实现所述目标视频流的实时传输。
2.根据权利要求1所述的视频流传输方法,所述对所述目标视频流进行解码处理得到原始视频帧,包括:
读取所述目标视频流的封装格式数据,并按照所述封装格式数据对所述目标视频流进行解封装,得到包含解码格式数据的待解码视频帧;
通过与所述解码格式数据对应的解码器对所述待解码视频帧进行解码处理,得到原始视频帧。
3.根据权利要求1所述的视频流传输方法,将所述原始视频帧转换为指定格式视频帧,包括:
获取所述原始视频帧的像素格式信息,以及指定像素格式信息,所示指定像素格式信息为与所述指定格式视频帧对应的像素格式信息;
在检测到所述像素格式信息与所述指定像素格式信息不匹配时,将所述原始视频帧转换为与所述指定像素格式信息对应的指定格式视频帧。
4.根据权利要求3所述的视频流传输方法,所述对所述指定格式视频帧进行拆分处理得到标准格式视频帧,包括:
读取所述指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明通道信息;
基于所述明亮度信息、所述色彩饱和度信息,以及所述透明通道信息对所述指定格式视频帧进行拆分处理得到标准格式视频帧。
5.根据权利要求4所述的视频流传输方法,所述基于所述明亮度信息、所述色彩饱和度信息,以及所述透明通道信息对所述指定格式视频帧进行拆分处理得到标准格式视频帧,包括:
基于所述明亮度信息、所述色彩饱和度信息生成与所述指定格式视频帧对应的第一待编码视频帧;
按照所述透明通道信息、所述色彩饱和度信息生成与所述指定格式视频帧对应的第二待编码视频帧;
将所述第一待编码视频帧和所述第二待编码视频帧作为对所述指定格式视频帧进行拆分处理得到标准格式视频帧。
6.根据权利要求1-5任一所述的视频流传输方法,所述方法还包括:
读取所述指定格式视频帧的时间配置信息,并按照所述时间配置信息设置所述标准格式视频帧的时间参数,以根据所时间参数将所述标准格式视频帧还原为所述指定格式视频帧。
7.根据权利要求6所述的视频流传输方法,所述通过所述目标服务器对所述标准视频流进行还原处理得到与所述目标视频流对应的所述指定格式视频帧,包括:
通过所述目标服务器对所述标准视频流进行解封装处理,得到包含所述时间参数的标准格式视频帧;
基于所述目标服务器读取所述标准格式视频帧的当前明亮度信息、当前色彩饱和度信息,以及当前透明通道信息,并将所述当前明亮度信息、当前色彩饱和度信息,以及当前透明通道信息分别作为与所述时间参数匹配的所述指定格式视频帧的明亮度信息、色彩饱和度信息,以及透明度信息。
8.根据权利要求1-7任一所述的视频流传输方法,所述方法还包括:
读取业务请求,并获取与所述业务请求对应的直播画面;
将所述指定格式视频帧叠加至所述直播画面生成直播合成视频帧,以通过所述直播合成视频帧更新所述目标视频流。
9.一种视频流传输装置,其特征在于,包括:
原始视频帧获取模块,用于获取目标视频流,并对所述目标视频流进行解码处理得到原始视频帧;所述目标视频流为包含透明通道视频的媒体数据流;
视频帧格式转换模块,用于将所述原始视频帧转换为指定格式视频帧,并对所述指定格式视频帧进行拆分处理得到标准格式视频帧,所述标准格式视频帧为不包含非透明通道的视频帧,所述指定格式视频帧为用于将包含透明通道的原始视频帧转换为普通视频帧的中间视频帧;
待推流视频帧生成模块,用于对所述标准格式视频帧进行编码和封装处理生成目标格式的标准视频流;
推流模块,用于将所述标准视频流发送至目标服务器,以通过所述目标服务器对所述标准视频流进行还原处理得到与所述目标视频流对应的所述指定格式视频帧,实现所述目标视频流的实时传输。
10.一种电子设备,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至8中任一项所述的视频流传输方法。
11.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的视频流传输方法。
CN202111509414.3A 2021-12-10 2021-12-10 视频流传输方法及装置、电子设备、存储介质 Active CN114173157B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111509414.3A CN114173157B (zh) 2021-12-10 2021-12-10 视频流传输方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111509414.3A CN114173157B (zh) 2021-12-10 2021-12-10 视频流传输方法及装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN114173157A CN114173157A (zh) 2022-03-11
CN114173157B true CN114173157B (zh) 2022-12-16

Family

ID=80485507

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111509414.3A Active CN114173157B (zh) 2021-12-10 2021-12-10 视频流传输方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN114173157B (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101742317B (zh) * 2009-12-31 2012-03-28 北京中科大洋科技发展股份有限公司 一种带阿尔法透明通道的视频压缩编码方法
US20150074735A1 (en) * 2013-09-06 2015-03-12 Seespace Ltd. Method and Apparatus for Rendering Video Content Including Secondary Digital Content
CN109005426B (zh) * 2017-04-08 2021-04-30 腾讯科技(深圳)有限公司 一种图片文件处理方法
CN108881920B (zh) * 2017-05-11 2022-06-10 腾讯科技(深圳)有限公司 一种传输视频信息的方法、终端及服务器
CN108471536B (zh) * 2018-03-14 2021-04-06 重庆虚拟实境科技有限公司 Alpha通道传输方法及装置、终端装置及存储介质
CN109600666B (zh) * 2018-12-12 2021-08-10 网易(杭州)网络有限公司 游戏场景中的视频播放方法、装置、介质以及电子设备
CN111669646A (zh) * 2019-03-07 2020-09-15 北京陌陌信息技术有限公司 透明视频的播放方法、装置、设备及介质
CN110290398B (zh) * 2019-06-21 2021-11-05 北京字节跳动网络技术有限公司 视频下发方法、装置、存储介质及电子设备
CN112714357B (zh) * 2020-12-21 2023-10-13 北京百度网讯科技有限公司 视频播放方法、视频播放装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN114173157A (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
US20040179554A1 (en) Method and system of implementing real-time video-audio interaction by data synchronization
CN110784758A (zh) 投屏处理方法和装置
US10582232B1 (en) Transcoding frame-synchronous metadata for segmented video delivery
CN106331853B (zh) 多媒体解封装方法及装置
EP3843385A1 (en) Method and apparatus for generating media file comprising 3-dimensional video content, and method and apparatus for replaying 3-dimensional video content
CN108200482B (zh) 一种跨平台高清音视频播放方法、系统及客户端
CN112533014B (zh) 视频直播中目标物品信息处理和显示方法、装置及设备
KR20240007097A (ko) 동영상 전송 장치 및 동영상 재생 장치
CN114339382A (zh) 视频播放方法、装置、设备及计算机存储介质
CN112788431A (zh) 基于html5的视频播放方法、装置、系统、介质及浏览器
US20080248782A1 (en) Providing Devices With Command Functionality in Content Streams
CN113099282B (zh) 一种数据处理方法、装置及设备
WO2018219202A1 (zh) 视频图像的呈现、封装方法和视频图像的呈现、封装装置
CN114173157B (zh) 视频流传输方法及装置、电子设备、存储介质
CN111970522A (zh) 虚拟直播数据的处理方法、装置及存储介质
US20230025664A1 (en) Data processing method and apparatus for immersive media, and computer-readable storage medium
CN111147887A (zh) 直播业务控制方法、装置、计算机可读介质及电子设备
CN112565799B (zh) 视频数据处理方法和装置
CN115278323A (zh) 一种显示设备、智能设备和数据处理方法
CN115243074A (zh) 视频流的处理方法及装置、存储介质、电子设备
CN111356009B (zh) 音频数据的处理方法、装置、存储介质以及终端
CN113573100B (zh) 广告展示方法、设备及系统
CN113141536B (zh) 视频封面的添加方法、装置、电子设备及存储介质
CN105323635B (zh) 一种视频处理系统及方法
WO2024114519A1 (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