CN110740346B - 视频数据处理方法、装置、服务器、终端和存储介质 - Google Patents

视频数据处理方法、装置、服务器、终端和存储介质 Download PDF

Info

Publication number
CN110740346B
CN110740346B CN201911012307.2A CN201911012307A CN110740346B CN 110740346 B CN110740346 B CN 110740346B CN 201911012307 A CN201911012307 A CN 201911012307A CN 110740346 B CN110740346 B CN 110740346B
Authority
CN
China
Prior art keywords
video
frame
playing
composite
client
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
CN201911012307.2A
Other languages
English (en)
Other versions
CN110740346A (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN201911012307.2A priority Critical patent/CN110740346B/zh
Publication of CN110740346A publication Critical patent/CN110740346A/zh
Application granted granted Critical
Publication of CN110740346B publication Critical patent/CN110740346B/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/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
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles

Landscapes

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

Abstract

本公开提供一种视频数据处理方法、装置、服务器、终端和存储介质,涉及网络视频技术领域。其中,服务器在接收到客户端发送的视频合流播放请求之后,采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据,形成合成视频帧,根据逐帧合成得到的合成视频帧生成合成视频流发送至客户端,使客户端根据接收到的合成视频流在一个视频播放画面的不同区域分别播放第一视频和第二视频,从而使客户端使用一个播放器就可以同时播放两个视频,而不需要使用相互堆叠的两个播放器分别播放第一视频和第二视频,节约客户端的资源消耗。

Description

视频数据处理方法、装置、服务器、终端和存储介质
技术领域
本公开涉及网络视频技术领域,特别涉及一种视频数据处理方法、装置、服务器、终端和存储介质。
背景技术
随着互联网技术的发展,人们通过网络在线观看短视频和直播视频已经逐渐普及。通过视频播放客户端,主播可以将自己录制的短视频上传至视频播放平台,通过视频播放平台分享给其用户,主播还可以通过视频播放平台进行直播。用户可以通过终端上的视频播放客户端观看该主播分享的短视频,或者进入该主播的直播间观看该主播的直播视频。
一般来说,用户选择要观看的短视频后,视频播放客户端向视频播放平台的服务器发送视频播放请求,服务器将视频播放请求所指定的短视频以视频流的方式发送至视频播放客户端,以使视频播放客户端播放该短视频。用户进入某个主播的直播间观看该主播的直播视频时,服务器将该主播的直播视频以视频流的方式发送至视频播放客户端,以使视频播放客户端播放该直播视频。
目前,视频播放客户端无法同时播放短视频和直播视频。
发明内容
本公开实施例提供一种视频数据处理方法、装置、服务器、终端和存储介质,用以解决现有技术中短视频和直播视频无法同时播放的问题。
第一方面,本公开实施例提供了一种视频数据处理方法,应用于服务器,所述方法包括:
接收客户端发送的视频合流播放请求;所述视频合流播放请求指示同时播放第一视频和第二视频;
将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧;所述合成视频帧是采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的;
根据所述合成视频帧生成合成视频流;
将所述合成视频流发送给所述客户端。
本公开实施例提供的视频数据处理方法,在接收到客户端发送的视频合流播放请求之后,采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据,形成合成视频帧,根据逐帧合成得到的合成视频帧生成合成视频流发送至客户端,使客户端根据接收到的合成视频流在一个视频播放画面的不同区域分别播放第一视频和第二视频,从而使客户端使用一个播放器就可以同时播放两个视频,而不需要使用相互堆叠的两个播放器分别播放第一视频和第二视频,节约客户端的资源消耗。
在一种可能的实现方式中,所述将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧,包括:
将第一视频的视频帧与第二视频的视频帧按照预设的位置比例关系进行逐帧合成。
在一种可能的实现方式中,根据所述合成视频帧生成合成视频流之后,所述方法还包括:
分别将所述第一视频的音频帧和所述第二视频的音频帧添加至所述合成视频流中。
上述方法中,分别将第一视频的音频帧和第二视频的音频帧添加至合成视频流中,可以使客户端根据接收到的选择指令播放第一视频的音频帧或第二视频的音频帧。
在一种可能的实现方式中,所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频。
上述方法为用户提供一种更高效的浏览体验,用户在通过客户端观看短视频时,也可以同时观看直播视频;用户在通过客户端观看直播视频时,也可以同时观看短视频,提高观看效率。
在一种可能的实现方式中,所述第一视频为直播视频;所述第二视频为短视频;采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据之前,所述方法还包括:
获取所述第一视频的弹幕数据;
将所述弹幕数据添加至所述第一视频的视频帧的画面数据中。
上述方法中,在服务器端将弹幕数据添加至直播视频的画面数据中,可以保证在合流播放时,弹幕数据在正确的位置显示,同时,不需要客户端单独获取弹幕数据与直播视频的画面数据合流,可以节约客户端的程序资源和数据传输资源。
在一种可能的实现方式中,所述第一视频为直播视频;所述第二视频为短视频;所述接收客户端发送的合流视频播放请求之前,所述方法还包括:
若在所述客户端播放第二视频的过程中,确定所述第二视频的主播正在直播,则通知所述客户端展示视频合流提示信息。
上述方法中,在客户端播放某个主播的短视频时,服务器自动检测该主播是否正在直播,如果该主播正在直播,则通知客户端展示视频合流提示信息,以使用户可以根据自己的喜好选择是否合流播放同一主播的短视频和直播视频。
在一种可能的实现方式中,将所述合成视频流发送给所述客户端之后,所述方法还包括:
若接收到所述客户端发送的单视频播放请求,根据所述单视频播放请求中携带的视频播放时刻,将所述单视频播放请求指示播放的第一视频或第二视频的视频流发送给所述客户端。
上述方法中,若在两个视频合流播放的过程中,用户在客户端选择只播放其中一个视频,则服务器根据单视频播放请求携带的视频播放时刻,将自该播放时刻开始的视频帧通过视频流发送给客户端播放,可以与合流播放的视频准确连接,无间隙地继续播放该视频。
第二方面,本公开实施例提供了一种视频数据处理方法,应用于客户端,所述方法包括:
响应接收到的视频合流操作,向服务器发送视频合流播放请求;所述视频合流播放请求指示同时播放第一视频和第二视频;
接收所述服务器返回的合成视频流;所述合成视频流是所述服务器根据合成视频帧生成的,所述合成视频帧是所述服务器采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的;
播放所述合成视频流。
上述方法中,客户端响应用户的视频合流操作,向服务器发送视频合流播放请求,以使服务器向客户端发送合成视频流,客户端接收并播放该合成视频流,由于合成视频流是一个视频流,因此客户端使用一个播放器即可播放该合成视频流,达到使用一个播放器就可以同时播放两个视频的效果,而不需要使用相互堆叠的两个播放器分别播放第一视频和第二视频,节约客户端的资源消耗。
在一种可能的实现方式中,所述合成视频帧中第一视频的视频帧与第二视频的视频帧按照预设的位置比例关系排布。
在一种可能的实现方式中,所述播放所述合成视频流,包括:
在播放所述合成视频流的过程中,根据用户选择的音频播放合成视频流中第一视频的音频帧或第二视频的音频帧。
上述方法中,用户可以在客户端灵活地选择播放第一视频的音频帧或第二视频的音频帧。
在一种可能的实现方式中,所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频。
上述方法为用户提供一种更高效的浏览体验,用户在通过客户端观看短视频时,也可以同时观看直播视频;用户在通过客户端观看直播视频时,也可以同时观看短视频,提高观看效率。
在一种可能的实现方式中,所述第二视频为短视频;
所述响应接收到的视频合流操作,向服务器发送视频合流播放请求之前,所述方法还包括:
在播放第二视频的过程中,根据所述服务器的通知展示视频合流提示信息。
上述方法中,客户端可以根据服务器的通知展示视频合流提示信息,使用户可以根据自己的喜好选择是否合流播放同一主播的短视频和直播视频。
在一种可能的实现方式中,所述播放所述合成视频流,还包括:
在播放所述合成视频流的过程中,响应用户点击指定区域的操作,向所述服务器发送单视频播放请求;所述单视频播放请求指示播放第一视频,并且携带有第一视频的视频播放时刻;或者
在播放所述合成视频流的过程中,响应用户点击视频关闭按键的操作,向所述服务器发送单视频播放请求;所述单视频播放请求指示播放第二视频,并且携带有第二视频的视频播放时刻。
第三方面,本公开实施例提供了一种视频数据处理装置,所述装置包括:
请求接收单元,用于接收客户端发送的视频合流播放请求;所述视频合流播放请求指示同时播放第一视频和第二视频;
视频合流单元,用于将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧,根据所述合成视频帧生成合成视频流;所述合成视频帧是采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的;
视频发送单元,用于将所述合成视频流发送给所述客户端。
在一种可能的实现方式中,所述视频合流单元,还用于:
分别将所述第一视频的音频帧和所述第二视频的音频帧添加至所述合成视频流中,以使客户端根据用户的选择播放第一视频的音频帧或第二视频的音频帧。
在一种可能的实现方式中,所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频。
在一种可能的实现方式中,所述第一视频为直播视频;所述第二视频为短视频;所述视频合流单元,还用于:
获取所述第一视频的弹幕数据;
将所述弹幕数据添加至所述第一视频的视频帧的画面数据中。
在一种可能的实现方式中,所述第一视频为直播视频;所述第二视频为短视频;所述装置还包括:
通知发送单元,用于若在所述客户端播放第二视频的过程中,确定所述第二视频的主播正在直播,则通知所述客户端展示视频合流提示信息。
在一种可能的实现方式中,所述视频发送单元,还用于:
若接收到所述客户端发送的单视频播放请求,根据所述单视频播放请求中携带的视频播放时刻,将所述单视频播放请求指示播放的第一视频或第二视频的视频流发送给所述客户端。
第四方面,本公开实施例提供了一种视频数据处理装置,所述装置包括:
请求发送单元,用于响应接收到的视频合流操作,向服务器发送视频合流播放请求;所述视频合流播放请求指示同时播放第一视频和第二视频;
视频接收单元,用于接收所述服务器返回的合成视频流;所述合成视频流是所述服务器根据合成视频帧生成的,所述合成视频帧是所述服务器采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的;
视频播放单元,用于播放所述合成视频流。
在一种可能的实现方式中,所述视频播放单元,用于:
在播放所述合成视频流的过程中,根据用户选择的音频播放合成视频流中第一视频的音频帧或第二视频的音频帧。
在一种可能的实现方式中,所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频。
在一种可能的实现方式中,所述第二视频为短视频;所述装置还包括:
合流提示单元,用于在播放第二视频的过程中,根据所述服务器的通知展示视频合流提示信息。
在一种可能的实现方式中,所述视频播放单元,还用于:
在播放所述合成视频流的过程中,响应用户点击指定区域的操作,向所述服务器发送单视频播放请求;所述单视频播放请求指示播放第一视频,并且携带有第一视频的视频播放时刻;或者
在播放所述合成视频流的过程中,响应用户点击视频关闭按键的操作,向所述服务器发送单视频播放请求;所述单视频播放请求指示播放第二视频,并且携带有第二视频的视频播放时刻。
第五方面,本公开实施例提供了一种服务器,包括一个或多个处理器,以及用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如下步骤:
接收客户端发送的视频合流播放请求;所述视频合流播放请求指示同时播放第一视频和第二视频;
将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧;所述合成视频帧是采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的;
根据所述合成视频帧生成合成视频流;
将所述合成视频流发送给所述客户端。
在一种可能的实现方式中,所述处理器还执行:
分别将所述第一视频的音频帧和所述第二视频的音频帧添加至所述合成视频流中,以使客户端根据用户的选择播放第一视频的音频帧或第二视频的音频帧。
在一种可能的实现方式中,所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频。
在一种可能的实现方式中,所述第一视频为直播视频;所述第二视频为短视频;所述处理器还执行:
获取所述第一视频的弹幕数据;
将所述弹幕数据添加至所述第一视频的视频帧的画面数据中。
在一种可能的实现方式中,所述第一视频为直播视频;所述第二视频为短视频;所述处理器还执行:
若在所述客户端播放第二视频的过程中,确定所述第二视频的主播正在直播,则通知所述客户端展示视频合流提示信息。
在一种可能的实现方式中,所述处理器还执行:
若接收到所述客户端发送的单视频播放请求,根据所述单视频播放请求中携带的视频播放时刻,将所述单视频播放请求指示播放的第一视频或第二视频的视频流发送给所述客户端。
第六方面,本公开实施例提供了一种终端,包括一个或多个处理器,以及用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如下步骤:
响应接收到的视频合流操作,向服务器发送视频合流播放请求;所述视频合流播放请求指示同时播放第一视频和第二视频;所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频;
接收所述服务器返回的合成视频流;所述合成视频流是所述服务器根据合成视频帧生成的,所述合成视频帧是所述服务器采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的;
播放所述合成视频流。
在一种可能的实现方式中,所述处理器具体执行:
在播放所述合成视频流的过程中,根据用户选择的音频播放合成视频流中第一视频的音频帧或第二视频的音频帧。
在一种可能的实现方式中,所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频。
在一种可能的实现方式中,所述第二视频为短视频;所述处理器还执行:
在播放第二视频的过程中,根据所述服务器的通知展示视频合流提示信息。
在一种可能的实现方式中,所述处理器具体执行:
在播放所述合成视频流的过程中,响应用户点击指定区域的操作,向所述服务器发送单视频播放请求;所述单视频播放请求指示播放第一视频,并且携带有第一视频的视频播放时刻;或者
在播放所述合成视频流的过程中,响应用户点击视频关闭按键的操作,向所述服务器发送单视频播放请求;所述单视频播放请求指示播放第二视频,并且携带有第二视频的视频播放时刻。
第七方面,本公开实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面或第二方面所述的视频数据处理方法。
第三方面至第七方面中任意一种实现方式所带来的技术效果可参见第一方面或第二方面中对应的实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种视频数据处理方法的应用场景示意图;
图2为本公开实施例提供的一种视频数据处理方法的交互流程图;
图3为本公开实施例提供的一种生成合成视频帧的过程示意图;
图4为本公开实施例提供的一种音频选择界面的示意图;
图5为本公开实施例提供的另一种视频数据处理方法的交互流程图;
图6为本公开实施例提供的另一种视频数据处理方法的交互流程图;
图7为本公开实施例提供的一种视频数据处理方法的流程示意图;
图8为本公开实施例提供的另一种视频数据处理方法的流程示意图;
图9为本公开实施例提供的一种视频数据处理装置的结构框图;
图10为本公开实施例提供的另一种视频数据处理装置的结构框图;
图11为本公开实施例提供的另一种视频数据处理装置的结构框图;
图12为本公开实施例提供的另一种视频数据处理装置的结构框图;
图13为本公开实施例提供的一种服务器的结构框图;
图14为本公开实施例提供的一种终端的结构框图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
以下对本公开实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
(1)客户端:一种可以在智能手机、平板电脑或计算机等终端电子设备上运行的应用程序。本公开实施例中的客户端主要指视频播放客户端。例如,终端可以通过网络下载客户端的安装包,利用安装包安装该客户端,完成安装后,客户端即可在终端上运行。
(2)直播视频:指利用互联网及流媒体技术进行网络互动直播的视频,是目前互联网媒体的主流表达方式之一。直播是一种新兴的网络社交方式,主播可以采用独立可控的音视频采集设备采集音频和视频,生成直播视频通过网络上传至服务器,再由服务器将直播视频发送给观看直播的每个用户的客户端。
(3)短视频:是互联网内容传播方式的一种,指可以通过客户端播放的、适合在移动状态或短时休闲状态下观看的、高频推送的视频内容,由于内容较短,可以单独成片,也可以成为系列栏目。一般利用新媒体平台进行视频直播的主播,也会向该新媒体平台的服务器发送自己录制的短视频,分享给用户观看。
(4)本公开实施例中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应当理解为,这些类似的对象在适当情况下可以互换。
下面结合附图及具体实施例对本公开作进一步详细的说明。
图1为本公开实施例提供的一种视频数据处理方法的应用场景示意图。在该应用场景中,一个或多个用户的终端(如图1中所示的终端101~103)通过网络200与服务器300连接。其中,终端可以是手机、掌上电脑、PC机、一体机等具有通讯功能的设备,也可以是虚拟机或模拟器模拟的设备。网络200可以是有线网络或者无线网络。服务器300可以是某个视频播放平台的服务器。终端可以是正在进行直播的主播的终端,也可以是正在观看直播的用户的终端。在下文的描述中,假设图1中的终端103是正在进行直播的主播的终端,图1中的终端101和终端102是正在观看直播的用户的终端。
主播的终端103将主播录制的直播视频通过网络200实时上传至服务器300,主播的终端103也可以将主播录制的短视频通过网络200实时上传至服务器300,通过服务器分享用户。用户的终端101和终端102上安装有可以播放短视频和直播视频的客户端。用户可以通过客户端进入主播的直播间观看正在播放的直播视频,服务器300将主播的直播视频以直播视频流的方式分别发送至每个正在观看直播的用户的终端,如终端101和终端102。用户也可以通过客户端观看主播分享的短视频。用户点击某个短视频后,客户端向服务器300发送播放该短视频的视频播放请求,服务器300将视频播放请求所指定的短视频以视频流的方式发送至客户端,以使客户端播放该短视频。
目前,如果用户在观看短视频过程中,也想同时观看直播视频,或者在观看直播视频过程中,也想同时观看短视频,客户端无法满足用户的需求,同时播放短视频和直播视频。
为了解决上述问题,本公开实施例提供了一种视频数据处理方法、装置、服务器、终端和存储介质,服务器在接收到客户端发送的视频合流播放请求之后,采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据,形成合成视频帧,根据逐帧合成得到的合成视频帧生成合成视频流发送至客户端,使客户端根据接收到的合成视频流在一个视频播放画面的不同区域分别播放第一视频和第二视频,从而使客户端使用一个播放器就可以同时播放两个视频,而不需要使用相互堆叠的两个播放器分别播放第一视频和第二视频,节约客户端的资源消耗。
上述图1的应用场景只是实现本申请实施例的一个应用场景的示例,本申请实施例并不限于上述图1所述的应用场景。
图2示出了本公开实施例提供的一种视频数据处理方法的交互图,该方法可以由图1中所示的服务器300和安装在用户的终端上的客户端执行。
在一种实施例中,如图2所示,本公开实施例提供的视频数据处理方法包括如下步骤:
步骤S201,客户端接收到用户的视频合流操作。
所述视频合流操作是用户想同时观看第一视频和第二视频时输入的操作,其中,第一视频可以是直播视频,第二视频可以是短视频;或者,第一视频可以是短视频,第二视频可以是直播视频。例如,用户在观看短视频时,如果想同时观看直播视频,即可触发视频合流操作。
在一种可选的实施例中,用户可以在观看短视频的过程中触发视频合流操作。例如,假设第二视频为短视频,用户通过客户端向服务器发送播放第二视频的视频播放请求,服务器将第二视频的视频流发送至客户端。客户端接收到服务器发送的第二视频的视频流,播放第二视频。在客户端播放第二视频的过程中,若服务器确定第二视频的主播正在直播,可以通知客户端展示视频合流提示信息。客户端根据服务器的通知展示视频合流提示信息。例如,客户端接收到第二视频的主播正在直播的通知,可以弹出提示框或通过其它提示方式向用户展示视频合流提示信息,提示框中可以显示确认和取消按键。如果用户点击确认按键,则认为用户触发视频合流操作。
在另一种可选的实施例中,用户可以在观看短视频之前触发视频合流操作。例如,仍然假设第二视频为短视频,用户可以通过点击第二视频的摘要显示区域以观看第二视频。在用户点击第二视频操作时,客户端可以询问服务器第二视频的主播是否正在直播,若正在直播,则客户端可以弹出提示框向用户展示视频合流提示信息,提示框中可以显示确认和取消按键。如果用户点击确认按键,则认为用户触发视频合流操作。可选地,客户端还可以在显示第二视频的摘要的界面中同时显示第二视频的主播是否正在直播的提示信息;或者,如果第二视频的主播正在直播,客户端可以将用户点击第二视频的摘要显示区域的操作作为视频合流操作。
同理,用户也可以在观看直播视频的过程中触发视频合流操作,在此不再赘述。
步骤S202,客户端向服务器发送视频合流播放请求。
响应接收到的视频合流操作,客户端向服务器发送视频合流播放请求。所述视频合流播放请求指示同时播放第一视频和第二视频。
步骤S203,服务器将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧。
服务器接收到客户端发送的视频合流播放请求,将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧,即将两个视频中的颜色编码(YUV)数据进行合流。其中,第一视频和第二视频的帧率相同。第一视频和第二视频的帧率不同时,可以根据第一视频或第二视频的解码帧率,动态调整另一个视频文件的帧率,保证两个视频之间没有明显的帧率差异。
合成视频帧是采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的,将第一视频的视频帧与第二视频的视频帧按照预设的位置比例关系进行合成,即可得到合成视频帧。示例性地,位置比例关系可以是第一视频的视频帧与第二视频的视频帧的位置占比为1:3,例如,将显示屏平均分为四等份时,第一视频的视频帧位于显示屏右上角,占据显示屏四分之一的面积,第二视频的视频帧占据显示屏剩余四分之三的面积。
示例性地,对于第一视频中的任意一个视频帧和第二视频中与其对应的视频帧,如图3所示,服务器裁剪掉第二视频的视频帧中的指定区域的画面数据,然后将第一视频中对应的视频帧的画面数据平铺至指定区域,得到合成视频帧。在图3中,指定区域位于画面的右上角,是一个长宽比为16:9的区域。在其它实施例中,指定区域也可以位于画面的其它位置,如左上角、右下角等,指定区域的长宽比在本公开实施例中也不进行限定。
步骤S204,服务器根据合成视频帧生成合成视频流。
步骤S205,服务器向客户端发送合成视频流。
服务器向发送视频合流播放请求的客户端发送合成视频流。
步骤S206,客户端播放合成视频流。
客户端接收到服务器发送的合成视频流,启动播放器播放合成视频流的视频画面。
本公开实施例提供的视频数据处理方法,在接收到客户端发送的视频合流播放请求之后,服务器采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据,形成合成视频帧,根据逐帧合成得到的合成视频帧生成合成视频流发送至客户端,使客户端根据接收到的合成视频流在一个视频播放画面的不同区域分别播放第一视频和第二视频,从而使客户端使用一个播放器就可以同时播放两个视频,而不需要使用相互堆叠的两个播放器分别播放第一视频和第二视频,节约客户端的资源消耗。
在一种可选的实施例中,为了使用户可以自由选择要收听哪个视频的声音,服务器可以分别将第一视频的音频帧和第二视频的音频帧添加至合成视频流中,以使客户端根据用户的选择播放第一视频的音频帧或第二视频的音频帧。客户端在播放合成视频流的过程中,可以根据用户选择的音频播放合成视频流中第一视频的音频帧(ACC数据)或第二视频的音频帧。
例如,客户端在播放合成视频流的过程中,可以在设置区或设置菜单中增加对应不同音频的选项。如图4所示,展开设置菜单后,用户可以看到第一视频和第二视频的选项,用户选择第一视频,客户端播放第一视频的音频帧,用户选择第二视频,客户端播放第二视频的音频帧。用户也可以同时选择第一视频和第二视频,同时收听第一视频和第二视频的声音。
在另一种可选的实施例中,服务器也可以根据客户端用户的选择,将第一视频的音频帧或第二视频的音频帧添加至合成视频流中发送至客户端。例如,用户通过声音设置菜单选择第一视频,客户端将用户的选择通知给服务器。服务器仅将第一视频的音频帧添加至合成视频流中发送至客户端。
考虑到在直播过程中,一般都会有弹幕消息。在一些实施例中,假设第一视频为直播视频,第二视频为短视频,服务器可以从弹幕服务器或发送弹幕消息的各个终端获取第一视频的弹幕数据。服务器获取第一视频的弹幕数据后,将弹幕数据添加至第一视频的视频帧的画面数据中,再采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据,得到合成视频帧。在服务器端将弹幕数据添加至直播视频的画面数据中,可以保证在合流播放时,弹幕数据在正确的位置显示,同时,不需要客户端单独获取弹幕数据与直播视频的画面数据合流,可以节约客户端的程序资源和数据传输资源。
考虑到用户在同时观看第一视频和第二视频的过程中,可能会倾向于只观看其中的一个视频,客户端在合播视频画面中可以设置只观看第一视频或关闭第一视频的控件。例如,在第一视频的画面区域设置透明膜层,用于接收用户的点击操作,如果用户点击第一视频的画面区域,则认为接收到用户指示播放第一视频的操作。在第一视频的右上角设置关闭按键,如果用户点击关闭按键,则认为接收到用户指示关闭第一视频,播放第二视频的操作。
具体地说,在播放合成视频流的过程中,如果用户点击指定区域,如第一视频的画面区域,客户端响应用户点击指定区域的操作,向服务器发送单视频播放请求。该单视频播放请求指示播放第一视频,并且携带有第一视频的视频播放时刻。其中,视频播放时刻指第一视频的当前播放位置,通常采用时间戳标明。服务器接收到客户端发送的单视频播放请求,根据单视频播放请求中携带的视频播放时刻,将单视频播放请求指示播放的第一视频的视频流发送给客户端。此处的第一视频的视频流包括从视频播放时刻开始的视频帧及该视频帧之后的视频帧。客户端根据新接收到的视频流播放第一视频。
在播放合成视频流的过程中,如果用户点击视频关闭按键,客户端响应用户点击视频关闭按键的操作,向服务器发送单视频播放请求。该单视频播放请求指示播放第二视频,并且携带有第二视频的视频播放时刻。其中,视频播放时刻指第二视频的当前播放位置,通常采用时间戳标明。服务器接收到客户端发送的单视频播放请求,根据单视频播放请求中携带的视频播放时刻,将单视频播放请求指示播放的第二视频的视频流发送给客户端。此处的第二视频的视频流包括从视频播放时刻开始的视频帧及该视频帧之后的视频帧。客户端根据新接收到的视频流播放第二视频。
为了更便于理解,下文通过两个具体实施例说明视频数据处理的过程。在一个实施例中,如图5所示,本公开实施例提供的视频数据处理方法包括如下步骤:
步骤S501,客户端接收到用户的视频播放操作。
该视频播放操作指示播放第二视频,第二视频是一个短视频。
步骤S502,客户端向服务器发送视频播放请求。
步骤S503,服务器获取视频播放请求指示播放的第二视频的视频数据。
其中,第二视频的视频数据存储在服务器中或与服务器连接的视频播放平台的数据库中。第二视频的视频数据中包括第二视频的视频帧,多个连续的第二视频的视频帧形成第二视频的视频流。
步骤S504,服务器向客户端发送第二视频的视频流。
步骤S505,客户端播放第二视频的视频流。
步骤S506,在客户端播放第二视频的过程中,服务器监测到第二视频的主播正在直播。
其中,第二视频的主播指上传第二视频的主播。
步骤S507,服务器向客户端发送正在直播通知,通知客户端第二视频的主播正在直播。
步骤S508,客户端根据服务器的通知展示视频合流提示信息。
步骤S509,客户端接收到用户的视频合流操作。
步骤S510,客户端向服务器发送视频合流播放请求。
该视频合流播放请求指示同时播放第一视频和第二视频,其中,第一视频为上述主播的直播视频。
步骤S511,服务器将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧。
合成视频帧中第一视频的视频帧与第二视频的视频帧按照预设的位置比例关系排布。
步骤S512,服务器根据合成视频帧、第一视频的音频帧和第二视频的音频帧生成合成视频流。
步骤S513,服务器向客户端发送合成视频流。
步骤S514,客户端播放合成视频流。
该方法提供了一种全新的直播曝光的方式和更高效的浏览体验,在播放短视频的场景下,***直播视频的展示。用户在观看短视频的同时,可以同时观看该主播的直播视频,能够让用户更好地通过短视频-直播互相去了解该主播的相关信息。
步骤S515,客户端接收到用户点击指定区域的操作。
在播放合成视频流的过程中,客户端监听用户是否点击指定区域,该指定区域可以是第一视频的画面区域。
步骤S516,客户端向服务器发送单视频播放请求。
该单视频播放请求指示播放第一视频,并携带有第一视频的视频播放时刻,该视频播放时刻用于指示第一视频的当前播放位置。
步骤S517,服务器获取单视频播放请求指示播放的第一视频的视频数据。
服务器可以从主播的终端获取第一视频的视频数据,第一视频的视频数据中包括第一视频中自视频播放时刻开始的视频帧。自视频播放时刻开始,多个连续的第一视频的视频帧形成第一视频的视频流。
步骤S518,服务器向客户端发送第一视频的视频流。
步骤S519,客户端播放第一视频的视频流。
在另一个实施例中,如图6所示,本公开实施例提供的视频数据处理方法包括如下步骤:
步骤S601,客户端接收到用户的视频播放操作。
该视频播放操作指示播放第二视频,第二视频是一个短视频。
步骤S602,客户端向服务器发送视频播放请求。
步骤S603,服务器获取视频播放请求指示播放的第二视频的视频数据。
步骤S604,服务器向客户端发送第二视频的视频流。
步骤S605,客户端播放第二视频的视频流。
步骤S606,在客户端播放第二视频的过程中,服务器监测到第二视频的主播正在直播。
其中,第二视频的主播指上传第二视频的主播。
步骤S607,服务器向客户端发送正在直播通知,通知客户端第二视频的主播正在直播。
步骤S608,客户端根据服务器的通知展示视频合流提示信息。
步骤S609,客户端接收到用户的视频合流操作。
步骤S610,客户端向服务器发送视频合流播放请求。
该视频合流播放请求指示同时播放第一视频和第二视频,其中,第一视频为上述主播的直播视频。
步骤S611,服务器将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧。
步骤S612,服务器根据合成视频帧、第一视频的音频帧和第二视频的音频帧生成合成视频流。
步骤S613,服务器向客户端发送合成视频流。
步骤S614,客户端播放合成视频流。
步骤S615,客户端接收到用户点击关闭视频按键的操作。
该关闭视频按键用于关闭第一视频。
步骤S616,客户端向服务器发送单视频播放请求。
该单视频播放请求指示播放第二视频。
步骤S617,服务器获取单视频播放请求指示播放的第二视频的视频数据。
第二视频的视频数据中包括第二视频中自视频播放时刻开始的视频帧。自视频播放时刻开始,多个连续的第二视频的视频帧形成第二视频的视频流。
步骤S618,服务器向客户端发送第二视频的视频流。
步骤S619,客户端播放第二视频的视频流。
需要说明的是,上述本公开实施例描述的应用场景是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
在本公开实施例中,服务器执行的视频数据处理方法如图7所示,包括如下步骤:
步骤S701,接收客户端发送的视频合流播放请求。
视频合流播放请求指示同时播放第一视频和第二视频。其中,第一视频为直播视频,第二视频为短视频;或者,第一视频为短视频,第二视频为直播视频。
在一可选的实施方式中,在客户端播放第二视频的过程中,服务器监测第二视频的主播是否正在直播,若确定第二视频的主播正在直播,则通知客户端展示视频合流提示信息。如果用户根据客户端展示的视频合流提示信息选择将两个视频合流进行播放,客户端向服务器发送视频合流播放请求。
步骤S702,将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧。
所述合成视频帧是采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的。在采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据之前,服务器可以先获取第一视频的弹幕数据,将弹幕数据添加至第一视频的视频帧的画面数据中。
步骤S703,根据合成视频帧生成合成视频流。
在生成合成视频流时,可以分别将第一视频的音频帧和第二视频的音频帧添加至所述合成视频流中,以使客户端根据用户的选择播放第一视频的音频帧或第二视频的音频帧。或者,可以根据客户端用户的选择,将第一视频的音频帧或第二视频的音频帧添加至合成视频流中。
步骤S704,将合成视频流发送给客户端。
可选地,在客户端播放合播视频的过程中,若接收到客户端发送的单视频播放请求,如果该单视频播放请求指示播放第一视频,根据单视频播放请求中携带的第一视频的视频播放时刻,将第一视频的视频流发送给客户端;如果该单视频播放请求指示播放第二视频,根据单视频播放请求中携带的第二视频的视频播放时刻,将第二视频的视频流发送给客户端。
在本公开实施例中,客户端执行的视频数据处理方法如图8所示,包括如下步骤:
步骤S801,响应接收到的视频合流操作,向服务器发送视频合流播放请求。
该视频合流播放请求指示同时播放第一视频和第二视频。其中,第一视频为直播视频,第二视频为短视频;或者,第一视频为短视频,第二视频为直播视频。
可选地,客户端在播放第二视频的过程中,如果接收到服务器发送的主播正在进行直播的通知,根据服务器的通知展示视频合流提示信息。如果用户根据客户端展示的视频合流提示信息选择将两个视频合流进行播放,响应接收到的视频合流操作,向服务器发送视频合流播放请求。
步骤S802,接收服务器返回的合成视频流。
所述合成视频流是服务器根据合成视频帧生成的,合成视频帧是所述服务器采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的。
步骤S803,播放合成视频流。
在播放合成视频流的过程中,可以根据用户选择的音频播放合成视频流中第一视频的音频帧或第二视频的音频帧。
在播放合成视频流的过程中,若监听到用户点击指定区域,响应用户点击指定区域的操作,向服务器发送单视频播放请求。所述单视频播放请求指示播放第一视频,并且携带有第一视频的视频播放时刻。
在播放合成视频流的过程中,若监听到用户点击视频关闭按键,响应用户点击视频关闭按键的操作,向服务器发送单视频播放请求。所述单视频播放请求指示播放第二视频,并且携带有第二视频的视频播放时刻。
与图7所示的视频数据处理方法基于相同的发明构思,本公开还提供了一种视频数据处理装置。如图9所示,该视频数据处理装置包括:
请求接收单元91,用于接收客户端发送的视频合流播放请求;所述视频合流播放请求指示同时播放第一视频和第二视频;
视频合流单元92,用于将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧,根据所述合成视频帧生成合成视频流;所述合成视频帧是采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的;
视频发送单元93,用于将所述合成视频流发送给所述客户端。
在一种可能的实现方式中,所述视频合流单元92,还用于:
分别将所述第一视频的音频帧和所述第二视频的音频帧添加至所述合成视频流中,以使客户端根据用户的选择播放第一视频的音频帧或第二视频的音频帧。
在一种可能的实现方式中,所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频。
在一种可能的实现方式中,所述第一视频为直播视频;所述第二视频为短视频;所述视频合流单元92,还用于:
获取所述第一视频的弹幕数据;
将所述弹幕数据添加至所述第一视频的视频帧的画面数据中。
在一种可能的实现方式中,所述第一视频为直播视频;所述第二视频为短视频;如图10所示,上述装置还包括:
通知发送单元94,用于若在所述客户端播放第二视频的过程中,确定所述第二视频的主播正在直播,则通知所述客户端展示视频合流提示信息。
在一种可能的实现方式中,所述视频发送单元93,还用于:
若接收到所述客户端发送的单视频播放请求,根据所述单视频播放请求中携带的视频播放时刻,将所述单视频播放请求指示播放的第一视频或第二视频的视频流发送给所述客户端。
与图8所示的视频数据处理方法基于相同的发明构思,本公开还提供了一种动画素材播放装置。如图11所示,该视频数据处理装置包括:
请求发送单元111,用于响应接收到的视频合流操作,向服务器发送视频合流播放请求;所述视频合流播放请求指示同时播放第一视频和第二视频;
视频接收单元112,用于接收所述服务器返回的合成视频流;所述合成视频流是所述服务器根据合成视频帧生成的,所述合成视频帧是所述服务器采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的;
视频播放单元113,用于播放所述合成视频流。
在一种可能的实现方式中,所述视频播放单元113,还可以用于:
在播放所述合成视频流的过程中,根据用户选择的音频播放合成视频流中第一视频的音频帧或第二视频的音频帧。
在一种可能的实现方式中,所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频。
在一种可能的实现方式中,所述第二视频为短视频;如图12所示,上述装置还可以包括合流提示单元114,用于在播放第二视频的过程中,根据所述服务器的通知展示视频合流提示信息。
在一种可能的实现方式中,所述视频播放单元113,还可以用于:
在播放所述合成视频流的过程中,响应用户点击指定区域的操作,向所述服务器发送单视频播放请求;所述单视频播放请求指示播放第一视频,并且携带有第一视频的视频播放时刻;或者
在播放所述合成视频流的过程中,响应用户点击视频关闭按键的操作,向所述服务器发送单视频播放请求;所述单视频播放请求指示播放第二视频,并且携带有第二视频的视频播放时刻。
本公开实施例提供的视频数据处理装置,在接收到客户端发送的视频合流播放请求之后,采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据,形成合成视频帧,根据逐帧合成得到的合成视频帧生成合成视频流发送至客户端,使客户端根据接收到的合成视频流在一个视频播放画面的不同区域分别播放第一视频和第二视频,从而使客户端使用一个播放器就可以同时播放两个视频,而不需要使用相互堆叠的两个播放器分别播放第一视频和第二视频,节约客户端的资源消耗。
与图7所示的视频数据处理方法基于相同的发明构思,本公开实施例还提供了一种服务器,例如,图1中所示的服务器300。图13示出了一种可能的服务器的结构框图,如图13所示,该服务器可以包括存储器1301和处理器1302。
存储器1301,用于存储处理器1302执行的计算机程序。存储器1301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据所述服务器的使用所创建的数据,如短视频、弹幕数据等。
存储器1301可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1301也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1301是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1301可以是上述存储器的组合。
处理器1302,可以包括一个或多个中央处理单元(central processing unit,CPU),图形处理单元(Graphics Processing Unit,GPU)或者为数字处理单元等等。
本公开实施例中不限定上述存储器1301和处理器1302之间的具体连接介质。本公开实施例在图13中以存储器1301和处理器1302之间通过总线1303连接,总线1303在图13中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线1303可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
具体地,处理器1302,用于调用所述存储器1301中存储的计算机程序时实现下述步骤:
接收客户端发送的视频合流播放请求;所述视频合流播放请求指示同时播放第一视频和第二视频;
将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧;所述合成视频帧是采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的;
根据所述合成视频帧生成合成视频流;
将所述合成视频流发送给所述客户端。
在一种可能的实现方式中,所述处理器1302还执行:
分别将所述第一视频的音频帧和所述第二视频的音频帧添加至所述合成视频流中,以使客户端根据用户的选择播放第一视频的音频帧或第二视频的音频帧。
在一种可能的实现方式中,所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频。
在一种可能的实现方式中,所述第一视频为直播视频;所述第二视频为短视频;所述处理器1302还执行:
获取所述第一视频的弹幕数据;
将所述弹幕数据添加至所述第一视频的视频帧的画面数据中。
在一种可能的实现方式中,所述第一视频为直播视频;所述第二视频为短视频;所述处理器1302还执行:
若在所述客户端播放第二视频的过程中,确定所述第二视频的主播正在直播,则通知所述客户端展示视频合流提示信息。
在一种可能的实现方式中,所述处理器1302还执行:
若接收到所述客户端发送的单视频播放请求,根据所述单视频播放请求中携带的视频播放时刻,将所述单视频播放请求指示播放的第一视频或第二视频的视频流发送给所述客户端。
与图8所示的视频数据处理方法基于相同的发明构思,本公开实施例还提供了一种终端,例如,图1中所示的终端101或终端102,终端上安装有可以播放短视频和直播视频的客户端。如图14所示,该终端可以包括:射频(Radio Frequency,RF)电路1401、电源1402、处理器1403、存储器1404、输入单元1405、显示单元1406、摄像头1407、通信接口1408、以及无线保真(Wireless Fidelity,WiFi)模块1409等部件。本领域技术人员可以理解,图14中示出的终端设备的结构并不构成对终端设备的限定,本申请实施例提供的终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图14对所述终端的各个构成部件进行具体的介绍:
所述RF电路1401可用于通信或通话过程中,数据的接收和发送。特别地,所述RF电路1401在接收到服务器发送的直播数据,发送给所述处理器1403处理;另外,将上行数据发送给基站。通常,所述RF电路1401包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。
此外,RF电路1401还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(Global System of Mobilecommunication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code DivisionMultiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
WiFi技术属于短距离无线传输技术,所述终端通过WiFi模块1409可以连接接入点(Access Point,AP),从而实现数据网络的访问。所述WiFi模块1409可用于通信过程中,数据的接收和发送,也可以通过WiFi模块1409接收服务器发送的视频流等。
所述终端可以通过所述通信接口1408与其他设备实现物理连接。可选的,所述通信接口1408与所述其他设备的通信接口通过电缆连接,实现所述终端和其他设备之间的数据传输。
由于在本申请实施例中,所述终端能够实现通信业务,向其他联系人发送信息,因此所述终端需要具有数据传输功能,即所述终端内部需要包含通信模块。虽然图14示出了所述RF电路1401、所述WiFi模块1409、和所述通信接口1408等通信模块,但是可以理解的是,所述终端中存在上述部件中的至少一个或者其他用于实现通信的通信模块(如蓝牙模块),以进行数据传输。
例如,当所述终端为手机时,所述终端可以包含所述RF电路1401,还可以包含所述WiFi模块1409;当所述终端为计算机时,所述终端可以包含所述通信接口1408,还可以包含所述WiFi模块1409;当所述终端为平板电脑时,所述终端可以包含所述WiFi模块。
所述输入单元1405可用于接收用户输入的数字或字符信息,以及产生与所述终端的用户设置以及功能控制有关的键信号输入。
可选的,输入单元1405可包括触控面板1453以及其他输入设备1454。
其中,所述触控面板1453,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在所述触控面板1453上或在所述触控面板1453附近的操作),并根据预先设定的程式实现相应的操作,如用户选择礼物等。可选的,所述触控面板1453可以包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给所述处理器1403,并能接收所述处理器1403发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现所述触控面板1453。
可选的,所述其他输入设备1454可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
所述显示单元1406可用于显示由用户输入的信息或提供给用户的信息以及所述终端的各种菜单。所述显示单元1406即为所述终端的显示***,用于呈现界面,如直播画面等,实现人机交互。
所述显示单元1406可以包括显示面板1461。可选的,所述显示面板1461可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-EmittingDiode,OLED)等形式来配置。
进一步的,所述触控面板1453可覆盖所述显示面板1461,当所述触控面板1453检测到在其上或附近的触摸操作后,传送给所述处理器1403以确定触摸事件的类型,随后所述处理器1403根据触摸事件的类型在所述显示面板1461上提供相应的视觉输出。
虽然在图14中,所述触控面板1453与所述显示面板1461是作为两个独立的部件来实现所述终端的输入和输入功能,但是在某些实施例中,可以将所述触控面板1453与所述显示面板1461集成而实现所述终端的输入和输出功能。
所述摄像头1407,用于实现所述终端的拍摄功能,拍摄图片或视频。例如,主播可以通过摄像头1407拍摄直播视频。所述摄像头1407还可以用于实现终端的扫描功能,对扫描对象(二维码/条形码)进行扫描。
所述终端还包括用于给各个部件供电的电源1402(比如电池)。可选的,所述电源1402可以通过电源管理***与所述处理器1403逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗等功能。
存储器1404可以是易失性存储器,也可以是非易失性存储器。存储器1404是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1404,用于存储处理器1403执行的计算机程序。
处理器1403,可以包括一个或多个中央处理单元(central processing unit,CPU),图形处理单元(Graphics Processing Unit,GPU)或者为数字处理单元等等。其中,图形处理单元可以用于对图形进行处理,如渲染视频画面等。
具体地,具体地,处理器1403,用于调用所述存储器1404中存储的计算机程序时实现下述步骤:
响应接收到的视频合流操作,向服务器发送视频合流播放请求;所述视频合流播放请求指示同时播放第一视频和第二视频;所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频;
接收所述服务器返回的合成视频流;所述合成视频流是所述服务器根据合成视频帧生成的,所述合成视频帧是所述服务器采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的;
播放所述合成视频流。
在一种可能的实现方式中,所述处理器1403具体执行:
在播放所述合成视频流的过程中,根据用户选择的音频播放合成视频流中第一视频的音频帧或第二视频的音频帧。
在一种可能的实现方式中,所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频。
在一种可能的实现方式中,所述第二视频为短视频;所述处理器1403还执行:
在播放第二视频的过程中,根据所述服务器的通知展示视频合流提示信息。
在一种可能的实现方式中,所述处理器1403具体执行:
在播放所述合成视频流的过程中,响应用户点击指定区域的操作,向所述服务器发送单视频播放请求;所述单视频播放请求指示播放第一视频,并且携带有第一视频的视频播放时刻;或者
在播放所述合成视频流的过程中,响应用户点击视频关闭按键的操作,向所述服务器发送单视频播放请求;所述单视频播放请求指示播放第二视频,并且携带有第二视频的视频播放时刻。
尽管未示出,所述终端还可以包括至少一种传感器、音频电路等,在此不再赘述。
本公开实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于实现本公开实施例所记载的上述任意一种视频数据处理方法。
在一些可能的实施方式中,本公开提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本公开各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行本公开实施例所记载的任意一种视频数据处理方法。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。

