一种视频切换方法及装置与流程

文档序号:11931501阅读:148来源:国知局
一种视频切换方法及装置与流程

本发明涉及视频播放技术领域,特别是涉及一种视频切换方法及装置。



背景技术:

利用互联网的优势,在线直播用视频的方式进行网上现场直播,可以将庆典活动、相关会议、对话访谈、在线培训等内容现场发布到互联网上,利用互联网直观快速、表现形式好、内容丰富、交互性强、地域不受限制、受众可划分等特点,加强活动现场的推广效果。

目前,在现场直播的场景下,直播方一般都是通过传统的方式把现场采集到的实时画面直接推送给观众进行直播,但是不可避免的,直播现场可能会发生一些不和谐的场面,例如现场有人故意发表恶意的言论,如果这些不和谐场面被直播出去,将会有损直播方的形象。



技术实现要素:

本发明实施例的目的在于提供一种视频切换方法及装置,以应对直播现场的突发事件,降低直播的潜在风险。具体技术方案如下:

为达到上述目的,本发明实施例公开了一种视频切换方法,应用于客户端,所述方法包括:

在播放第一视频数据过程中,接收将第一视频切换为第二视频的切换请求,其中,所述第一视频数据为:作为目标主播源的第一视频对应的视频数据,所述第二视频为:从所述目标主播源对应的目标备播源中确定的第一备播源对应的视频;

根据所述切换请求,向服务端发送切换指令;

接收所述服务端根据所述切换指令反馈的第二视频数据,其中,所述第二视频数据为:所述第二视频对应的视频数据;

停止播放所述第一视频数据,并播放所述第二视频数据,实现从所述第一视频到所述第二视频的切换。

可选的,所述方法还包括:

接收所述服务端反馈的截图,其中,所述截图为:所述目标主播源对应的各个目标备播源所对应直播视频的当前截图;

所述第一备播源为:根据所述截图从所述目标主播源对应的目标备播源中确定的。

可选的,所述方法还包括:

在播放第一视频数据过程中,向所述服务端发送获取第三视频数据的第一获取指令,其中,所述第三视频数据为:第二备播源对应的第三视频的视频数据,所述第二备播源为:从所述目标主播源对应的目标备播源中确定的备播源;

接收所述服务端根据所述第一获取指令反馈的第三视频数据;

根据预设的所述第一视频和所述第三视频在所述客户端播放区域的位置关系,播放所述第一视频数据和所述第三视频数据。

可选的,所述方法还包括:

向所述服务端发送获取第一频道的频道信息的第二获取指令,其中,所述频道信息包含:所述第一频道的主播源信息和备播源信息;

接收所述服务端根据所述第二获取指令反馈的所述频道信息。

可选的,所述方法还包括:

在所述频道信息为空时,向所述服务端发送针对所述第一频道的创建指令,以使所述服务端创建所述第一频道;

向所述服务端发送针对播放源的设置指令,以使所述服务端为所述第一频道设置主播源和备播源;

接收所述服务端发送的第四视频数据,并播放所述第四视频数据,其中,所述第四视频数据为:所述服务端对所述第一频道的主播源对应的视频进行编码得到的视频数据。

可选的,所述第二视频数据为:所述服务端在接收到所述客户端发送的切换请求之前预先编码完成的视频数据。

为达到上述目的,本发明实施例还公开了一种视频切换装置,应用于客户端,所述装置包括:

第一接收模块,用于在播放第一视频数据过程中,接收将第一视频切换为第二视频的切换请求,其中,所述第一视频数据为:作为目标主播源的第一视频对应的视频数据,所述第二视频为:从所述目标主播源对应的目标备播源中确定的第一备播源对应的视频;

第一发送模块,用于根据所述切换请求,向服务端发送切换指令;

第二接收模块,用于接收所述服务端根据所述切换指令反馈的第二视频数据,其中,所述第二视频数据为:所述第二视频对应的视频数据;

切换模块,用于停止播放所述第一视频数据,并播放所述第二视频数据,实现从所述第一视频到所述第二视频的切换。

可选的,所述装置还包括:

第三接收模块,用于接收所述服务端反馈的截图,其中,所述截图为:所述目标主播源对应的各个目标备播源所对应直播视频的当前截图;

