CN115604495A - 一种直播数据处理方法、装置、设备及存储介质 - Google Patents

一种直播数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115604495A
CN115604495A CN202211199479.7A CN202211199479A CN115604495A CN 115604495 A CN115604495 A CN 115604495A CN 202211199479 A CN202211199479 A CN 202211199479A CN 115604495 A CN115604495 A CN 115604495A
Authority
CN
China
Prior art keywords
anchor
data stream
merged
interactive picture
interactive
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
CN202211199479.7A
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.)
Xunlei Computer Shenzhen Co ltd
Original Assignee
Xunlei Computer Shenzhen 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 Xunlei Computer Shenzhen Co ltd filed Critical Xunlei Computer Shenzhen Co ltd
Priority to CN202211199479.7A priority Critical patent/CN115604495A/zh
Publication of CN115604495A publication Critical patent/CN115604495A/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/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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/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/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Landscapes

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

Abstract

本申请公开了一种直播数据处理方法、装置、设备及存储介质,包括:从主播端获取至少两个主播的直播数据流,并将直播数据流进行合流转码得到一路合并数据流;其中,合并数据流为通过对全部主播的直播数据流按照预设格式进行合并且指定一个主播的互动画面在目标位置显示得到;将合并数据流分发至观众端,使得目标位置显示的主播互动画面的主播对应的观众端直接根据合并数据流进行显示处理,使得其他主播对应的观众端通过对合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至目标位置得到新的合并数据流并根据新的合并数据流进行显示处理。可见,本申请能够降低服务端的计算压力和资源使用。

Description