Claims (29)

1.一种视频数据处理方法,其特征在于,应用于服务器,所述方法包括:
接收客户端发送的视频合流播放请求;所述视频合流播放请求指示同时播放第一视频和第二视频;
将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧;所述合成视频帧是采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的;
根据所述合成视频帧生成合成视频流;
将所述合成视频流发送给所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧,包括:
将第一视频的视频帧与第二视频的视频帧按照预设的位置比例关系进行逐帧合成。
3.根据权利要求1所述的方法,其特征在于,根据所述合成视频帧生成合成视频流之后,所述方法还包括:
分别将所述第一视频的音频帧和所述第二视频的音频帧添加至所述合成视频流中。
4.根据权利要求1所述的方法,其特征在于,所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频。
5.根据权利要求4所述的方法,其特征在于,所述第一视频为直播视频;所述第二视频为短视频;将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧之前,所述方法还包括:
获取所述第一视频的弹幕数据;
将所述弹幕数据添加至所述第一视频的视频帧的画面数据中。
6.根据权利要求4所述的方法,其特征在于,所述第一视频为直播视频;所述第二视频为短视频;所述接收客户端发送的合流视频播放请求之前,所述方法还包括:
若在所述客户端播放第二视频的过程中,确定所述第二视频的主播正在直播,则通知所述客户端展示视频合流提示信息。
7.根据权利要求1~6中任一项所述的方法,其特征在于,将所述合成视频流发送给所述客户端之后,所述方法还包括:
若接收到所述客户端发送的单视频播放请求,根据所述单视频播放请求中携带的视频播放时刻,将所述单视频播放请求指示播放的第一视频或第二视频的视频流发送给所述客户端。
8.一种视频数据处理方法,其特征在于,应用于客户端,所述方法包括:
响应接收到的视频合流操作,向服务器发送视频合流播放请求;所述视频合流播放请求指示同时播放第一视频和第二视频;
接收所述服务器返回的合成视频流;所述合成视频流是所述服务器根据合成视频帧生成的,所述合成视频帧是所述服务器采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的;
播放所述合成视频流。
9.根据权利要求8所述的方法,其特征在于,所述合成视频帧中第一视频的视频帧与第二视频的视频帧按照预设的位置比例关系排布。
10.根据权利要求8所述的方法,其特征在于,所述播放所述合成视频流,包括:
在播放所述合成视频流的过程中,根据用户选择的音频播放合成视频流中第一视频的音频帧或第二视频的音频帧。
11.根据权利要求8所述的方法,其特征在于,所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频。
12.根据权利要求11所述的方法,其特征在于,所述第二视频为短视频;
所述响应接收到的视频合流操作,向服务器发送视频合流播放请求之前,所述方法还包括:
在播放第二视频的过程中,根据所述服务器的通知展示视频合流提示信息。
13.根据权利要求12所述的方法,其特征在于,所述播放所述合成视频流,还包括:
在播放所述合成视频流的过程中,响应用户点击指定区域的操作,向所述服务器发送单视频播放请求;所述单视频播放请求指示播放第一视频,并且携带有第一视频的视频播放时刻;或者
在播放所述合成视频流的过程中,响应用户点击视频关闭按键的操作,向所述服务器发送单视频播放请求;所述单视频播放请求指示播放第二视频,并且携带有第二视频的视频播放时刻。
14.一种视频数据处理装置,其特征在于,所述装置包括:
请求接收单元,用于接收客户端发送的视频合流播放请求;所述视频合流播放请求指示同时播放第一视频和第二视频;
视频合流单元,用于将第一视频的视频帧与第二视频的视频帧进行逐帧合成得到合成视频帧,根据所述合成视频帧生成合成视频流;所述合成视频帧是采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的;
视频发送单元,用于将所述合成视频流发送给所述客户端。
15.根据权利要求14所述的装置,其特征在于,所述视频合流单元,还用于:
将第一视频的视频帧与第二视频的视频帧按照预设的位置比例关系进行逐帧合成。
16.根据权利要求14所述的装置,其特征在于,所述视频合流单元,还用于:
分别将所述第一视频的音频帧和所述第二视频的音频帧添加至所述合成视频流中,以使客户端根据用户的选择播放第一视频的音频帧或第二视频的音频帧。
17.根据权利要求14所述的装置,其特征在于,所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频。
18.根据权利要求17所述的装置,其特征在于,所述第一视频为直播视频;所述第二视频为短视频;所述视频合流单元,还用于:
获取所述第一视频的弹幕数据;
将所述弹幕数据添加至所述第一视频的视频帧的画面数据中。
19.根据权利要求17所述的装置,其特征在于,所述第一视频为直播视频;所述第二视频为短视频;所述装置还包括:
通知发送单元,用于若在所述客户端播放第二视频的过程中,确定所述第二视频的主播正在直播,则通知所述客户端展示视频合流提示信息。
20.根据权利要求14~17中任一项所述的装置,其特征在于,所述视频发送单元,还用于:
若接收到所述客户端发送的单视频播放请求,根据所述单视频播放请求中携带的视频播放时刻,将所述单视频播放请求指示播放的第一视频或第二视频的视频流发送给所述客户端。
21.一种视频数据处理装置,其特征在于,所述装置包括:
请求发送单元,用于响应接收到的视频合流操作,向服务器发送视频合流播放请求;所述视频合流播放请求指示同时播放第一视频和第二视频;
视频接收单元,用于接收所述服务器返回的合成视频流;所述合成视频流是所述服务器根据合成视频帧生成的,所述合成视频帧是所述服务器采用第一视频的视频帧的画面数据替换第二视频中对应的视频帧的指定区域的画面数据而得到的;
视频播放单元,用于播放所述合成视频流。
22.根据权利要求21所述的装置,其特征在于,所述合成视频帧中第一视频的视频帧与第二视频的视频帧按照预设的位置比例关系排布。
23.根据权利要求21所述的装置,其特征在于,所述视频播放单元,用于:
在播放所述合成视频流的过程中,根据用户选择的音频播放合成视频流中第一视频的音频帧或第二视频的音频帧。
24.根据权利要求21所述的装置,其特征在于,所述第一视频为直播视频,所述第二视频为短视频;或者,所述第一视频为短视频,所述第二视频为直播视频。
25.根据权利要求24所述的装置,其特征在于,所述第二视频为短视频;所述装置还包括:
合流提示单元,用于在播放第二视频的过程中,根据所述服务器的通知展示视频合流提示信息。
26.根据权利要求25所述的装置,其特征在于,所述视频播放单元,还用于:
在播放所述合成视频流的过程中,响应用户点击指定区域的操作,向所述服务器发送单视频播放请求;所述单视频播放请求指示播放第一视频,并且携带有第一视频的视频播放时刻;或者
在播放所述合成视频流的过程中,响应用户点击视频关闭按键的操作,向所述服务器发送单视频播放请求;所述单视频播放请求指示播放第二视频,并且携带有第二视频的视频播放时刻。
27.一种服务器,其特征在于,包括一个或多个处理器,以及用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-7中任一项所述的视频数据处理方法。
28.一种终端,其特征在于,包括一个或多个处理器,以及用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求8-13中任一项所述的视频数据处理方法。
29.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7中任一项或如权利要求8-13中任一项所述的视频数据处理方法。
CN201911012307.2A 2019-10-23 2019-10-23 视频数据处理方法、装置、服务器、终端和存储介质 Active CN110740346B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911012307.2A CN110740346B (zh) 2019-10-23 2019-10-23 视频数据处理方法、装置、服务器、终端和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911012307.2A CN110740346B (zh) 2019-10-23 2019-10-23 视频数据处理方法、装置、服务器、终端和存储介质