所述第一备播源为:根据所述截图从所述目标主播源对应的目标备播源中确定的。

可选的,所述装置还包括:

第二发送模块,用于在播放第一视频数据过程中,向所述服务端发送获取第三视频数据的第一获取指令,其中,所述第三视频数据为:第二备播源对应的第三视频的视频数据,所述第二备播源为:从所述目标主播源对应的目标备播源中确定的备播源;

第四接收模块,用于接收所述服务端根据所述第一获取指令反馈的第三视频数据;

播放模块,用于根据预设的所述第一视频和所述第三视频在所述客户端播放区域的位置关系,播放所述第一视频数据和所述第三视频数据。

可选的,所述装置还包括:

第三发送模块,用于向所述服务端发送获取第一频道的频道信息的第二获取指令,其中,所述频道信息包含:所述第一频道的主播源信息和备播源信息;

第五接收模块,用于接收所述服务端根据所述第二获取指令反馈的所述频道信息。

可选的,其特征在于,所述装置还包括:

第四发送模块,用于在所述频道信息为空时,向所述服务端发送针对所述第一频道的创建指令,以使所述服务端创建所述第一频道;

第五发送模块,用于向所述服务端发送针对播放源的设置指令,以使所述服务端为所述第一频道设置主播源和备播源;

接收播放模块,用于接收所述服务端发送的第四视频数据,并播放所述第四视频数据,其中,所述第四视频数据为:所述服务端对所述第一频道的主播源对应的视频进行编码得到的视频数据。

可选的,所述第二视频数据为:所述服务端在接收到所述客户端发送的切换请求之前预先编码完成的视频数据。

综上可知,本发明实施例提供的视频切换方法及装置,客户端在播放第一视频数据过程中,接收用户将第一视频切换为第二视频的切换请求,其中,第一视频数据为:作为目标主播源的第一视频对应的视频数据,第二视频为:从目标主播源对应的目标备播源中确定的第一备播源对应的视频;根据切换请求向服务端发送切换指令;接收服务端根据切换指令反馈的第二视频数据,其中,第二视频数据为:第二视频对应的视频数据;停止播放第一视频数据,并播放第二视频数据,实现从第一视频到第二视频的切换。

可见,本发明实施例提供的方案,为主播源设置对应的备播源,在主播源对应的第一视频出现突发事件时,可以使用备播源对应的第二视频来替换第一视频,因此,本发明实施例提供的方案,可以应对直播现场的突发事件,降低直播的潜在风险。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种视频切换方法的流程示意图;

图2为本发明实施例提供的一种视频切换装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为解决现有技术问题,本发明实施例提供了一种视频切换方法及装置。下面首先对本发明实施例所提供的一种视频切换方法进行详细说明。

图1为本发明实施例提供的一种视频切换方法的流程示意图,该方法应用于客户端,包括:

S101,在播放第一视频数据过程中,接收将第一视频切换为第二视频的切换请求。

其中,第一视频数据为:作为目标主播源的第一视频对应的视频数据,第二视频为:从目标主播源对应的目标备播源中确定的第一备播源对应的视频。

切换请求中可以包含第二视频的标识、第二视频对应的备播源的标识,等等,本实施例对此不做限定。

可以理解的,多个播放源组成的集合可以视为一个频道,并且可以设置其中一个播放源为主播源,其余播放源即为备播源。在主播源对应的视频播放过程中,当用户想要切换到其他备播源的视频进行播放时,可以从备播源中选择一个备播源作为新的主播源来替换当前的主播源,则当前的主播源与其他备播源一起视为新的主播源的备播源,播放新的主播源对应的视频,从而可以实现视频的切换。

实际应用中,在播放主播源的视频的过程中,服务端可以提供所有备播源所对应的直播视频的最新截图给客户端,以使用户可以更加直观的了解各个备播源的可用性以及当前视频内容,从而从各个备播源中选择出合适的备播源来替换当前的主播源。具体的,服务端可以使用视频截图编码器来获得所有备播源所对应的直播视频的最新截图。

因此,客户端还可以接收服务端反馈的截图,其中,截图为:目标主播源对应的各个目标备播源所对应直播视频的当前截图。

