本公开的实施例提供了码流切换的方法、服务器、客户端、设备以及存储介质。方法包括接收客户端发送的码流切换请求和当前视频的当前帧;响应于码流切换请求中的目标码流请求信息,根据当前帧和偏移量,从预存储的多种码流的地址中,确定目标码流的地址;将目标码流的地址发送给客户端,用于客户端基于目标码流的地址,加载目标码流,以用于当客户端加载目标码流完成时,将当前视频的码流切换至目标码流。以此方式,可以实现准确且顺滑地切换至目标码流,进而提高了用户体验。进而提高了用户体验。进而提高了用户体验。
【技术实现步骤摘要】
码流切换的方法、服务器、客户端、设备以及存储介质
[0001]本公开涉及视频数据处理领域,尤其涉及视频码流切换领域。
技术介绍
[0002]目前移动互联网下,随着终端设备上播放器功能趋于强大,在播放器上观看视频的用户越来越多。
[0003]用户在使用播放器观看视频时,往往会进行码流切换以改变视频的清晰度,但目前用户在进行码流切换时,视频往往会停顿和重新加载,比较影响用户体验。
技术实现思路
[0004]本公开提供了一种码流切换的方法、服务器、客户端、设备以及存储介质。
[0005]根据本公开的第一方面,提供了一种码流切换的方法,应用于服务器,该方法包括:
[0006]接收客户端发送的码流切换请求和当前视频的当前帧;
[0007]响应于码流切换请求中的目标码流请求信息,根据当前帧和偏移量,从预存储的多种码流的地址中,确定目标码流的地址;
[0008]将目标码流的地址发送给客户端,用于客户端基于目标码流的地址,加载目标码流,以用于当客户端加载目标码流完成时,将当前视频的码流切换至目标码流。
[0009]如上的方面和任一可能的实现方式,进一步提供一种实现方式,该方法还包括:获取与客户端之间的当前网络状态;偏移量是根据当前网络状态和/或目标码流请求信息确定的,或是预设的。
[0010]如上的方面和任一可能的实现方式,进一步提供一种实现方式,多种码流的地址存储在预设哈希表中;预设哈希表包括多种码流的视频切片对应的地址;响应于码流切换请求中的目标码流请求信息,根据当前帧和偏移量,从预存储的多种码流的地址中,确定目标码流的地址,包括:
[0011]响应于码流切换请求中的目标码流请求信息,根据当前帧和偏移量,确定目标码流的视频切片请求,其中,视频切片请求信息包括视频时间点;
[0012]根据视频切片请求中的视频时间点从预设哈希表中,确定目标码流的视频切片的地址。
[0013]根据本公开的第二方面,提供了一种码流切换的方法,应用于客户端,包括:
[0014]接收用户输入的码流切换指令;
[0015]根据码流切换指令生成码流切换请求以及获取当前视频的当前帧;
[0016]向服务器发送码流切换请求和当前视频的当前帧;
[0017]接收服务器发送的目标码流的地址,其中,目标码流的地址是服务器响应于码流切换请求中的目标码流请求信息,根据当前帧和偏移量,从预存储的多种码流的地址中确定的;
[0018]基于目标码流的地址,加载目标码流;
[0019]当目标码流加载完成时,将当前视频的码流切换至目标码流。
[0020]如上的方面和任一可能的实现方式,进一步提供一种实现方式,基于目标码流的地址,加载目标码流,包括:
[0021]基于目标码流的视频切片的地址和目标线程,加载目标码流的视频切片,其中,目标线程是服务器根据目标码流的视频切片的地址开启的。
[0022]如上的方面和任一可能的实现方式,进一步提供一种实现方式,当目标码流加载完成时,将当前视频的码流切换至目标码流,包括:
[0023]当加载的目标码流的数据量大于预设阈值时,基于目标线程,播放目标码流的视频切片。
[0024]根据本公开的第三方面,提供了一种服务器,包括:
[0025]数据接收模块,用于接收客户端发送的码流切换请求,基于码流切换请求获取当前视频的当前帧;
[0026]地址确定模块,用于响应于码流切换请求中的目标码流请求信息,根据当前帧和偏移量,从预存储的多种码流的地址中,确定目标码流的地址;
[0027]数据发送模块,用于将目标码流的地址发送给客户端,以用于客户端基于目标码流的地址,加载目标码流,以用于当客户端加载目标码流完成时,将当前视频的码流切换至目标码流。
[0028]根据本公开的第四方面,提供了一种客户端,包括:
[0029]数据接收模块,用于接收用户输入的码流切换指令;
[0030]数据获取模块,用于根据码流切换指令生成码流切换请求以及获取当前视频的当前帧;
[0031]数据发送模块,用于向服务器发送码流切换请求和当前视频的当前帧;
[0032]目标码流的地址接收模块,还用于接收服务器发送的目标码流的地址,其中,目标码流的地址是服务器响应于码流切换请求中的目标码流请求信息,根据当前帧和偏移量,从预存储的多种码流的地址中确定的;
[0033]目标码流加载模块,用于基于目标码流的地址,加载目标码流;
[0034]目标码流切换模块,用于当目标码流加载完成时,将当前视频的码流切换至目标码流。
[0035]根据本公开的第五方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现第一方面,以及第一方面任一可能的实现方式中的方法,或者实现第二方面,以及第二方面任一可能的实现方式中的方法。
[0036]根据本公开的第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据第一方面,以及第一方面任一可能的实现方式中的方法,或者实现第二方面,以及第二方面任一可能的实现方式中的方法。
[0037]本公开提供的码流切换的方法、服务器、客户端、设备以及存储介质,通过当前帧与其偏移量,来提前加载目标码流,从而实现准确且顺滑地切换至目标码流,提高了用户体验。应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要
特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
[0038]结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。附图用于更好地理解本方案,不构成对本公开的限定在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
[0039]图1示出了能够在其中实现本公开的实施例的示例性运行环境的示意图;
[0040]图2示出了图1中所示的客户端和服务器之间的交互方法的示意图;
[0041]图3示出了根据本公开的实施例的服务器的框图;
[0042]图4示出了根据本公开的实施例的客户端的框图;
[0043]图5示出了能够实施本公开的实施例的示例性电子设备的方框图。
具体实施方式
[0044]为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
[0045]另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种码流切换的方法,应用于服务器,包括:接收客户端发送的码流切换请求和当前视频的当前帧;响应于所述码流切换请求中的目标码流请求信息,根据所述当前帧和偏移量,从预存储的多种码流的地址中,确定目标码流的地址;将所述目标码流的地址发送给客户端,用于所述客户端基于所述目标码流的地址,加载所述目标码流,以用于当客户端加载目标码流完成时,将当前视频的码流切换至所述目标码流。2.根据权利要求1所述的方法,还包括:获取与客户端之间的当前网络状态;所述偏移量是根据所述当前网络状态和/或目标码流请求信息确定的,或是预设的。3.根据权利要求1所述的方法,其中,所述多种码流的地址存储在预设哈希表中;所述预设哈希表包括多种码流的视频切片对应的地址;所述响应于所述码流切换请求中的目标码流请求信息,根据所述当前帧和偏移量,从预存储的多种码流的地址中,确定目标码流的地址,包括:响应于所述码流切换请求中的目标码流请求信息,根据所述当前帧和偏移量,确定目标码流的视频切片请求,其中,所述视频切片请求信息包括视频时间点;根据所述视频切片请求中的视频时间点从预设哈希表中,确定目标码流的视频切片的地址。4.一种码流切换的方法,应用于客户端,包括:接收用户输入的码流切换指令;根据所述码流切换指令生成码流切换请求以及获取当前视频的当前帧;向服务器发送所述码流切换请求和当前视频的当前帧;接收服务器发送的目标码流的地址,其中,所述目标码流的地址是服务器响应于所述码流切换请求中的目标码流请求信息,根据所述当前帧和偏移量,从预存储的多种码流的地址中确定的;基于所述目标码流的地址,加载所述目标码流;当所述目标码流加载完成时,将当前视频的码流切换至所述目标码流。5.根据权利要求4所述的方法,其中,所述基于所述目标码流的地址,加载所述目标码流,包括:基于所述目标码流的视频切片的地址和目标线程,加载目标码流的视频切片,其中,所述目标线程是服务器根据所述目标码流的视频切片的地址开启的。6.根据权利要求5所述的...
【专利技术属性】
技术研发人员:季鹏飞,
申请(专利权)人:乐视网信息技术北京股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。