一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自由视角视频的视角切换方法、装置、系统、设备和介质与流程

2021-12-14 23:23:00 来源:中国专利 TAG:


1.本公开实施例涉及互联网技术,尤其涉及一种自由视角视频的视角切换方法、装置、系统、设备和介质。


背景技术:

2.随着互联网技术的快速发展和用户需求的日益增多,一种自由视角视频被研发,使得用户可以从不同视角下观看视频。用户在观看自由视角视频的过程中可以自由切换视角,但在切换视角时切换速度较慢,往往会存在视频卡顿不连续的情况,大大降低了用户观看体验。


技术实现要素:

3.本公开实施例提供了一种自由视角视频的视角切换方法、装置、系统、设备和介质,以提高视角切换速度,保证视频切换流畅度,提升用户观看体验,同时也降低网络带宽要求。
4.第一方面,本公开实施例提供了一种自由视角视频的视角切换方法,应用于用户端,包括:
5.根据用户触发的视角切换操作,确定视角切换信息;
6.将所述视角切换信息通过低延时服务器发送至所述用户端对应的低延时房间,以使媒体服务器监听到所述低延时房间中的视角变化消息时,基于所述视角切换信息确定视角切换后的目标视频流,并将所述目标视频流推送至所述低延时房间;
7.通过所述低延时服务器获得所述低延时房间中的所述目标视频流,并播放所述目标视频流。
8.第二方面,本公开实施例还提供了一种自由视角视频的视角切换方法,应用于媒体服务器,包括:
9.若监听到用户端对应的低延时房间中的视角变化消息,则基于所述低延时房间中的视角切换信息确定视角切换后的目标视频流,其中,所述视角变化消息是在所述用户端将视角切换信息通过低延时服务器发送至所述低延时房间时生成,所述视角切换信息是根据用户触发的视角切换操作确定的;
10.将所述目标视频流推送至所述低延时房间,以使所述用户端通过低延时服务器获得所述低延时房间中的所述目标视频流,并播放所述目标视频流。
11.第三方面,本公开实施例还提供了一种自由视角视频的视角切换装置,集成于用户端,包括:
12.视角切换信息确定模块,用于根据用户触发的视角切换操作,确定视角切换信息;
13.视角切换信息发送模块,用于将所述视角切换信息通过低延时服务器发送至所述用户端对应的低延时房间,以使媒体服务器监听到所述低延时房间中的视角变化消息时,基于所述视角切换信息确定视角切换后的目标视频流,并将所述目标视频流推送至所述低
延时房间;
14.目标视频流播放模块,用于通过所述低延时服务器获得所述低延时房间中的所述目标视频流,并播放所述目标视频流。
15.第四方面,本公开实施例还提供了一种自由视角视频的视角切换装置,集成于媒体服务器,包括:
16.目标视频流确定模块,用于若监听到用户端对应的低延时房间中的视角变化消息,则基于所述低延时房间中的视角切换信息确定视角切换后的目标视频流,其中,所述视角变化消息是在所述用户端将视角切换信息通过低延时服务器发送至所述低延时房间时生成,所述视角切换信息是根据用户触发的视角切换操作确定的;
17.目标视频流推送模块,用于将所述目标视频流推送至所述低延时房间,以使所述用户端通过低延时服务器获得所述低延时房间中的所述目标视频流,并播放所述目标视频流。
18.第五方面,本公开实施例还提供了一种自由视角视频的视角切换系统,所述系统包括:用户端、媒体服务器和低延时服务器;
19.其中,每个所述用户端用于实现如本公开第一方面所提供的自由视角视频的视角切换方法;
20.所述媒体服务器用于实现如本公开第二方面所提供的自由视角视频的视角切换方法。
21.第六方面,本公开实施例还提供了一种电子设备,所述电子设备包括:
22.一个或多个处理器;
23.存储器,用于存储一个或多个程序;
24.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例任一所述的自由视角视频的视角切换方法。
25.第七方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开实施例任一所述的自由视角视频的视角切换方法。
26.本公开实施例的技术方案,用户端通过根据用户触发的视角切换操作,确定视角切换信息,并将视角切换信息通过低延时服务器发送至用户端对应的低延时房间,以使媒体服务器监听到低延时房间中的视角变化消息时,基于视角切换信息确定视角切换后的目标视频流,并将目标视频流推送至低延时房间,用户端通过低延时服务器获得低延时房间中的所述目标视频流,并播放目标视频流,从而视角切换后的目标视频流通过低延时服务器的转发,使得用户端可以快速获得并播放该目标视频流,提高了视角切换速度,并避免视角切换时存在的视频卡顿不连续的情况,保证了视频切换流畅度,提升了用户观看体验,同时用户端只需下载一路视频流,降低了网络下行带宽要求。
附图说明
27.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
28.图1是本公开实施例一提供的一种自由视角视频的视角切换方法的流程图;
29.图2是本公开实施例二提供的一种自由视角视频的视角切换方法的流程图;
30.图3是本公开实施例二所涉及的一种视频流的对齐示例;
31.图4是本公开实施例三提供的一种自由视角视频的视角切换方法的流程图;
32.图5是本公开实施例三所涉及的一种视频帧集合的示例;
33.图6是本公开实施例四提供的一种自由视角视频的视角切换装置的结构示意图;
34.图7是本公开实施例五提供的一种自由视角视频的视角切换装置的结构示意图;
35.图8是本公开实施例六提供的一种自由视角视频的视角切换系统的结构示意图;
36.图9是本公开实施例七提供的一种电子设备的结构示意图。
具体实施方式
37.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
38.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
39.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
40.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
41.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
42.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
43.实施例一
44.图1为本公开实施例一提供的一种自由视角视频的视角切换方法的流程图,本实施例可适用于对自由视角视频进行视角切换的情况,尤其是可以用于在自由视角视频为直播视频时进行视角切换的应用场景,也可以用于在自由视角视频为点播视频时进行视角切换的应用场景。该方法可以由自由视角视频的视角切换装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于用户端中。如图1所示,该方法具体包括以下步骤:
45.s110、根据用户触发的视角切换操作,确定视角切换信息。
46.其中,本公开实施例中的自由视角视频可以是一种实时拍摄的视频,即直播视频。例如,利用不同视角下的摄像头对同一对象进行实时拍摄,获得的直播视频。自由视角视频也可以是一种已经拍摄完成的视频,即点播视频。例如,预先利用不同视角下的摄像头对同一对象进行拍摄完成后获得的点播视频。视角切换操作可以是指用户对当前播放的自由视
time communication)服务器,低延时房间可以为但不限于rtc房间。
55.具体地,在用户端开始播放自由视角视频之前,媒体服务器为该用户端在低延时服务器创建一个相应的低延迟房间,以便可以通过该低延迟房间与用户端进行低延时通信。用户端在获得视角切换信息之后,可以将视角切换信息发送至延时服务器,延时服务器再将视角切换信息发送至相应的低延时房间。媒体服务器可以实时监听每个低延时房间中是否存在视角变化消息,若监听到用户端对应的低延时房间中的视角变化消息时,媒体服务器可以基于视角切换信息确定视角切换后的目标视频流,并将该目标视频流推送至相应的低延时房间。
56.s130、通过低延时服务器获得低延时房间中的目标视频流,并播放目标视频流。
57.具体地,媒体服务器将视角切换后的目标视频流推送至相应的低延时房间之后,用户端可以主动地通过低延时服务器拉取低延时房间中的目标视频流,也可以被动地接收通过低延时服务器发送的低延时房间中的目标视频流。例如,在低延时服务器为rtc服务器时,用户端可以通过rtc服务器拉取低延时房间中的目标视频流。通过利用低延时服务器,可以使得用户端快速地获得并播放视角切换后的目标视频流,提高了视角切换速度,避免了视角切换时存在的视频卡顿不连续的情况,保证了视频切换流畅度,提升了用户观看体验。同时,用户端只需下载一路视频流,即一个观看视角下的视频流,无需下载所有视角下的视频流,从而也大大降低了网络下行带宽要求。
58.本公开实施例的技术方案,用户端通过根据用户触发的视角切换操作,确定视角切换信息,并将视角切换信息通过低延时服务器发送至用户端对应的低延时房间,以使媒体服务器监听到低延时房间中的视角变化消息时,基于视角切换信息确定视角切换后的目标视频流,并将目标视频流推送至低延时房间,用户端通过低延时服务器获得低延时房间中的目标视频流,并播放目标视频流,从而视角切换后的目标视频流通过低延时服务器的转发,使得用户端可以快速获得并播放该目标视频流,提高了视角切换速度,并避免视角切换时存在的视频卡顿不连续的情况,保证了视频切换流畅度,提升了用户观看体验,同时用户端只需下载一路视频流,降低了网络下行带宽要求。
59.在上述技术方案的基础上,在步骤s110之前,还可以通过执行如下步骤s101