Publications (2)

Publication Number Publication Date
CN110740346A CN110740346A (zh) 2020-01-31
CN110740346B true CN110740346B (zh) 2022-04-22

Family

ID=69270935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911012307.2A Active CN110740346B (zh) 2019-10-23 2019-10-23 视频数据处理方法、装置、服务器、终端和存储介质

Country Status (1)

Country Link
CN (1) CN110740346B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565693B (zh) * 2020-11-30 2023-05-16 广东荣文科技集团有限公司 监控视频点播方法、***及设备
CN112637624B (zh) * 2020-12-14 2023-07-18 广州繁星互娱信息科技有限公司 直播流处理方法、装置、设备及存储介质
CN115484469B (zh) * 2021-06-15 2024-01-09 北京字节跳动网络技术有限公司 一种连麦***、方法、装置、设备及存储介质
CN115209222B (zh) * 2022-06-15 2024-02-09 深圳市锐明技术股份有限公司 一种视频播放方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015093113A1 (ja) * 2013-12-16 2015-06-25 三菱電機株式会社 映像処理装置及び映像表示装置
WO2018095174A1 (zh) * 2016-11-22 2018-05-31 广州华多网络科技有限公司 直播间视频流合成控制方法、装置及终端设备
CN108900859A (zh) * 2018-08-17 2018-11-27 广州酷狗计算机科技有限公司 直播方法及***

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105430424B (zh) * 2015-11-26 2018-12-04 广州华多网络科技有限公司 一种视频直播的方法、装置和***
US10728194B2 (en) * 2015-12-28 2020-07-28 Facebook, Inc. Systems and methods to selectively combine video streams
US10165316B2 (en) * 2016-03-31 2018-12-25 Viacom International Inc. Device, system, and method for hybrid media content distribution
CN106658145B (zh) * 2016-12-27 2020-07-03 北京奇虎科技有限公司 一种直播数据处理方法和装置
CN107018448A (zh) * 2017-03-23 2017-08-04 广州华多网络科技有限公司 数据处理方法及装置
CN108055552B (zh) * 2017-12-13 2019-11-05 广州虎牙信息科技有限公司 直播间弹幕展示方法、装置及相应的终端
CN108462883B (zh) * 2018-01-08 2019-10-18 平安科技(深圳)有限公司 一种直播互动方法、装置、终端设备及存储介质
CN109151594A (zh) * 2018-09-27 2019-01-04 广州虎牙信息科技有限公司 直播回放视频播放方法、装置以及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015093113A1 (ja) * 2013-12-16 2015-06-25 三菱電機株式会社 映像処理装置及び映像表示装置
WO2018095174A1 (zh) * 2016-11-22 2018-05-31 广州华多网络科技有限公司 直播间视频流合成控制方法、装置及终端设备
CN108900859A (zh) * 2018-08-17 2018-11-27 广州酷狗计算机科技有限公司 直播方法及***