一种直播数据处理方法、装置、设备及存储介质
技术领域
本发明涉及数据处理技术领域,特别涉及一种直播数据处理方法、装置、设备及存储介质。
背景技术
随着多媒体技术的逐渐发展,各种各样的直播平台应运而生。主播通过在直播平台创建直播间进行现场直播,单人直播已经不能满足娱乐需求,多个主播在直播中进行互动的直播方式越来越受欢迎。图1为现有的多人直播互动过程中的数据处理架构图,为了在观众端分别得到流A&B和流B&A的画面,需要在实时通信RTC(Real time communication)网络中做两次转码合流分别得到流A&B和流B&A,经过两路转推至内容分发CDN网络(ContentDelivery Network)。在现有的处理框架下,服务器承担较重的计算压力且服务器的资源使用也较高。
因此,如何提供一种能够降低服务端的计算压力和资源使用的直播数据处理方案是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种直播数据处理方法、装置、设备及存储介质,能够降低服务端的计算压力和资源使用。其具体方案如下:
本申请的第一方面提供了一种直播数据处理方法,应用于服务端,包括:
从主播端获取至少两个主播的包含本地主播的互动画面的直播数据流,并将所述直播数据流进行合流转码得到同时包含全部主播的互动画面的一路合并数据流;其中,所述合并数据流为通过对全部主播的所述直播数据流按照预设格式进行合并且指定一个主播的互动画面在目标位置显示得到;
将所述合并数据流分发至观众端,使得所述目标位置显示的主播互动画面的主播对应的观众端直接根据所述合并数据流进行显示处理,使得其他主播对应的观众端通过对所述合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至所述目标位置得到新的所述合并数据流并根据新的所述合并数据流进行显示处理。
可选的,所述从主播端获取至少两个主播的包含本地主播的互动画面的直播数据流,并将所述直播数据流进行合流转码得到同时包含全部主播的互动画面的一路合并数据流,包括:
通过实时通信传输方式获取第一主播的包含所述第一主播的互动画面的第一直播数据流并获取第二主播的包含所述第二主播的互动画面的第二直播数据流;
将发起互动操作的所述第一主播的互动画面指定为在所述目标位置显示的主播画面;
控制实时通信服务器对所述第一直播数据流和所述第二直播数据流进行合流转码,得到一路在合并视频帧的所述目标位置处显示所述第一主播的互动画面的所述合并数据流。
可选的,所述目标位置显示的主播互动画面的主播对应的观众端直接根据所述合并数据流进行显示处理,其他主播对应的观众端通过对所述合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至所述目标位置得到新的所述合并数据流并根据新的所述合并数据流进行显示处理,包括:
如果观众端通过业务接口查询当前观众端对应的主播为所述目标位置显示的互动画面对应的主播,则当前观众端直接对所述合并数据流中的合并视频帧进行显示;
如果观众端通过业务接口查询当前观众端对应的主播为所述合并视频帧中的其他位置显示的互动画面对应的主播,则当前观众端通过对所述合并数据流中的合并视频帧中的主播的互动画面位置进行变换处理的方式将当前观众端对应主播的互动画面移动至所述目标位置得到新的所述合并视频帧并对新的所述合并视频帧进行显示。
可选的,其他主播对应的观众端通过对所述合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至所述目标位置得到新的所述合并数据流,包括:
所述第二主播对应的观众端的解码器通过对所述合并视频帧中的主播的互动画面进行循环平移处理的方式将所述第二主播的互动画面移动至所述目标位置得到包含新的所述合并视频帧的新的所述合并数据流。
可选的,所述第二主播对应的观众端的解码器通过对所述合并视频帧中的主播的互动画面进行循环平移处理的方式将所述第二主播的互动画面移动至所述目标位置得到包含新的所述合并视频帧的新的所述合并数据流,包括:
所述第二主播对应的观众端的所述解码器构建所述合并视频帧的图像矩阵;其中,所述图像矩阵中每一个元素代表相应坐标位置的像素值;
所述第二主播对应的所述观众端的所述解码器对所述图像矩阵中每个坐标位置处的像素值进行循环平移计算,得到新的所述合并视频帧。
可选的,所述第二主播对应的观众端的所述解码器对所述图像矩阵中每个坐标位置处的像素值进行循环平移计算,包括:
如果所述循环平移操作为水平循环平移,则所述第二主播对应的观众端的所述解码器将水平平移量设定为所述合并视频帧的帧宽度的一半,并将所述图像矩阵中每个坐标位置处的像素值变换为水平方向上距离该坐标位置所述水平平移量坐标位置处的像素值;
如果所述循环平移操作为垂直循环平移,则所述第二主播对应的观众端的所述解码器将垂直平移量设定为所述合并视频帧的帧高度的一半,并将所述图像矩阵中每个坐标位置处的像素值变换为垂直方向上距离该坐标位置所述垂直平移量坐标位置处的像素值。
可选的,所述直播数据流为主播连麦过程中的数据流。
本申请的第二方面提供了一种直播数据处理装置,应用于服务端,包括:
获取及合流模块,用于从主播端获取至少两个主播的包含本地主播的互动画面的直播数据流,并将所述直播数据流进行合流转码得到同时包含全部主播的互动画面的一路合并数据流;其中,所述合并数据流为通过对全部主播的所述直播数据流按照预设格式进行合并且指定一个主播的互动画面在目标位置显示得到;
分发模块,用于将所述合并数据流分发至观众端,使得所述目标位置显示的主播互动画面的主播对应的观众端直接根据所述合并数据流进行显示处理,使得其他主播对应的观众端通过对所述合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至所述目标位置得到新的所述合并数据流并根据新的所述合并数据流进行显示处理。
本申请的第三方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述直播数据处理方法。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述直播数据处理方法。
本申请中,先从主播端获取至少两个主播的包含本地主播的互动画面的直播数据流,并将所述直播数据流进行合流转码得到同时包含全部主播的互动画面的一路合并数据流;其中,所述合并数据流为通过对全部主播的所述直播数据流按照预设格式进行合并且指定一个主播的互动画面在目标位置显示得到;然后将所述合并数据流分发至观众端,使得所述目标位置显示的主播互动画面的主播对应的观众端直接根据所述合并数据流进行显示处理,使得其他主播对应的观众端通过对所述合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至所述目标位置得到新的所述合并数据流并根据新的所述合并数据流进行显示处理。可见,本申请在服务端对至少两个主播的直播数据流进行合流转码后仅得到一路合并数据流,在此基础上利用观众端的计算资源对合并数据流进行差别处理,达到让服务端进行多次合流相同的视觉效果,从而降低服务端的计算压力和资源使用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种现有的多人直播互动过程中的数据处理架构图;
图2为本申请提供的一种直播数据处理方法流程图;
图3为本申请提供的一种具体的合并视频帧的显示画面示例图;
图4为本申请提供的一种具体的合并视频帧的显示画面示例图;
图5为本申请提供的一种具体的直播数据处理方法流程图;
图6为本申请提供的一种具体的合并视频帧的显示画面示例图;
图7为本申请提供的一种具体的合并视频帧的显示画面示例图;
图8为本申请提供的一种具体的直播数据处理方法流程图;
图9为本申请提供的一种具体播放器对合并数据流的处理流程图;
图10为本申请提供的一种直播数据处理架构图;
图11为本申请提供的一种具体的循环平移处理方法流程图;
图12为本申请提供的一种图像平移中的坐标变换示意图;
图13为本申请提供的一种直播数据处理装置结构示意图;
图14为本申请提供的一种直播数据处理电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的多人直播互动过程中的数据处理架构中,需要在实时通信RTC(Real timecommunication)网络中做两次转码合流分别得到所需的不同数据流,经过两路转推至内容分发CDN网络(Content Delivery Network)。在现有的处理框架下,服务器承担较重的计算压力且服务器的资源使用也较高。针对上述技术缺陷,本申请提供一种直播数据处理方案,在服务端对至少两个主播的直播数据流进行合流转码后仅得到一路合并数据流,在此基础上利用观众端的计算资源对合并数据流进行差别处理,达到让服务端进行多次合流相同的视觉效果,从而降低服务端的计算压力和资源使用。
图2为本申请实施例提供的一种直播数据处理方法流程图。参见图2所示,该直播数据处理方法应用于服务端,包括:
S11:从主播端获取至少两个主播的包含本地主播的互动画面的直播数据流,并将所述直播数据流进行合流转码得到同时包含全部主播的互动画面的一路合并数据流;其中,所述合并数据流为通过对全部主播的所述直播数据流按照预设格式进行合并且指定一个主播的互动画面在目标位置显示得到。
本实施例中,服务端先从主播端获取至少两个主播的包含本地主播的互动画面的直播数据流。以两个主播为例,第一主播的所述直播数据流包含第一主播的互动画面,第二主播的所述直播数据流包含第二主播的互动画面等。可以理解,所述直播数据流可以为主播连麦过程中的数据流。当然,也可以为其他场景下的数据流,本实施例对此不进行限定。
本实施例中,在得到多个所述直播数据流之后,将所述直播数据流进行合流转码得到同时包含全部主播的互动画面的一路合并数据流。此处不关注合流转码的具体过程,只要经过合流转码之后得到一路合并数据流即可。所述合并数据流包含此前获取到的全部主播的互动画面。
需要说明的是,所述合并数据流为通过对全部主播的所述直播数据流按照预设格式进行合并且指定一个主播的互动画面在目标位置显示得到。这里可以指定任意一个主播的互动画面在目标位置显示,也可以让特定主播的互动画面在目标位置显示,本实施例对此不进行限定。以两个主播为例,如果指定特定主播为第一主播,则所述合并数据流中的所述目标位置显示的是第一主播的互动画面。
具体的,如果指定所述目标位置为合并数据流画面的左上角,且指定第一主播的互动画面在上述目标位置显示,此时得到如图3所示的画面;如果指定所述目标位置为合并数据流画面的中上方,且指定第一主播的互动画面在上述目标位置显示,此时得到如图4所示的画面。同样的,如果指定第二主播的互动画面在所述目标位置显示,则所述目标位置显示的是第二主播的互动画面。当然,上述只是对左上角和中上方这两个位置进行了示例说明,但并不限于这两个位置,可以根据实际现实需要进行灵活调整。另外,在多个主播的情况下也是同样的实现逻辑,本实施例对此不进行赘述。
S12:将所述合并数据流分发至观众端,使得所述目标位置显示的主播互动画面的主播对应的观众端直接根据所述合并数据流进行显示处理,使得其他主播对应的观众端通过对所述合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至所述目标位置得到新的所述合并数据流并根据新的所述合并数据流进行显示处理。
本实施例中,服务端在合流转码得到一路所述合并数据流之后,便可以将所述合并数据流分发至观众端。这里的观众端存在两种情况,一种是所述目标位置显示的主播的互动画面对应的观众端,一种是其他位置显示的主播的互动画面对应的观众端。在一种实施例中,所述目标位置显示的主播互动画面的主播对应的观众端直接根据所述合并数据流进行显示处理,不需要进行其他的处理。在另一种实施例中,其他主播对应的观众端需要对互动画面进行位置变换,即通过对所述合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至所述目标位置得到新的所述合并数据流并根据新的所述合并数据流进行显示处理。
本实施例中,观众端需要通过业务接口来查询当前观众端对应的主播是否为目标位置处显示的互动画面对应的主播。上述过程的具体步骤如下(如图5所示):
S121:如果观众端通过业务接口查询当前观众端对应的主播为所述目标位置显示的互动画面对应的主播,则当前观众端直接对所述合并数据流中的合并视频帧进行显示。
S122:如果观众端通过业务接口查询当前观众端对应的主播为所述合并视频帧中的其他位置显示的互动画面对应的主播,则当前观众端通过对所述合并数据流中的合并视频帧中的主播的互动画面位置进行变换处理的方式将当前观众端对应主播的互动画面移动至所述目标位置得到新的所述合并视频帧并对新的所述合并视频帧进行显示。
本实施例中,限定观众端在对视频帧进行显示之前的查询操作,且限定最终根据合并数据流显示的是合并视频帧。在此限定之下,在观众端播放之前,可以进一步通过业务接口查询当前观众端对应的主播是否为目标位置处显示的互动画面对应的主播。如果观众端通过业务接口查询到当前观众端对应的主播为所述目标位置显示的互动画面对应的主播,则当前观众端直接对所述合并数据流中的合并视频帧进行显示。如果观众端通过业务接口查询到当前观众端对应的主播为所述合并视频帧中的其他位置显示的互动画面对应的主播,则当前观众端通过对所述合并数据流中的合并视频帧中的主播的互动画面位置进行变换处理的方式将当前观众端对应主播的互动画面移动至所述目标位置得到新的所述合并视频帧并对新的所述合并视频帧进行显示。
例如,如果所述合并视频帧的画面如图3所示,第一主播的观众端直接显示图3所示的画面,第二主播的观众端需要将右侧的第二主播的互动画面移动到左侧的目标位置得到新的合并视频帧,最终显示的新的合并视频帧的画面如图6所示。同样的,如果所述合并视频帧的画面如图4所示,第一主播的观众端直接显示图4所示的画面,第二主播的观众端需要将下方的第二主播的互动画面移动到上方的目标位置得到新的合并视频帧,最终显示的新的合并视频帧的画面如图7所示。
可见,本申请实施例先从主播端获取至少两个主播的包含本地主播的互动画面的直播数据流,并将所述直播数据流进行合流转码得到同时包含全部主播的互动画面的一路合并数据流;其中,所述合并数据流为通过对全部主播的所述直播数据流按照预设格式进行合并且指定一个主播的互动画面在目标位置显示得到;然后将所述合并数据流分发至观众端,使得所述目标位置显示的主播互动画面的主播对应的观众端直接根据所述合并数据流进行显示处理,使得其他主播对应的观众端通过对所述合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至所述目标位置得到新的所述合并数据流并根据新的所述合并数据流进行显示处理。本申请实施例在服务端对至少两个主播的直播数据流进行合流转码后仅得到一路合并数据流,在此基础上利用观众端的计算资源对合并数据流进行差别处理,达到让服务端进行多次合流相同的视觉效果,从而降低服务端的计算压力和资源使用。
图8为本申请实施例提供的一种具体的直播数据处理方法流程图。参见图8所示,该直播数据处理方法包括:
S21:通过实时通信传输方式获取第一主播的包含所述第一主播的互动画面的第一直播数据流并获取第二主播的包含所述第二主播的互动画面的第二直播数据流。
S22:将发起互动操作的所述第一主播的互动画面指定为在所述目标位置显示的主播画面。
本实施例中,以两个主播(第一主播和第二主播)互动过程的数据处理为主,服务端包括实时通信服务器RTC和内容分发服务器CDN。实时通信服务器RTC通过实时通信传输方式获取第一主播的包含所述第一主播的互动画面的第一直播数据流并获取第二主播的包含所述第二主播的互动画面的第二直播数据流。其中,所述第一直播数据流中包含所述第一主播的互动画面,所述第二直播数据流中包含所述第二主播的互动画面。
本实施例中,假定所述第一主播发起了互动操作,则同时将发起互动操作的所述第一主播的互动画面指定为在所述目标位置显示的主播画面。如果画面左上侧为所述目标位置,则所述合并视频帧的画面显示如图3所示,图3所示画面也即所述第一主播对应的观众端想要看到的画面;如果画面上侧为所述目标位置,则所述合并视频帧的画面显示如图4所示,图4所示画面也即所述第一主播对应的观众端想要看到的画面。
S23:控制实时通信服务器对所述第一直播数据流和所述第二直播数据流进行合流转码,得到一路在合并视频帧的所述目标位置处显示所述第一主播的互动画面的所述合并数据流。
S24:将所述合并数据流分发至观众端,使得所述第一主播对应的观众端直接对所述合并视频帧进行显示。
本实施例中,控制实时通信服务器对所述第一直播数据流和所述第二直播数据流进行合流转码,得到一路在合并视频帧的所述目标位置处显示所述第一主播的互动画面的所述合并数据流。实时通信服务器RTC对所述第一直播数据流和所述第二直播数据流进行合流转码,随即得到一路在合并视频帧的所述目标位置处显示所述第一主播的互动画面的所述合并数据流。
本实施例中,将所述合并数据流分发至观众端,由于所述第一主播的互动画面在所述目标位置,则当所述第一主播对应的观众端接收到所述合并数据流后,直接对所述合并视频帧进行显示,最终显示画面如图6或图7所示。
可以理解,由于所述合并数据流同时包含音频数据和视频数据,所以在画面显示之前观众端的播放器需要对所述合并数据流进行一系列的处理。首先为解协议处理和解封装处理得到所述合并数据流的音频压缩数据和视频压缩数据;播放器对所述音频压缩数据进行解码处理得到合并音频数据,并对所述视频压缩数据进行解码处理得到所述合并视频数据。接着解码器将所述合并音频数据和所述合并视频数据进行音视频同步,并对音视频同步后的所述合并音频数据和所述合并视频数据进行渲染处理后通过驱动设备发送至显示器进行显示。具体如图9所示,但不限于图9所示流程。
S25:所述第二主播对应的观众端的解码器通过对所述合并视频帧中的主播的互动画面进行循环平移处理的方式将所述第二主播的互动画面移动至所述目标位置得到新的所述合并视频帧并对新的所述合并视频帧进行显示。
本实施例中,所述第二主播对应的观众端的解码器通过对所述合并视频帧中的主播的互动画面进行循环平移处理的方式将所述第二主播的互动画面移动至所述目标位置得到新的所述合并视频帧。上述过程对应的数据处理架构如图10所示。
进一步的,循环平移处理的具体过程如下(如图11所示):
S251:所述第二主播对应的观众端的所述解码器构建所述合并视频帧的图像矩阵;其中,所述图像矩阵中每一个元素代表相应坐标位置的像素值。
S252:所述第二主播对应的所述观众端的所述解码器对所述图像矩阵中每个坐标位置处的像素值进行循环平移计算,得到新的所述合并视频帧。
本实施例中,所述第二主播对应的观众端的所述解码器构建所述合并视频帧的图像矩阵,其中,所述图像矩阵中每一个元素代表相应坐标位置的像素值。所述第二主播对应的所述观众端的所述解码器然后对所述图像矩阵中每个坐标位置处的像素值进行循环平移计算,从而得到新的所述合并视频帧。上述循环平移操作包括水平循环平移和垂直循环平移,本实施例水平循环平移操作和垂直循环平移操作能在将对应主播移动至目标位置的基础上,同时能够避免发生位置变化的主播的互动画面产生镜像效果,保证画面一致。
本实施例中,图像平移的原理为:假设原来的像素的位置坐标为(x0,y0),经过平移量(△x,△y)后坐标变为(x1,y1),如图12所示。用数学式子表示可以表示为:w=图像宽度;h=图像高度;x1=x0+△x;y1=y0+△y。
在一种实施例中,如果所述循环平移操作为水平循环平移,则所述第二主播对应的观众端的所述解码器将水平平移量设定为所述合并视频帧的帧宽度的一半,并将所述图像矩阵中每个坐标位置处的像素值变换为水平方向上距离该坐标位置所述水平平移量坐标位置处的像素值。经过循环平移操作后,所述第二主播对应的观众端的显示画面为图5所示。在上述原理规约下,对于水平循环平移,令△x=w/2、y1=y0,则水平方向循环平移公式为:
Figure BDA0003871902500000111
在另一种实施例中,如果所述循环平移操作为垂直循环平移,则所述第二主播对应的观众端的所述解码器将垂直平移量设定为所述合并视频帧的帧高度的一半,并将所述图像矩阵中每个坐标位置处的像素值变换为垂直方向上距离该坐标位置所述垂直平移量坐标位置处的像素值。经过循环平移操作后,所述第二主播对应的观众端的显示画面为图6所示。在上述原理规约下,对于水平循环平移,令△y=h/2、x1=x0,则垂直方向循环平移公式为:
Figure BDA0003871902500000112
具体的,令图像(RGB)数据存放在一个矩阵Mat的数据结构内,mat.cols代表图像像素的列数即宽度,mat.rows代表图像像素的行数即高度,mat[0][0]代表访问左上角第一个像素的值,获取到的值是一个三维的RGB值V3(255,255,255)。假设图像的原始是一个2x2的图像,其原始Mat数据可以如下表示:
[[0,0,0],[1,1,1]]
[[2,2,2],[3,3,3]]
水平循环平移后的Mat数据如下:
[[1,1,1],[0,0,0]]
[[3,3,3],[2,2,2]]
垂直平循环平移后的Mat数据如下:
[[2,2,2],[3,3,3]]
[[0,0,0],[1,1,1]]
水平循环平移其伪代码如下:
Figure BDA0003871902500000113
Figure BDA0003871902500000121
垂直循环平移其伪代码如下:
Figure BDA0003871902500000122
Figure BDA0003871902500000131
参见图13所示,本申请实施例还相应公开了一种直播数据处理装置,应用于服务端,包括:
获取及合流模块11,用于从主播端获取至少两个主播的包含本地主播的互动画面的直播数据流,并将所述直播数据流进行合流转码得到同时包含全部主播的互动画面的一路合并数据流;其中,所述合并数据流为通过对全部主播的所述直播数据流按照预设格式进行合并且指定一个主播的互动画面在目标位置显示得到;
分发模块12,用于将所述合并数据流分发至观众端,使得所述目标位置显示的主播互动画面的主播对应的观众端直接根据所述合并数据流进行显示处理,使得其他主播对应的观众端通过对所述合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至所述目标位置得到新的所述合并数据流并根据新的所述合并数据流进行显示处理。
可见,本申请实施例先从主播端获取至少两个主播的包含本地主播的互动画面的直播数据流,并将所述直播数据流进行合流转码得到同时包含全部主播的互动画面的一路合并数据流;其中,所述合并数据流为通过对全部主播的所述直播数据流按照预设格式进行合并且指定一个主播的互动画面在目标位置显示得到;然后将所述合并数据流分发至观众端,使得所述目标位置显示的主播互动画面的主播对应的观众端直接根据所述合并数据流进行显示处理,使得其他主播对应的观众端通过对所述合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至所述目标位置得到新的所述合并数据流并根据新的所述合并数据流进行显示处理。本申请实施例在服务端对至少两个主播的直播数据流进行合流转码后仅得到一路合并数据流,在此基础上利用观众端的计算资源对合并数据流进行差别处理,达到让服务端进行多次合流相同的视觉效果,从而降低服务端的计算压力和资源使用。
在一些具体实施例中,所述获取及合流模块11,具体包括:
获取单元,用于通过实时通信传输方式获取第一主播的包含所述第一主播的互动画面的第一直播数据流并获取第二主播的包含所述第二主播的互动画面的第二直播数据流;
指定单元,用于将发起互动操作的所述第一主播的互动画面指定为在所述目标位置显示的主播画面;
合流转码单元,用于控制实时通信服务器对所述第一直播数据流和所述第二直播数据流进行合流转码,得到一路在合并视频帧的所述目标位置处显示所述第一主播的互动画面的所述合并数据流。
在一些具体实施例中,所述直播数据处理装置还包括:
第一显示模块,用于如果观众端通过业务接口查询当前观众端对应的主播为所述目标位置显示的互动画面对应的主播,则当前观众端直接对所述合并数据流中的合并视频帧进行显示;
第二显示模块,用于如果观众端通过业务接口查询当前观众端对应的主播为所述合并视频帧中的其他位置显示的互动画面对应的主播,则当前观众端通过对所述合并数据流中的合并视频帧中的主播的互动画面位置进行变换处理的方式将当前观众端对应主播的互动画面移动至所述目标位置得到新的所述合并视频帧并对新的所述合并视频帧进行显示。
在一些具体实施例中,所述分发模块12,具体用于所述第二主播对应的观众端的解码器通过对所述合并视频帧中的主播的互动画面进行循环平移处理的方式将所述第二主播的互动画面移动至所述目标位置得到包含新的所述合并视频帧的新的所述合并数据流;
相应的,在一些具体实施例中,所述分发模块12,具体包括:
矩阵构建子模块,用于所述第二主播对应的观众端的所述解码器构建所述合并视频帧的图像矩阵;其中,所述图像矩阵中每一个元素代表相应坐标位置的像素值;
循环平移计算子模块,用于所述第二主播对应的所述观众端的所述解码器对所述图像矩阵中每个坐标位置处的像素值进行循环平移计算,得到新的所述合并视频帧;
相应的,在一些具体实施例中,所述循环平移计算子模块,具体包括:
水平循环平移单元,用于如果所述循环平移操作为水平循环平移,则所述第二主播对应的观众端的所述解码器将水平平移量设定为所述合并视频帧的帧宽度的一半,并将所述图像矩阵中每个坐标位置处的像素值变换为水平方向上距离该坐标位置所述水平平移量坐标位置处的像素值;
垂直循环平移单元,用于如果所述循环平移操作为垂直循环平移,则所述第二主播对应的观众端的所述解码器将垂直平移量设定为所述合并视频帧的帧高度的一半,并将所述图像矩阵中每个坐标位置处的像素值变换为垂直方向上距离该坐标位置所述垂直平移量坐标位置处的像素值。
进一步的,本申请实施例还提供了一种电子设备。图14是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图12为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的直播数据处理方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的直播数据处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的直播数据流。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的直播数据处理方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的直播数据处理方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种直播数据处理方法,其特征在于,应用于服务端,包括:
从主播端获取至少两个主播的包含本地主播的互动画面的直播数据流,并将所述直播数据流进行合流转码得到同时包含全部主播的互动画面的一路合并数据流;其中,所述合并数据流为通过对全部主播的所述直播数据流按照预设格式进行合并且指定一个主播的互动画面在目标位置显示得到;
将所述合并数据流分发至观众端,使得所述目标位置显示的主播互动画面的主播对应的观众端直接根据所述合并数据流进行显示处理,使得其他主播对应的观众端通过对所述合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至所述目标位置得到新的所述合并数据流并根据新的所述合并数据流进行显示处理。
2.根据权利要求1所述的直播数据处理方法,其特征在于,所述从主播端获取至少两个主播的包含本地主播的互动画面的直播数据流,并将所述直播数据流进行合流转码得到同时包含全部主播的互动画面的一路合并数据流,包括:
通过实时通信传输方式获取第一主播的包含所述第一主播的互动画面的第一直播数据流并获取第二主播的包含所述第二主播的互动画面的第二直播数据流;
将发起互动操作的所述第一主播的互动画面指定为在所述目标位置显示的主播画面;
控制实时通信服务器对所述第一直播数据流和所述第二直播数据流进行合流转码,得到一路在合并视频帧的所述目标位置处显示所述第一主播的互动画面的所述合并数据流。
3.根据权利要求1所述的直播数据处理方法,其特征在于,所述目标位置显示的主播互动画面的主播对应的观众端直接根据所述合并数据流进行显示处理,其他主播对应的观众端通过对所述合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至所述目标位置得到新的所述合并数据流并根据新的所述合并数据流进行显示处理,包括:
如果观众端通过业务接口查询当前观众端对应的主播为所述目标位置显示的互动画面对应的主播,则当前观众端直接对所述合并数据流中的合并视频帧进行显示;
如果观众端通过业务接口查询当前观众端对应的主播为其他位置显示的互动画面对应的主播,则当前观众端通过对所述合并数据流中的合并视频帧中的主播的互动画面位置进行变换处理的方式将当前观众端对应主播的互动画面移动至所述目标位置得到新的所述合并视频帧并对新的所述合并视频帧进行显示。
4.根据权利要求2所述的直播数据处理方法,其特征在于,其他主播对应的观众端通过对所述合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至所述目标位置得到新的所述合并数据流,包括:
所述第二主播对应的观众端的解码器通过对所述合并视频帧中的主播的互动画面进行循环平移处理的方式将所述第二主播的互动画面移动至所述目标位置得到包含新的所述合并视频帧的新的所述合并数据流。
5.根据权利要求4所述的直播数据处理方法,其特征在于,所述第二主播对应的观众端的解码器通过对所述合并视频帧中的主播的互动画面进行循环平移处理的方式将所述第二主播的互动画面移动至所述目标位置得到包含新的所述合并视频帧的新的所述合并数据流,包括:
所述第二主播对应的观众端的所述解码器构建所述合并视频帧的图像矩阵;其中,所述图像矩阵中每一个元素代表相应坐标位置的像素值;
所述第二主播对应的所述观众端的所述解码器对所述图像矩阵中每个坐标位置处的像素值进行循环平移计算,得到新的所述合并视频帧。
6.根据权利要求5所述的直播数据处理方法,其特征在于,所述第二主播对应的观众端的所述解码器对所述图像矩阵中每个坐标位置处的像素值进行循环平移计算,包括:
如果所述循环平移操作为水平循环平移,则所述第二主播对应的观众端的所述解码器将水平平移量设定为所述合并视频帧的帧宽度的一半,并将所述图像矩阵中每个坐标位置处的像素值变换为水平方向上距离该坐标位置所述水平平移量坐标位置处的像素值;
如果所述循环平移操作为垂直循环平移,则所述第二主播对应的观众端的所述解码器将垂直平移量设定为所述合并视频帧的帧高度的一半,并将所述图像矩阵中每个坐标位置处的像素值变换为垂直方向上距离该坐标位置所述垂直平移量坐标位置处的像素值。
7.根据权利要求1至6任一项所述的直播数据处理方法,其特征在于,所述直播数据流为主播连麦过程中的数据流。
8.一种直播数据处理装置,其特征在于,应用于服务端,包括:
获取及合流模块,用于从主播端获取至少两个主播的包含本地主播的互动画面的直播数据流,并将所述直播数据流进行合流转码得到同时包含全部主播的互动画面的一路合并数据流;其中,所述合并数据流为通过对全部主播的所述直播数据流按照预设格式进行合并且指定一个主播的互动画面在目标位置显示得到;
分发模块,用于将所述合并数据流分发至观众端,使得所述目标位置显示的主播互动画面的主播对应的观众端直接根据所述合并数据流进行显示处理,使得其他主播对应的观众端通过对所述合并数据流中的主播的互动画面位置进行变换处理的方式将对应主播的互动画面移动至所述目标位置得到新的所述合并数据流并根据新的所述合并数据流进行显示处理。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的直播数据处理方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的直播数据处理方法。
CN202211199479.7A 2022-09-29 2022-09-29 一种直播数据处理方法、装置、设备及存储介质 Pending CN115604495A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211199479.7A CN115604495A (zh) 2022-09-29 2022-09-29 一种直播数据处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211199479.7A CN115604495A (zh) 2022-09-29 2022-09-29 一种直播数据处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115604495A true CN115604495A (zh) 2023-01-13