s103实现切换前的预设视角下的自由视角视频的播放:
60.s101、向媒体服务器发送视频播放请求,以使媒体服务器基于视频播放请求通过低延时服务器创建用户端对应的低延时房间,并将低延时房间的房间信息发送至用户端。
61.具体地,用户端基于用户针对自由视角视频触发的播放操作,生成视频播放请求,并将该视频播放请求发送至媒体服务器,媒体服务器接收到该视频播放请求时,可以通知低延时服务器为该用户端分配一个低延时房间,以便在该低延迟房间中推送视频流,实现低延迟的通信效果。媒体服务器可以获得所分配的低延迟房间的房间信息,并将该房间信息发送至用户端。
62.s102、接收低延时房间的房间信息,并通过低延时服务器连接房间信息对应的低延时房间。
63.具体地,用户端接收到媒体服务器发送的房间信息时,可以基于该房间信息连接低延时服务器上相应的低延时房间,从而使得用户端可以接收到推送至该低延迟房间的视频流。
64.s103、通过低延时服务器获得低延时房间中的视频流,并播放所获得的视频流,其中,所获得的视频流为媒体服务器推送的预设视角下的视频流。
65.其中,预设视角可以是指观看自由视角视频时的默认视角,其可以基于业务需求进行预先设置。
66.具体地,在创建用户端对应的低延时房间之后,媒体服务器可以向该低延时房间推送预设视角下的视频流。用户端可以主动地通过低延时服务器拉取低延时房间中的预设视角下的视频流,也可以被动地接收通过低延时服务器发送的低延时房间中的预设视角下的视频流,使得用户端可以开始播放预设视角下的视频流。当用户触发视角切换操作时,可以通过上述视角切换方式,快速地从预设视角下的视频流切换至目标视频流进行播放,低时延,保证了视频切换流畅度。
67.实施例二
68.图2为本公开实施例二提供的一种自由视角视频的视角切换方法的流程图,本实施例可适用于对自由视角视频进行视角切换的情况,尤其是可以用于在自由视角视频为直播视频时进行视角切换的应用场景,也可以用于在自由视角视频为点播视频时进行视角切换的应用场景。该方法可以由自由视角视频的视角切换装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于媒体服务器中。如图2所示,该方法具体包括以下步骤:
69.s210、若监听到用户端对应的低延时房间中的视角变化消息,则基于低延时房间中的视角切换信息确定视角切换后的目标视频流,其中,视角变化消息是在用户端将视角切换信息通过低延时服务器发送至低延时房间时生成,视角切换信息是根据用户触发的视角切换操作确定的。
70.其中,媒体服务器可以是指用户端的后台服务器。低延时服务器可以是一种具有低延时通信协议的服务器。低延时服务器可以将视频流在媒体服务器与用户端之间进行转发,以实现低延时的视频传输。低延时房间是在低延迟服务器上基于用户端创建的,用于实现低延时的通信效果。每个用户端对应一个低延时房间。每个低延迟房间中包括一个独立的用户端和共用的媒体服务器。例如,低延时服务器可以为但不限于rtc服务器,低延时房间可以为但不限于rtc房间。
71.其中,本公开实施例中的自由视角视频可以是一种实时拍摄的视频,即直播视频。例如,利用不同视角下的摄像头对同一对象进行实时拍摄,获得的直播视频。自由视角视频也可以是一种已经拍摄完成的视频,即点播视频。例如,预先利用不同视角下的摄像头对同一对象进行拍摄完成后获得的点播视频。视角切换操作可以是指用户对当前播放的自由视角视频的当前观看视角进行切换的操作。例如,视角切换操作可以是但不限于用户滑动操作或者用户点击操作。视角切换信息可以用于表征视角切换后的信息。例如,若将本公开实施例中的视角切换方式应用到视频直播场景中,则视角切换信息可以包括视角切换后的目标视角信息。若将本公开实施例中的视角切换方式应用到视频点播场景中,则视角切换信息除了包括视角切换后的目标视角信息,还可以包括用户触发视角切换操作时的当前播放进度标识,以便基于当前播放进度标识确定出切换后的目标视频流的播放位置,从而保证视频观看的连贯性。其中,当前播放视频帧标识可以是但不限于当时播放时间戳或者当前播放视频帧序号。
72.对于视频直播场景,用户端可以根据用户触发的视角切换操作确定出视角切换后
的目标视角信息,并将视角切换后的目标视角信息通过低延时服务器发送至用户端对应的低延时房间。由于低延迟房间内的视角信息为切换前的视角信息,从而可以使得低延时房间中的视角信息发生变化,生成视角变化消息。媒体服务器在监听到该低延时房间中的视角变化消息时,可以基于低延时房间中的目标视角信息确定视角切换后的目标视频流。
73.示例性地,在视频直播场景中,s210可以包括:根据对齐后的每个视角信息对应的当前直播视频流和低延时房间中的视角切换后的目标视角信息,确定视角切换后的目标视频流。
74.具体地,媒体服务器可以实时接收每个视角下的摄像头所采集的当前直播视频流,接收的每个当前直播视频流中的每个视频帧均具有对齐信息,从而可以基于该对齐信息将各个当前直播视频流进行对齐操作,以保证不同视角下的视频流同步播放。其中,对齐信息可以是但不限于视频帧的采集时间戳或者帧序号。图3给出了一种视频流的对齐示例。如图3所示,可以将每个视角下的当前直播视频流中具有相同帧序号或者具有相同采集时间戳的视频帧作为同一播放时刻的视频帧,从而获得对齐后的每个视角信息对应的当前直播视频流。从对齐后的每个视角信息对应的当前直播视频流中可以确定出视角切换后的目标视角信息所对应的目标当前直播视频流,即视角切换后的目标视频流。
75.对于视频点播场景,用户端可以根据用户触发的视角切换操作确定出视角切换后的目标视角信息和用户触发视角切换操作时的当前播放进度标识,并将视角切换后的目标视角信息和当前播放进度标识通过低延时服务器发送至用户端对应的低延时房间,使得低延时房间中的视角信息发生变化,生成视角变化消息。媒体服务器在监听到该低延时房间中的视角变化消息时,可以基于低延时房间中的目标视角信息和当前播放进度标识确定视角切换后的目标视频流。
76.示例性地,在视频点播场景中,s210可以包括:根据对齐后的每个视角信息对应的点播视频流和低延时房间中的视角切换后的目标视角信息,确定目标视角下的目标点播视频流;基于低延时房间中的用户触发视角切换操作时的当前播放进度标识和目标点播视频流,确定视角切换后的目标视频流。
77.具体地,媒体服务器可以预先对每个视角下的摄像头所采集的点播视频流进行对齐操作,比如,将每个视角下的点播视频流中具有相同帧序号或者具有相同采集时间戳的视频帧作为同一播放时刻的视频帧,从而获得对齐后的每个视角信息对应的点播视频流。从对齐后的每个视角信息对应的点播视频流中可以确定出视角切换后的目标视角信息所对应的目标点播视频流。媒体服务器可以基于用户触发视角切换操作时的当前播放进度标识确定出目标点播视频流中的目标视频帧,并可以基于目标视频帧对目标点播视频流进行视频截取,将目标点播视频流中目标视频帧之后的视频流,作为视角切换后的目标视频流。
78.s220、将目标视频流推送至低延时房间,以使用户端通过低延时服务器获得低延时房间中的目标视频流,并播放目标视频流。
79.具体地,媒体服务器将视角切换后的目标视频流推送至用户端对应的低延时房间,从而用户端可以主动地通过低延时服务器拉取低延时房间中的目标视频流,也可以被动地接收通过低延时服务器发送的低延时房间中的目标视频流。通过利用低延时服务器,用户端可以快速地获得并播放视角切换后的目标视频流,提高了视角切换速度,避免了视角切换时存在的视频卡顿不连续的情况,保证了视频切换流畅度,提升了用户观看体验。同
时,用户端只需下载一路视频流,即一个观看视角下的视频流,无需下载所有视角下的视频流,从而也大大降低了网络下行带宽要求。
80.本公开实施例的技术方案,用户端通过根据用户触发的视角切换操作确定视角切换信息,并将视角切换信息通过低延时服务器发送至用户端对应的低延时房间,使得媒体服务器在监听到低延时房间中的视角变化消息时,基于低延时房间中的视角切换信息确定视角切换后的目标视频流,并将目标视频流推送至低延时房间,用户端通过低延时服务器获得低延时房间中的目标视频流,并播放目标视频流,从而视角切换后的目标视频流通过低延时服务器的转发,使得用户端可以快速获得并播放该目标视频流,提高了视角切换速度,并避免视角切换时存在的视频卡顿不连续的情况,保证了视频切换流畅度,提升了用户观看体验,同时用户端只需下载一路视频流,降低了网络下行带宽要求。
81.在上述技术方案的基础上,在步骤s210之前,还可以通过执行如下步骤s201