这种情况下,第一备播源可以为:根据截图从目标主播源对应的目标备播源中确定的。

可以理解的,服务端可以按照预设的时间间隔向服务端反馈备播源的当前截图,也可以是接收到客户端发送的获取备播源的当前截图的指令后反馈的,本实施例对此不做限定。

S102,根据切换请求,向服务端发送切换指令。

切换指令中可以包含第二视频的标识、第二视频对应的备播源的标识,等等,本实施例对此不做限定。

由于客户端所播放的视频是由服务端推送的,因此,当客户端需要切换当前播放的视频时,需要向服务端发送切换指令,以使服务端根据切换指令确定新的主播源,并将新的主播源对应的视频的视频数据反馈给客户端进行播放。

可以理解的,对服务端来说,在实际的视频播放中,需要首先获得视频的源信号,例如,源信号可以是用视频拍摄设备拍摄现场画面得到的视频信号,或者,从其他服务器中拉取到的视频信号,等等。在获得视频的源信号后,首先需要对源信号进行输入流编码,当客户端要播放该视频时,再对输入流编码后的源信号进行输出流编码得到视频数据,然后将视频数据反馈给客户端进行播放。具体的,服务端可以使用直播编码器对视频的源信号进行输入流编码和输出流编码。

那么,为了实现视频切换的无缝切换,在播放主播源的视频过程中,服务端就可以对所有备播源对应的视频的源信号进行输入流编码,这样,当客户端需要用新的主播源来替换当前主播源时,不需要对新的主播源对应的视频的源信号进行输入流编码,而是可以直接将输入流编码后的视频数据经过输出流编码后反馈给客户端进行播放。

这种视频的输入流编码和输出流编码相隔离的方式,不是在进行视频切换时才开始对切换后的视频进行输入流编码和输出流编码,因此,可以减少视频切换所需要的时间,实现无缝切换,播放画面不会出现断流的现象,从而提高用户体验。

S103,接收服务端根据切换指令反馈的第二视频数据。

其中,第二视频数据为:第二视频对应的视频数据。

由上述描述可知,第二视频数据可以是服务端在接收到客户端发送的切换请求之前预先编码完成的视频数据。

S104,停止播放第一视频数据,并播放第二视频数据,实现从第一视频到第二视频的切换。

可见,本实施例提供的视频切换方法进行现场直播时,切换视频的方式灵活可靠,可以对现场的突发情况做到合理把控;同时,本实施例利用服务端和客户端的模式进行视频切换的方式,与使用专用的视频切换台设备进行视频切换的传统方式相比,降低了成本,包括定制设备的硬件成本、视频素材制作成本、以及维护成本。

实际应用中,在客户端的播放区域只播放主播源对应的视频,这种播放模式可以视为普通模式,当然,由于用户可能还会有其他的播放需求,例如,在主播源对应的视频播放过程中同时播放备播源对应的视频,因此客户端还可以提供画中画的播放模式,以实现多角度对现场进行直播,体验更佳。

具体的,该视频切换方法还可以包括:

在播放第一视频数据过程中,向服务端发送获取第三视频数据的第一获取指令,其中,第三视频数据为:第二备播源对应的第三视频的视频数据,第二备播源为:从目标主播源对应的目标备播源中确定的备播源;

接收服务端根据第一获取指令反馈的第三视频数据;

根据预设的第一视频和第三视频在客户端播放区域的位置关系,播放第一视频数据和第三视频数据。

其中,本实施例对客户端获取的第三视频数据的数量不做限定。

示例性的,当客户端获取的第三视频数据的数量为1时,预设的第一视频和第三视频在客户端播放区域的位置关系可以为:第一视频与第三视频分别在播放区域呈上下分布或左右分布;当客户端获取的第三视频数据的数量为3时,预设的第一视频和第三视频在客户端播放区域的位置关系可以为:第一视频与3个第三视频在播放区域呈田字形均匀分布,或,第一视频占据整个播放区域、3个第三视频覆盖在第一视频之上并分布在播放区域中的三个小区域内。