Also Published As

Publication number Publication date
CN110740346A (zh) 2020-01-31

Similar Documents

Publication Publication Date Title
CN110740346B (zh) 视频数据处理方法、装置、服务器、终端和存储介质
JP6324625B2 (ja) ライブインタラクティブシステム、情報の送信方法、情報の受信方法及び装置
CN107396137B (zh) 在线互动的方法、装置及***
CN112929687B (zh) 基于直播视频的互动方法、装置、设备及存储介质
CN111050203B (zh) 一种视频处理方法、装置、视频处理设备及存储介质
CN111541930B (zh) 直播画面的显示方法、装置、终端及存储介质
WO2017181796A1 (zh) 节目互动***、方法、客户端及后台服务器
CN106412687B (zh) 一种音视频片段的截取方法和装置
CN112235647B (zh) 网络数据处理方法、装置、终端及服务器
CN110166794B (zh) 一种直播音频处理方法、装置及***
WO2018157812A1 (zh) 一种实现视频分支选择播放的方法及装置
KR101996468B1 (ko) 라이브 방송 중 음성 피드백을 위한 방법과 시스템 및 비-일시적인 컴퓨터 판독 가능한 기록 매체
CN102918835A (zh) 可控制的设备伴侣数据
CN111246225B (zh) 信息交互方法、装置、电子设备及计算机可读存储介质
CN112104648A (zh) 数据处理方法、装置、终端、服务器及存储介质
CN104023272A (zh) 一种视频画面编辑方法及装置
CN114025180A (zh) 一种游戏操作同步***、方法、装置、设备及存储介质
WO2020238840A1 (zh) 单机程序的运行方法、装置、设备及存储介质
CN111294607B (zh) 直播互动方法、装置、服务器及终端
CN110830813A (zh) 一种视频切换的方法、装置、电子设备及存储介质
US20160309041A1 (en) Calling methods and devices
CN113204671A (zh) 资源展示方法、装置、终端、服务器、介质及产品
CN112616078A (zh) 投屏处理方法、装置、电子设备和存储介质
CN108196756B (zh) 即时通讯界面输入切换的方法、装置、存储介质及终端设备
CN114302160A (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