s203实现切换前的预设视角下的自由视角视频的播放:
82.s201、接收用户端发送的视频播放请求。
83.具体地,用户端基于用户针对自由视角视频触发的播放操作,生成视频播放请求,并将该视频播放请求发送至媒体服务器,使得媒体服务器可以接收到该视频播放请求。
84.s202、基于视频播放请求通过低延时服务器创建用户端对应的低延时房间,并监听低延时房间的视角变化消息。
85.具体地,媒体服务器接收到该视频播放请求后,可以通知低延时服务器为该用户端分配创建出一个低延时房间,并实时监听创建的低延时房间中的视角变化消息,以便可以及时推送不同视角下的视频流,保证视角切换速度。
86.s203、将低延时房间的房间信息发送至用户端,以使用户端通过低延时服务器连接房间信息对应的低延时房间。
87.具体地,媒体服务器可以将所分配的低延迟房间的房间信息发送至用户端。用户端可以基于该房间信息连接低延时服务器上相应的低延时房间,从而使得用户端可以接收到推送至该低延迟房间的视频流。
88.s204、向低延时房间推送预设视角下的视频流,以使用户端通过低延时服务器获得低延时房间中的视频流,并播放所获得的视频流。
89.其中,预设视角可以是指观看自由视角视频时的默认视角,其可以基于业务需求进行预先设置。
90.具体地,媒体服务器可以向该低延时房间推送预设视角下的视频流,以实现低延迟的通信效果。用户端可以主动地通过低延时服务器拉取低延时房间中的预设视角下的视频流,也可以被动地接收通过低延时服务器发送的低延时房间中的预设视角下的视频流,使得用户端可以开始播放预设视角下的视频流。当用户触发视角切换操作时,可以通过上述视角切换方式,快速地从预设视角下的视频流切换至目标视频流进行播放,低时延,保证了视频切换流畅度。
91.实施例三
92.图4为本公开实施例三提供的一种自由视角视频的视角切换方法的流程图,本实施例在上述实施例二的基础上,对视频直播场景中的目标视频流的推送方式进行了详细描述。其中与上述各实施例相同或相应的术语的解释在此不再赘述。
93.参见图4,本实施例提供的自由视角视频的视角切换方法具体包括以下步骤:
94.s410、获取当前最新缓存的预设数量个视频帧集合,每个视频帧集合包括对齐后的每个视角下的视频帧。
95.具体地,在视频直播场景中,随着时间的推移,可以获得越来越多的视频帧集合,并将每个视频帧集合进行缓存。缓存的每个视频帧集合中均包括对齐后的每个视角下的直播视频帧。例如,图5给出了一种视频帧集合的示例。如图5所示,将获得的每个视频帧集合进行缓存,以便可以获取当前最新缓存的m个视频帧集合。需要说明的是,随着时间的推移,当前最新缓存的m个视频帧集合进行实时更新。
96.示例性地,如图5所示,在s410之前,还可以包括:获取每个视角下摄像头当前采集的当前直播视频流和当前直播视频流中的每个视频帧对应的对齐信息;将每个视角下的当前直播视频流中具有相同对齐信息的视频帧合并为一个视频帧集合,并将合并后的视频帧集合进行缓存。
97.示例性地,将每个视角下的当前直播视频流中具有相同对齐信息的视频帧合并为一个视频帧集合,可以包括:将每个视角下的当前直播视频流中的采集时间戳相同的视频帧合并为一个视频帧集合;或者,将每个视角下的当前直播视频流中的帧序号相同的视频帧合并为一个视频帧集合。
98.s420、从预设数量个视频帧集合中确定目标视频帧集合。
99.具体地,媒体服务器可以从当前最新缓存的预设数量个视频帧集合中,按照还未推送的每个视频帧集合的缓存先后顺序,依次确定为目标视频帧集合。例如,若视频帧的缓存频率和推送频率一致,即当前最新缓存的预设数量个视频帧集合均未被推送,则步骤s420可以包括:将预设数量个视频帧集合中的采集时间最早的视频帧集合或者帧序号最小的视频帧集合确定为目标视频帧集合。若因网络问题没有及时获得摄像头采集的视频流而导致视频帧的缓存频率和推送频率不一致,即当前最新缓存的预设数量个视频帧集合部分未被推送,则可以将当前最新缓存的预设数量个视频帧集合中的,上次推送的视频帧集合的下一视频帧集合作为目标视频帧集合,从而可以将当前最新缓存的预设数量个视频帧集合中还未推送的最早缓存的视频帧集合推送给用户端。本公开实施例通过从缓存的预设数量个视频帧集合中确定目标视频帧集合,可以避免因没有及时获得摄像头采集的视频流而导致视频流推送中断的情况,从而可以进一步降低延时,保证视频观看流畅度。
100.s430、根据低延时房间中的视角切换后的目标视角信息,从目标视频帧集合中确定视角切换后的目标视频帧,并将目标视频帧推送至低延时房间,并返回执行s410的操作。
101.具体地,媒体服务器可以基于根据低延时房间中的目标视角信息,将目标视频帧集合中该目标视角信息对应的视频帧作为视角切换后的目标视频帧,并将该目标视频帧发送至低延时房间中,使得用户端可以通过低延时服务器获得低延时房间中的该目标视频帧。媒体服务器可以发送目标视频帧之后,返回执行s410的操作,以便确定出下一推送的目标视频帧,并推送至低延迟房间,依次进行类推,从而可以使得用户端获得视角切换后的目标视频流,并播放目标视频流。
102.示例性地,在将目标视频帧推送至低延时房间之后,还可以包括:当存在多个用户端时,对每个用户端对应的低延时房间进行视频帧推送遍历结束后,将缓存中的目标视频帧集合进行删除。
103.具体地,媒体服务器在确定出待推送的目标视频帧集合后,可以对每个用户端对应的低延时房间进行遍历,基于每个低延时房间中的视角信息,从目标视频帧集合中确定出相应的视频帧,并将相应的视频帧发送至低延时房间。当媒体服务器遍历完成所有的低延时房间后,可以将目标视频帧集合从缓存中删除,从而可以将已推送的视频帧集合进行及时删除,释放内存空间,提高运行性能。在将缓存中的目标视频帧集合进行删除之后,媒体服务器可以返回执行步骤s410的操作,以推送下一视频帧,从而完成视频帧的推流操作。
104.本公开实施例的技术方案,媒体服务器通过获取当前最新缓存的预设数量个视频帧集合,从预设数量个视频帧集合中确定目标视频帧集合,并根据低延时房间中的视角切换后的目标视角信息,从目标视频帧集合中确定视角切换后的目标视频帧,并将目标视频帧推送至低延时房间,从而可以基于目标视频帧集合对每个用户端对应的低延时房间进行遍历推送视频帧,使得媒体服务器从缓存中只需取出一次目标视频帧集合,便可以满足所有用户端的推送需求,降低了缓存读写次数,提高了运行性能。
105.以下是本公开实施例提供的自由视角视频的视角切换装置的实施例,该装置与上述实施例一的自由视角视频的视角切换方法属于同一个发明构思,在自由视角视频的视角切换装置的实施例中未详尽描述的细节内容,可以参考上述实施例一所提供的自由视角视频的视角切换方法。
106.实施例四
107.图6为本公开实施例四提供的一种自由视角视频的视角切换装置的结构示意图,本实施例可适用于对自由视角视频进行视角切换的情况,该装置集成于用户端。如图6所示,该装置具体包括:视角切换信息确定模块610、视角切换信息发送模块620和目标视频流播放模块630。
108.其中,视角切换信息确定模块610,用于根据用户触发的视角切换操作,确定视角切换信息;视角切换信息发送模块620,用于将视角切换信息通过低延时服务器发送至用户端对应的低延时房间,以使媒体服务器监听到低延时房间中的视角变化消息时,基于视角切换信息确定视角切换后的目标视频流,并将目标视频流推送至低延时房间;目标视频流播放模块630,用于通过低延时服务器获得低延时房间中的目标视频流,并播放目标视频流。
109.本公开实施例的技术方案,用户端通过根据用户触发的视角切换操作确定视角切换信息,并将视角切换信息通过低延时服务器发送至用户端对应的低延时房间,使得媒体服务器在监听到低延时房间中的视角变化消息时,基于低延时房间中的视角切换信息确定视角切换后的目标视频流,并将目标视频流推送至低延时房间,用户端通过低延时服务器获得低延时房间中的目标视频流,并播放目标视频流,从而视角切换后的目标视频流通过低延时服务器的转发,使得用户端可以快速获得并播放该目标视频流,提高了视角切换速度,并避免视角切换时存在的视频卡顿不连续的情况,保证了视频切换流畅度,提升了用户观看体验,同时用户端只需下载一路视频流,降低了网络下行带宽要求。
110.在上述技术方案的基础上,在视频直播场景中,视角切换信息包括视角切换后的目标视角信息;在视频点播场景中,视角切换信息包括视角切换后的目标视角信息和用户触发视角切换操作时的当前播放进度标识。
111.在上述各技术方案的基础上,当前播放视频帧标识为当时播放时间戳或者当前播
放视频帧序号。
112.在上述各技术方案的基础上,视角切换信息确定模块610,具体用于:根据用户滑动操作或者用户点击视角操作,确定视角切换后的目标视角信息。
113.在上述各技术方案的基础上,视角切换信息确定模块610,还具体用于:
114.若用户向左滑动屏幕,则将当前视角信息沿逆时针方向的下一视角信息作为视角切换后的目标视角信息;若用户向右滑动屏幕,则将当前视角信息沿顺时针方向的下一视角信息作为视角切换后的目标视角信息。
115.在上述各技术方案的基础上,该装置还包括:
116.视频播放请求发送模块,用于在根据用户触发的视角切换操作,确定视角切换信息之前,向媒体服务器发送视频播放请求,以使媒体服务器基于视频播放请求通过低延时服务器创建用户端对应的低延时房间,并将低延时房间的房间信息发送至用户端;
117.房间信息接收模块,用于接收低延时房间的房间信息,并通过低延时服务器连接房间信息对应的低延时房间;
118.预设视角视频流播放模块,用于通过低延时服务器获得低延时房间中的视频流,并播放所获得的视频流,其中,所获得的视频流为媒体服务器推送的预设视角下的视频流。
119.在上述各技术方案的基础上,低延时服务器为实时通信rtc服务器,低延时房间为rtc房间。
120.本公开实施例所提供的自由视角视频的视角切换装置可执行本公开实施例一所提供的自由视角视频的视角切换方法,具备执行自由视角视频的视角切换方法相应的功能模块和有益效果。
121.值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
122.以下是本公开实施例提供的自由视角视频的视角切换装置的实施例,该装置与上述实施例二和实施例三的自由视角视频的视角切换方法属于同一个发明构思,在自由视角视频的视角切换装置的实施例中未详尽描述的细节内容,可以参考上述实施例二和实施例三所提供的自由视角视频的视角切换方法。
123.实施例五
124.图7为本公开实施例五提供的一种自由视角视频的视角切换装置的结构示意图,本实施例可适用于对自由视角视频进行视角切换的情况,该装置集成于媒体服务器。如图7所示,该装置具体包括:目标视频流确定模块710和目标视频流推送模块720。
125.其中,目标视频流确定模块710,用于若监听到用户端对应的低延时房间中的视角变化消息,则基于低延时房间中的视角切换信息确定视角切换后的目标视频流,其中,视角变化消息是在用户端将视角切换信息通过低延时服务器发送至低延时房间时生成,视角切换信息是根据用户触发的视角切换操作确定的;目标视频流推送模块720,用于将目标视频流推送至低延时房间,以使用户端通过低延时服务器获得低延时房间中的目标视频流,并播放目标视频流。
126.本公开实施例的技术方案,用户端通过根据用户触发的视角切换操作确定视角切换信息,并将视角切换信息通过低延时服务器发送至用户端对应的低延时房间,使得媒体
服务器在监听到低延时房间中的视角变化消息时,基于低延时房间中的视角切换信息确定视角切换后的目标视频流,并将目标视频流推送至低延时房间,用户端通过低延时服务器获得低延时房间中的目标视频流,并播放目标视频流,从而视角切换后的目标视频流通过低延时服务器的转发,使得用户端可以快速获得并播放该目标视频流,提高了视角切换速度,并避免视角切换时存在的视频卡顿不连续的情况,保证了视频切换流畅度,提升了用户观看体验,同时用户端只需下载一路视频流,降低了网络下行带宽要求。
127.在上述技术方案的基础上,目标视频流确定模块710和目标视频流推送模块720,包括:
128.视频帧集合获取单元,用于获取当前最新缓存的预设数量个视频帧集合,每个视频帧集合包括对齐后的每个视角下的视频帧;
129.目标视频帧集合确定单元,用于从预设数量个视频帧集合中确定目标视频帧集合;
130.目标视频帧推送单元,用于根据低延时房间中的视角切换后的目标视角信息,从目标视频帧集合中确定视角切换后的目标视频帧,并将目标视频帧推送至低延时房间,并返回执行获得当前最新缓存的预设数量个视频帧集合的操作。
131.在上述各技术方案的基础上,该装置还包括:
132.当前直播视频流获取单元,用于在获取当前最新缓存的预设数量个视频帧集合之前,获取每个视角下摄像头当前采集的当前直播视频流和当前直播视频流中的每个视频帧对应的对齐信息;
133.视频帧合并单元,用于将每个视角下的当前直播视频流中具有相同对齐信息的视频帧合并为一个视频帧集合,并将合并后的视频帧集合进行缓存。
134.在上述各技术方案的基础上,视频帧合并单元,具体用于:
135.将每个视角下的当前直播视频流中的采集时间戳相同的视频帧合并为一个视频帧集合;或者,将每个视角下的当前直播视频流中的帧序号相同的视频帧合并为一个视频帧集合。
136.在上述各技术方案的基础上,目标视频帧集合确定单元,具体用于:
137.将预设数量个视频帧集合中的采集时间最早的视频帧集合或者帧序号最小的视频帧集合确定为目标视频帧集合。
138.在上述各技术方案的基础上,该装置还包括:
139.目标视频帧删除单元,用于,在将目标视频帧推送至低延时房间之后,当存在多个用户端时,对每个用户端对应的低延时房间进行视频帧推送遍历结束后,将缓存中的目标视频帧集合进行删除。
140.在上述各技术方案的基础上,目标视频流确定模块710,还具体用于:
141.根据对齐后的每个视角信息对应的当前直播视频流和低延时房间中的视角切换后的目标视角信息,确定视角切换后的目标视频流。
142.在上述各技术方案的基础上,目标视频流确定模块710,还具体用于:
143.根据对齐后的每个视角信息对应的点播视频流和低延时房间中的视角切换后的目标视角信息,确定目标视角下的目标点播视频流;基于低延时房间中的用户触发视角切换操作时的当前播放进度标识和目标点播视频流,确定视角切换后的目标视频流。
144.在上述各技术方案的基础上,该装置还包括:
145.视频播放请求接收模块,用于在监听到用户端对应的低延时房间中的视角变化消息之前,接收用户端发送的视频播放请求;
146.低延时房间创建模块,用于基于视频播放请求通过低延时服务器创建用户端对应的低延时房间,并监听低延时房间的视角变化消息;
147.房间信息发送模块,用于将低延时房间的房间信息发送至用户端,以使用户端通过低延时服务器连接房间信息对应的低延时房间;
148.预设视角视频流向推送模块,用于低延时房间推送预设视角下的视频流,以使用户端通过低延时服务器获得低延时房间中的视频流,并播放所获得的视频流。
149.本公开实施例所提供的自由视角视频的视角切换装置可执行本公开实施例二和实施例三所提供的自由视角视频的视角切换方法,具备执行自由视角视频的视角切换方法相应的功能模块和有益效果。
150.值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
151.实施例六
152.图8为本公开实施例六提供的一种自由视角视频的视角切换系统的结构示意图。本实施例可适用于对自由视角视频进行视角切换的情况。如图8所示,该系统包括:用户端810、媒体服务器820和低延时服务器830
153.其中,每个用户端810可以用于实现如本公开实施例一所提供的自由视角视频的视角切换方法;媒体服务器820可以用于实现如本公开实施例二和实施例三所提供的自由视角视频的视角切换方法。低延时服务器830用于将视频流在用户端810和媒体服务器820之间进行转发,以实现低延时的技术效果。
154.本公开实施例提供的自由视角视频的视角切换系统,用户端通过根据用户触发的视角切换操作,确定视角切换信息,并将视角切换信息通过低延时服务器发送至用户端对应的低延时房间。媒体服务器监听到低延时房间中的视角变化消息时,基于视角切换信息确定视角切换后的目标视频流,并将目标视频流推送至低延时房间。用户端通过低延时服务器获得低延时房间中的目标视频流,并播放目标视频流,从而视角切换后的目标视频流通过低延时服务器的转发,可以使得用户端快速获得并播放该目标视频流,提高了视角切换速度,并避免视角切换时存在的视频卡顿不连续的情况,保证了视频切换流畅度,提升了用户观看体验,同时用户端只需下载一路视频流,降低了网络下行带宽要求。
155.实施例七
156.下面参考图9,其示出了适于用来实现本公开实施例的电子设备(例如图9中的终端设备或服务器)900的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
157.如图9所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)
901,其可以根据存储在只读存储器(rom)902中的程序或者从存储装置908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。在ram 903中,还存储有电子设备900操作所需的各种程序和数据。处理装置901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
158.通常,以下装置可以连接至i/o接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许电子设备900与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
159.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置908被安装,或者从rom 902被安装。在该计算机程序被处理装置901执行时,执行本公开实施例的方法中限定的上述功能。
160.本公开实施例提供的电子设备与上述实施例提供的自由视角视频的视角切换方法属于同一发明构思,未在本公开实施例中详尽描述的技术细节可参见上述实施例,并且本公开实施例与上述实施例具有相同的有益效果。
161.实施例八
162.本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意实施例所提供的自由视角视频的视角切换方法。
163.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
164.在一些实施方式中,客户端、服务器可以利用诸如http(hypertext transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可
以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
165.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
166.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
167.根据用户触发的视角切换操作,确定视角切换信息;将视角切换信息通过低延时服务器发送至用户端对应的低延时房间,以使媒体服务器监听到低延时房间中的视角变化消息时,基于视角切换信息确定视角切换后的目标视频流,并将目标视频流推送至低延时房间;通过低延时服务器获得低延时房间中的目标视频流,并播放目标视频流。
168.或者,
169.若监听到用户端对应的低延时房间中的视角变化消息,则基于低延时房间中的视角切换信息确定视角切换后的目标视频流,其中,视角变化消息是在用户端将视角切换信息通过低延时服务器发送至低延时房间时生成,视角切换信息是根据用户触发的视角切换操作确定的;将目标视频流推送至低延时房间,以使用户端通过低延时服务器获得低延时房间中的目标视频流,并播放目标视频流。
170.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
171.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
172.描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,可编辑内容显示单元还可以被描述为“编辑单元”。
173.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专
用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
174.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
175.根据本公开的一个或多个实施例,【示例一】提供了一种自由视角视频的视角切换方法,应用于用户端,该方法包括:
176.根据用户触发的视角切换操作,确定视角切换信息;
177.将所述视角切换信息通过低延时服务器发送至所述用户端对应的低延时房间,以使媒体服务器监听到所述低延时房间中的视角变化消息时,基于所述视角切换信息确定视角切换后的目标视频流,并将所述目标视频流推送至所述低延时房间;
178.通过所述低延时服务器获得所述低延时房间中的所述目标视频流,并播放所述目标视频流。
179.根据本公开的一个或多个实施例,【示例二】提供了一种自由视角视频的视角切换方法,应用于用户端,该方法还包括:
180.可选的,在视频直播场景中,所述视角切换信息包括视角切换后的目标视角信息;
181.在视频点播场景中,所述视角切换信息包括视角切换后的目标视角信息和用户触发视角切换操作时的当前播放进度标识。
182.根据本公开的一个或多个实施例,【示例三】提供了一种自由视角视频的视角切换方法,应用于用户端,该方法还包括:
183.可选的,所述当前播放视频帧标识为当时播放时间戳或者当前播放视频帧序号。
184.根据本公开的一个或多个实施例,【示例四】提供了一种自由视角视频的视角切换方法,应用于用户端,该方法还包括:
185.可选的,所述根据所述视角切换操作,确定视角切换后的目标视角信息,包括:
186.根据用户滑动操作或者用户点击视角操作,确定视角切换后的目标视角信息。
187.根据本公开的一个或多个实施例,【示例五】提供了一种自由视角视频的视角切换方法,应用于用户端,该方法还包括:
188.可选的,所述根据用户滑动操作,确定视角切换后的目标视角信息,包括:
189.若用户向左滑动屏幕,则将当前视角信息沿逆时针方向的下一视角信息作为视角切换后的目标视角信息;
190.若用户向右滑动屏幕,则将当前视角信息沿顺时针方向的下一视角信息作为视角切换后的目标视角信息。
191.根据本公开的一个或多个实施例,【示例六】提供了一种自由视角视频的视角切换方法,应用于用户端,该方法还包括:
192.可选的,在所述根据用户触发的视角切换操作,确定视角切换信息之前,还包括:
193.向所述媒体服务器发送视频播放请求,以使所述媒体服务器基于所述视频播放请求通过所述低延时服务器创建所述用户端对应的低延时房间,并将所述低延时房间的房间信息发送至所述用户端;
194.接收所述低延时房间的房间信息,并通过所述低延时服务器连接所述房间信息对应的所述低延时房间;
195.通过所述低延时服务器获得所述低延时房间中的视频流,并播放所获得的视频流,其中,所获得的视频流为所述媒体服务器推送的预设视角下的视频流。
196.根据本公开的一个或多个实施例,【示例七】提供了一种自由视角视频的视角切换方法,应用于用户端,该方法还包括:
197.可选的,所述低延时服务器为实时通信rtc服务器,所述低延时房间为rtc房间。
198.根据本公开的一个或多个实施例,【示例八】提供了一种自由视角视频的视角切换方法,应用于媒体服务器,该方法包括:
199.若监听到用户端对应的低延时房间中的视角变化消息,则基于所述低延时房间中的视角切换信息确定视角切换后的目标视频流,其中,所述视角变化消息是在所述用户端将视角切换信息通过低延时服务器发送至所述低延时房间时生成,所述视角切换信息是根据用户触发的视角切换操作确定的;
200.将所述目标视频流推送至所述低延时房间,以使所述用户端通过低延时服务器获得所述低延时房间中的所述目标视频流,并播放所述目标视频流。
201.根据本公开的一个或多个实施例,【示例九】提供了一种自由视角视频的视角切换方法,应用于媒体服务器,该方法还包括:
202.可选的,所述基于所述低延时房间中的视角切换信息确定视角切换后的目标视频流;将所述目标视频流推送至所述低延时房间,包括:
203.获取当前最新缓存的预设数量个视频帧集合,每个视频帧集合包括对齐后的每个视角下的视频帧;
204.从所述预设数量个视频帧集合中确定目标视频帧集合;
205.根据所述低延时房间中的视角切换后的目标视角信息,从所述目标视频帧集合中确定视角切换后的目标视频帧,并将所述目标视频帧推送至所述低延时房间,并返回执行所述获得当前最新缓存的预设数量个视频帧集合的操作。
206.根据本公开的一个或多个实施例,【示例十】提供了一种自由视角视频的视角切换方法,应用于媒体服务器,该方法还包括:
207.可选的,在所述获取当前最新缓存的预设数量个视频帧集合之前,还包括:
208.获取每个视角下摄像头当前采集的当前直播视频流和所述当前直播视频流中的每个视频帧对应的对齐信息;
209.将每个视角下的当前直播视频流中具有相同对齐信息的视频帧合并为一个视频帧集合,并将合并后的视频帧集合进行缓存。
210.根据本公开的一个或多个实施例,【示例十一】提供了一种自由视角视频的视角切换方法,应用于媒体服务器,该方法还包括:
211.可选的,将每个视角下的当前直播视频流中具有相同对齐信息的视频帧合并为一
个视频帧集合,包括:
212.将每个视角下的当前直播视频流中的采集时间戳相同的视频帧合并为一个视频帧集合;或者,
213.将每个视角下的当前直播视频流中的帧序号相同的视频帧合并为一个视频帧集合。
214.根据本公开的一个或多个实施例,【示例十二】提供了一种自由视角视频的视角切换方法,应用于媒体服务器,该方法还包括:
215.可选的,从所述预设数量个视频帧集合中确定目标视频帧集合,包括:
216.将所述预设数量个视频帧集合中的采集时间最早的视频帧集合或者帧序号最小的视频帧集合确定为目标视频帧集合。
217.根据本公开的一个或多个实施例,【示例十三】提供了一种自由视角视频的视角切换方法,应用于媒体服务器,该方法还包括:
218.可选的,在将所述目标视频帧推送至所述低延时房间之后,还包括:
219.当存在多个用户端时,对每个用户端对应的低延时房间进行视频帧推送遍历结束后,将缓存中的所述目标视频帧集合进行删除。
220.根据本公开的一个或多个实施例,【示例十四】提供了一种自由视角视频的视角切换方法,应用于媒体服务器,该方法还包括:
221.可选的,基于所述低延时房间中的视角切换信息确定视角切换后的目标视频流,包括:
222.根据对齐后的每个视角信息对应的当前直播视频流和所述低延时房间中的视角切换后的目标视角信息,确定视角切换后的目标视频流。
223.根据本公开的一个或多个实施例,【示例十五】提供了一种自由视角视频的视角切换方法,应用于媒体服务器,该方法还包括:
224.可选的,基于所述低延时房间中的视角切换信息确定视角切换后的目标视频流,包括:
225.根据对齐后的每个视角信息对应的点播视频流和所述低延时房间中的视角切换后的目标视角信息,确定目标视角下的目标点播视频流;
226.基于所述低延时房间中的用户触发视角切换操作时的当前播放进度标识和所述目标点播视频流,确定视角切换后的目标视频流。
227.根据本公开的一个或多个实施例,【示例十六】提供了一种自由视角视频的视角切换方法,应用于媒体服务器,该方法还包括:
228.可选的,在所述监听到用户端对应的低延时房间中的视角变化消息之前,还包括:
229.接收所述用户端发送的视频播放请求;
230.基于所述视频播放请求通过所述低延时服务器创建所述用户端对应的低延时房间,并监听所述低延时房间的视角变化消息;
231.将所述低延时房间的房间信息发送至所述用户端,以使所述用户端通过低延时服务器连接所述房间信息对应的所述低延时房间;
232.向所述低延时房间推送预设视角下的视频流,以使所述用户端通过所述低延时服务器获得所述低延时房间中的视频流,并播放所获得的视频流。
233.根据本公开的一个或多个实施例,【示例十七】提供了一种自由视角视频的视角切换装置,集成于用户端,该装置包括:
234.视角切换信息确定模块,用于根据用户触发的视角切换操作,确定视角切换信息;
235.视角切换信息发送模块,用于将所述视角切换信息通过低延时服务器发送至所述用户端对应的低延时房间,以使媒体服务器监听到所述低延时房间中的视角变化消息时,基于所述视角切换信息确定视角切换后的目标视频流,并将所述目标视频流推送至所述低延时房间;
236.目标视频流播放模块,用于通过所述低延时服务器获得所述低延时房间中的所述目标视频流,并播放所述目标视频流。
237.根据本公开的一个或多个实施例,【示例十八】提供了一种自由视角视频的视角切换装置,集成于媒体服务器,该装置包括:
238.目标视频流确定模块,用于若监听到用户端对应的低延时房间中的视角变化消息,则基于所述低延时房间中的视角切换信息确定视角切换后的目标视频流,其中,所述视角变化消息是在所述用户端将视角切换信息通过低延时服务器发送至所述低延时房间时生成,所述视角切换信息是根据用户触发的视角切换操作确定的;
239.目标视频流推送模块,用于将所述目标视频流推送至所述低延时房间,以使所述用户端通过低延时服务器获得所述低延时房间中的所述目标视频流,并播放所述目标视频流。
240.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
241.此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
242.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献