进一步的,在画中画播放模式中,还可以对主播源对应的视频或备播源对应的视频进行标记,以便于区分。例如,在主播源对应的视频播放区域某一位置标记一个星号,或者对主播源对应的视频播放区域突出显示,等等,本实施例对标记的形式不做限定。

另外,为了避免画中画播放模式下,多个视频的音频同时播放会互相干扰的问题,客户端还可以设置其中一个视频的音频为播放状态,而其它视频的音频为禁止播放状态。例如,设置主播源对应的视频的音频为播放状态,备播源对应的视频的音频为禁止播放状态。

实际应用中,该视频切换方法还可以包括:

向服务端发送获取第一频道的频道信息的第二获取指令,其中,频道信息包含:第一频道的主播源信息和备播源信息;

接收服务端根据第二获取指令反馈的频道信息。

其中,第二获取指令可以包含第一频道的标识信息。客户端可以向服务端对一个已有的频道进行查询,以获取该频道的详细信息,例如,该频道的主播源、备播源、播放模式、主播源和备播源当前是否正在进行编码工作,等等。

可以理解的,第一频道可以为上述第一视频所对应的频道,也可以是其他的频道。当第一频道为第一视频所对应的频道时,向服务端发送获取第一频道的频道信息的第二获取指令的步骤,在接收将第一视频切换为第二视频的切换请求的步骤之前执行。当第一频道为其他频道时,本实施例不限定向服务端发送第二获取指令的步骤与上述视频切换的步骤之间的执行顺序。

具体的,可以在服务端设置数据库,以存储各个频道的频道信息,例如,服务端使用MySQL(关系型数据库管理系统)作为频道信息的本地存储媒介。服务端根据第二获取指令中第一频道的标识信息,可以从数据库中确定第一频道的频道信息,并反馈给客户端。

实际应用中,当第一频道不存在或者服务端未记录第一频道的频道信息时,服务端根据第二获取指令反馈的频道信息为空。在这种情况下,该视频切换方法还可以包括:

在频道信息为空时,向服务端发送针对第一频道的创建指令,以使服务端创建第一频道;

向服务端发送针对播放源的设置指令,以使服务端为第一频道设置主播源和备播源;

接收服务端发送的第四视频数据,并播放第四视频数据,其中,第四视频数据为:服务端对第一频道的主播源对应的视频进行编码得到的视频数据。

具体的,客户端在向服务端发送针对第一频道的创建指令,并且服务端创建第一频道后,客户端可以向服务端发送在第一频道中添加目标播放源的添加指令,以使服务端将目标播放源添加到第二频道中;然后客户端再向服务端发送设置目标播放源中的某一播放源为主播源的设置指令,以使服务端将该播放源设置为主播源,其它播放源为备播源。

当然,客户端在向服务端发送针对第一频道的创建指令,并且服务端创建第一频道后,客户端可以向服务端发送针对播放源的设置指令,该设置指令中可以包含在第一频道中要添加的播放源的信息,以及设置其中某一播放源为主播源的设置信息,以使服务端根据该设置指令将要添加的播放源添加到第一频道中,并从中设置主播源和备播源。

服务端在设置主播源和备播源后,可以启动对第一频道中所有目标频道源的编码工作,并将编码后主播源对应的视频的视频数据反馈给客户端,以使客户端播放主播源对应的视频。

当服务端反馈的第一频道的频道信息不为空时,如果主播源和备播源当前正在进行编码工作,则客户端可以直接播放主播源对应的视频,或者重新设置主播源后播放新的主播源对应的视频。如果主播源或者备播源当前没有进行编码,则客户端可以向服务端发送启动主播源或者备播源的编码的指令,以使服务端反馈对应的视频数据进行播放。

当然,在播放主播源对应的视频过程中,用户如想切换掉当前的主画面,可以预览服务器反馈的备播源对应的直播视频的当前截图,选择出合适的备播源对应的视频来替换当前的视频,然后客户端向服务端发送切换指令进行主画面的切换。

综上可知,本实施例提供的视频切换方法,客户端在播放第一视频数据过程中,接收用户将第一视频切换为第二视频的切换请求,其中,第一视频数据为:作为目标主播源的第一视频对应的视频数据,第二视频为:从目标主播源对应的目标备播源中确定的第一备播源对应的视频;根据切换请求向服务端发送切换指令;接收服务端根据切换指令反馈的第二视频数据,其中,第二视频数据为:第二视频对应的视频数据;停止播放第一视频数据,并播放第二视频数据,实现从第一视频到第二视频的切换。