Family

ID=84845090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211199479.7A Pending CN115604495A (zh) 2022-09-29 2022-09-29 一种直播数据处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115604495A (zh)

Similar Documents

Publication Publication Date Title
CN110798697B (zh) 视频显示方法、装置、系统以及电子设备
US10242714B2 (en) Interface for application-specified playback of panoramic video
US10574955B2 (en) Re-projecting flat projections of pictures of panoramic video for rendering by application
US7836193B2 (en) Method and apparatus for providing graphical overlays in a multimedia system
US20180152663A1 (en) View-dependent operations during playback of panoramic video
CN108063976B (zh) 一种视频处理方法及装置
KR20200019718A (ko) 이미지 처리 방법, 단말기, 및 서버
CN106060606A (zh) 数字视听场所的大屏分区显示方法、播放终端、系统及数字点播系统
KR102197579B1 (ko) 주파수 리프팅으로 이미지에서 디테일 생성
KR20150029461A (ko) 파노라마 영상의 스트리밍 서비스 제공 시스템에서 타일링 영상 동기화 방법
WO2023279793A1 (zh) 视频的播放方法及装置
US10397518B1 (en) Combining encoded video streams
CN105049914A (zh) 图片帧播放方法和装置
CN111741353A (zh) 设备协同工作的方法、终端设备及可读存储介质
US7936936B2 (en) Method of visualizing a large still picture on a small-size display
JP2014176017A (ja) 映像再生装置、映像配信装置、映像再生方法及び映像配信方法
CN115604495A (zh) 一种直播数据处理方法、装置、设备及存储介质
CN115580738B (zh) 一种按需传输的高分辨率视频展现方法、设备和系统
CN116248889A (zh) 图像编码及解码方法、装置和电子设备
JP2002512470A (ja) ネットワーク環境においてビデオ・プロトコルをサポートする方法及び装置
CN110677600B (zh) 超宽画面的多组显示方法和系统、点播设备和点播系统
CN114095772A (zh) 连麦直播下的虚拟对象展示方法、系统及计算机设备
US11792380B2 (en) Video transmission method, video processing device, and video generating system for virtual reality
US20020113814A1 (en) Method and device for video scene composition
CN117742640A (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