可见,本实施例提供的方案,为主播源设置对应的备播源,在主播源对应的第一视频出现突发事件时,可以使用备播源对应的第二视频来替换第一视频,因此,本实施例提供的方案,可以应对直播现场的突发事件,降低直播的潜在风险。

与上述的视频切换方法相对应,本发明实施例还提供了一种视频切换装置。

与图1所示的方法实施例相对应,图2为本发明实施例提供的一种视频切换装置的结构示意图,该装置应用于客户端,可以包括:

第一接收模块201,用于在播放第一视频数据过程中,接收将第一视频切换为第二视频的切换请求,其中,所述第一视频数据为:作为目标主播源的第一视频对应的视频数据,所述第二视频为:从所述目标主播源对应的目标备播源中确定的第一备播源对应的视频;

第一发送模块202,用于根据所述切换请求,向服务端发送切换指令;

第二接收模块203,用于接收所述服务端根据所述切换指令反馈的第二视频数据,其中,所述第二视频数据为:所述第二视频对应的视频数据;

切换模块204,用于停止播放所述第一视频数据,并播放所述第二视频数据,实现从所述第一视频到所述第二视频的切换。

具体的,所述装置还可以包括:

第三接收模块(图中未示出),用于接收所述服务端反馈的截图,其中,所述截图为:所述目标主播源对应的各个目标备播源所对应直播视频的当前截图;

所述第一备播源为:根据所述截图从所述目标主播源对应的目标备播源中确定的。

具体的,所述装置可以还包括:

第二发送模块(图中未示出),用于在播放第一视频数据过程中,向所述服务端发送获取第三视频数据的第一获取指令,其中,所述第三视频数据为:第二备播源对应的第三视频的视频数据,所述第二备播源为:从所述目标主播源对应的目标备播源中确定的备播源;

第四接收模块(图中未示出),用于接收所述服务端根据所述第一获取指令反馈的第三视频数据;

播放模块(图中未示出),用于根据预设的所述第一视频和所述第三视频在所述客户端播放区域的位置关系,播放所述第一视频数据和所述第三视频数据。

具体的,所述装置还可以包括:

第三发送模块(图中未示出),用于向所述服务端发送获取第一频道的频道信息的第二获取指令,其中,所述频道信息包含:所述第一频道的主播源信息和备播源信息;

第五接收模块(图中未示出),用于接收所述服务端根据所述第二获取指令反馈的所述频道信息。

具体的,所述装置还可包括:

第四发送模块(图中未示出),用于在所述频道信息为空时,向所述服务端发送针对所述第一频道的创建指令,以使所述服务端创建所述第一频道;

第五发送模块(图中未示出),用于向所述服务端发送针对播放源的设置指令,以使所述服务端为所述第一频道设置主播源和备播源;

接收播放模块(图中未示出),用于接收所述服务端发送的第四视频数据,并播放所述第四视频数据,其中,所述第四视频数据为:所述服务端对所述第一频道的主播源对应的视频进行编码得到的视频数据。

具体的,所述第二视频数据可以为:所述服务端在接收到所述客户端发送的切换请求之前预先编码完成的视频数据。

综上可知,本实施例提供的视频切换装置,客户端在播放第一视频数据过程中,接收用户将第一视频切换为第二视频的切换请求,其中,第一视频数据为:作为目标主播源的第一视频对应的视频数据,第二视频为:从目标主播源对应的目标备播源中确定的第一备播源对应的视频;根据切换请求向服务端发送切换指令;接收服务端根据切换指令反馈的第二视频数据,其中,第二视频数据为:第二视频对应的视频数据;停止播放第一视频数据,并播放第二视频数据,实现从第一视频到第二视频的切换。

可见,本实施例提供的方案,为主播源设置对应的备播源,在主播源对应的第一视频出现突发事件时,可以使用备播源对应的第二视频来替换第一视频,因此,本实施例提供的方案,可以应对直播现场的突发事件,降低直播的潜在风险。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1