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

一种子弹时间视频生成方法、装置、系统、设备和介质与流程

2021-12-14 23:29: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.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
36.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
37.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
38.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
39.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
40.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
41.实施例一
42.图1为本公开实施例一提供的一种子弹时间视频生成方法的流程图,本实施例可适用于针对自由视角视频生成具有子弹时间效果的多视角视频的情况,尤其是可以用于在直播或点播的自由视角视频中生成子弹时间视频的应用场景。该方法可以由子弹时间视频生成装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于用户端中。如图1所示,该方法具体包括以下步骤:
43.s110、若检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作,则根据当前视频帧对应的当前视频帧标识信息确定子弹时间视频生成请求。
44.其中,自由视角视频可以是一种实时拍摄的视频,即直播视频。例如,利用不同视角下的摄像头对同一对象进行实时拍摄获得的直播视频。自由视角视频也可以是一种已经拍摄完成的视频,即点播视频。例如,预先利用不同视角下的摄像头对同一对象进行拍摄完成后获得的点播视频。当前视频帧可以是指用户在触发子弹时间视频生成操作时播放界面上当前所展示的视频帧。当前视频帧可以用于表征用户想要观看的子弹时间视频所对应的开始播放时刻。例如,可以将当前视频帧对应的当前播放时刻作为子弹时间视频的第一个子弹时间点,也可以将当前视频帧对应的当前播放时刻的下一播放时刻作为子弹时间视频的第一个子弹时间点。自由视角视频中的每个视频帧可以利用标识信息进行唯一标识,以便区分不同播放时刻下的视频帧。例如,当前视频帧标识信息可以是但不限于当前视频帧对应的播放时间戳或者帧序号。其中,播放时间戳可以是指当前视频帧在自由视角视频中所处于的播放时刻。帧序号可以是指当前视频帧在当前观看视角下的视频流中所处于的播放位置。
45.具体地,用户在用户端的播放界面上观看某一视角下的视频流时,若想要观看某个视频帧对应的子弹时间视频,则用户可以将该视频暂停到该视频帧上,比如,用户可以通过拖动视频播放进度的方式或者直接点击暂停的方式,将视频暂停到待生成的子弹时间视频所对应的开始播放时刻或者即将开始播放时刻。用户在将视频暂停后当前所展示的当前视频帧的基础上,可以通过预设触发方式来触发子弹时间视频生成操作,比如,用户可以通过点击预设按钮的方式触发子弹时间视频生成操作,使得用户端检测到用户触发的子弹时间视频生成操作时,基于当前所展示的当前视频帧对应的当前视频帧标识信息获得子弹时间视频生成请求。例如,用户端可以生成包含当前视频帧对应的播放时间戳的子弹时间视频生成请求,或者生成包含当前视频帧对应的帧序号的子弹时间视频生成请求。
46.s120、将子弹时间视频生成请求发送至媒体服务器,以使媒体服务器根据子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端。
47.其中,媒体服务器可以是指用于存储每个视角下的视频流的后台服务器。子弹时间点可以是指子弹时间视频中的播放时刻。子弹时间点的数量可以与自由视角视频所支持的观看角度的数量相等。也就是,子弹时间点可以与视角一一对应。目标视频帧可以是指在子弹时间点上所需要展示的视频帧。不同子弹时间点对应的观看视角不同,从而可以在不同子弹时间点上展示不同视角下的目标视频帧。
48.具体地,用户端将子弹时间视频生成请求发送至媒体服务器,媒体服务器接收到子弹时间视频生成请求后,可以基于子弹时间视频生成请求中的当前视频帧标识信息,从每个视角对应的视频流中确定出默认视角旋转方向下每个子弹时间点对应的目标视频帧,并可以将具有不同观看视角的各个目标视频帧发送至用户端中。例如,媒体服务器可以将所有目标视频帧一次性下发给用户端,也可以按照默认视角旋转方向将各个目标视频帧逐个下发给用户端。
49.s130、在播放界面上播放由接收到的各个目标视频帧组成的子弹时间视频。
50.具体地,用户端可以在接收到媒体服务器一次性下发的所有目标视频帧后,在播放界面上展示出默认视角旋转方向对应的各个目标视频帧,即播放具有视角旋转效果的子弹时间视频;也可以在每接收到媒体服务器下发的一个目标视频帧后,便在播放界面上展
示出实时接收到的目标视频帧,从而降低用户等待播放子弹时间视频的时间。用户端可以在播放界面上通过弹窗的方式播放子弹时间视频,从而使得用户可以直接观看到具有子弹时间效果的多视角视频,无需用户手动切换视角,丰富了视频播放效果,实现了子弹时间视频的自动生成,并且用户可以针对任意播放时刻下的视频帧触发子弹时间视频生成操作,从而可以动态生成并播放任意视频帧对应的子弹时间视频,满足了用户个性化需求,大大提升了用户观看体验。
51.示例性地,s130可以包括:获取用户选择的目标播放速度;按照目标播放速度,在播放界面上播放由接收到的各个目标视频帧组成的子弹时间视频。
52.其中,目标播放速度可以是指用户选择的,用于播放子弹时间视频的速度。目标播放速度可以是自由视角视频的原有播放速度;也可以是大于原有播放速度的速度,以便较快地播放子弹时间视频,降低播放时间;还可以是小于原有播放速度的速度,以便较慢地播放子弹时间视频,使得用户更能清楚地查看各个目标视频帧。
53.具体地,用户可以在播放界面上通过点击预设按钮的方式选择想要播放的目标播放速度。用户端通过按照用户选择的目标播放速度来播放子弹时间视频,可以进一步满足用户个性化需求,进一步提升了用户观看体验。
54.本公开实施例的技术方案,用户端通过检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作时,根据当前视频帧对应的当前视频帧标识信息确定子弹时间视频生成请求,并将子弹时间视频生成请求发送至媒体服务器。媒体服务器根据子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定出每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端。用户端在播放界面上播放由接收到的各个目标视频帧组成的子弹时间视频,从而实现了子弹时间视频的自动生成,使得用户可以直接观看具有子弹时间效果的多视角视频,无需用户手动切换视角,丰富了视频播放效果,提升了用户观看体验。
55.在上述技术方案的基础上,作为生成子弹时间视频的一种实现方式,s130可以包括:接收并缓存媒体服务器发送的顺时针视角旋转方向对应的各个目标视频帧以及逆时针视角旋转方向对应的各个目标视频帧;若检测到用户触发的顺时针观看操作,则在播放界面上播放由顺时针视角旋转方向对应的各个目标视频帧组成的顺时针子弹时间视频;若检测到用户触发的逆时针观看操作,则在播放界面上播放由逆时针视角旋转方向对应的各个目标视频帧组成的逆时针子弹时间视频。
56.其中,顺时针视角旋转方向可以是指在播放子弹时间视频时,所有的观看视角沿顺时针方向进行变化。逆时针视角旋转方向可以是指在播放子弹时间视频时,所有的观看视角沿逆时针方向进行变化。
57.具体地,媒体服务器在接收到子弹时间视频生成请求后,可以基于子弹时间视频生成请求中的当前视频帧标识信息,从每个视角对应的视频流中确定出顺时针视角旋转方向所对应的每个子弹时间点对应的目标视频帧,以及从每个视角对应的视频流中确定出逆时针视角旋转方向所对应的每个子弹时间点对应的目标视频帧,也就是说,确定出每个子弹时间点对应的两个目标视频帧,即顺时针视角旋转方向对应的目标视频帧和逆时针视角旋转方向对应的目标视频帧。媒体服务器可以将顺时针视角旋转方向对应的各个目标视频帧以及逆时针视角旋转方向对应的各个目标视频帧均发送至用户端。用户端将接收的两个
视角旋转方向对应的各个目标视频帧进行缓存,并实时检测用户触发的观看操作,比如用户可以通过点击顺时针观看按钮触发顺时针观看操作,或者通过点击逆时针观看按钮触发逆时针观看操作。当检测到用户触发的顺时针观看操作时,可以在播放界面上播放顺时针视角旋转方向对应的各个目标视频帧,即顺时针子弹时间视频,从而使得用户可以快速地观看到具有顺时针视角旋转效果的子弹时间视频。当检测到用户触发的逆时针观看操作时,可以在播放界面上播放逆时针视角旋转方向对应的各个目标视频帧,即逆时针子弹时间视频,从而使得用户可以快速地观看具有逆时针视角旋转效果的子弹时间视频。本公开实施例可以支持用户选择性地观看两个方向的子弹时间视频,并且通过缓存两个视角旋转方向对应的子弹时间视频,可以更加快速地播放子弹时间视频,减少用户等待时间,进一步提升了用户观看体验。
58.在上述各技术方案的基础上,作为生成子弹时间视频的另一种实现方式,步骤s110和s120的操作可以包括:获取用户选择的目标视角旋转方向,目标视角旋转方向包括顺时针视角旋转方向或者逆时针视角旋转方向;根据当前视频帧对应的当前视频帧标识信息和目标视角旋转方向确定子弹时间视频生成请求;将子弹时间视频生成请求发送至媒体服务器,以使媒体服务器根据子弹时间视频生成请求中的当前视频帧标识信息和目标视角旋转方向,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端。
59.具体地,用户在触发子弹时间视频生成操作时,可以选择想要观看的目标视角旋转方向,即顺时针视角旋转方向或者逆时针视角旋转方向,以使用户端可以获得用户选择的目标视角旋转方向,并可以生成包含当前视频帧标识信息和目标视角旋转方向的子弹时间视频生成请求发送至媒体服务器。媒体服务器基于当前视频帧标识信息,从每个视角对应的视频流中确定出目标视角旋转方向所对应的每个子弹时间点对应的目标视频帧,并将目标视角旋转方向所对应的各个目标视频帧发送至用户端。用户端可以在播放界面上播放目标视角旋转方向所对应的各个目标视频帧,使得用户可以直接观看到所选择的目标视角旋转效果的子弹时间视频。本公开实施例中的媒体服务器只需下发用户所选择的目标视角旋转方向所对应的各个目标视频帧,从而在支持用户可选择视角旋转方向的基础上,实现了子弹时间视频的动态下载,节省缓存空间,提高运行性能。
60.实施例二
61.图2为本公开实施例二提供的一种子弹时间视频生成方法的流程图,本实施例可适用于针对自由视角视频生成具有子弹时间效果的多视角视频的情况,,尤其是可以用于在直播或点播的自由视角视频中生成子弹时间视频的应用场景。该方法可以由子弹时间视频生成装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于媒体服务器中。如图2所示,该方法具体包括以下步骤:
62.s210、接收用户端发送的子弹时间视频生成请求,子弹时间视频生成请求是用户端在检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作时,根据当前视频帧对应的当前视频帧标识信息确定的。
63.其中,媒体服务器可以是指用于存储每个视角对应的视频流的后台服务器。
64.具体地,子弹时间视频生成请求的具体确定过程可以参见上述实施例中相关的描述内容,此处不再赘述。媒体服务器可以接收到用户端发送的包含当前视频帧标识信息的
子弹时间视频生成请求。
65.s220、根据子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端,以使用户端在播放界面上播放由接收到的各个目标视频帧组成的子弹时间视频。
66.其中,子弹时间点可以是指子弹时间视频中的播放时刻。子弹时间点的数量可以与自由视角视频所支持的观看角度的数量相等。也就是,子弹时间点可以与视角一一对应。目标视频帧可以是指在子弹时间点上所需要展示的视频帧。不同子弹时间点对应的观看视角不同,从而可以在不同子弹时间点上展示不同视角下的目标视频帧。
67.具体地,媒体服务器可以对子弹时间视频生成请求进行解析,获得当前视频帧标识信息,并基于当前视频帧标识信息,从每个视角对应的视频流中确定出默认视角旋转方向下每个子弹时间点对应的目标视频帧,并将具有不同观看视角的各个目标视频帧发送至用户端中。用户端在播放界面上展示出默认视角旋转方向对应的各个目标视频帧,即播放具有视角旋转效果的子弹时间视频,从而使得用户可以直接观看到具有子弹时间效果的多视角视频,无需用户手动切换视角,丰富了视频播放效果,实现了子弹时间视频的自动生成,并且用户可以针对任意播放时刻下的视频帧触发子弹时间视频生成操作,从而可以动态生成并播放任意视频帧对应的子弹时间视频,满足了用户个性化需求,大大提升了用户观看体验。
68.本公开实施例的技术方案,用户端通过检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作时,根据当前视频帧对应的当前视频帧标识信息确定子弹时间视频生成请求,并将子弹时间视频生成请求发送至媒体服务器。媒体服务器根据子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定出每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端。用户端在播放界面上播放由接收到的各个目标视频帧组成的子弹时间视频,从而实现了子弹时间视频的自动生成,使得用户可以直接观看具有子弹时间效果的多视角视频,无需用户手动切换视角,丰富了视频播放效果,提升了用户观看体验。
69.在上述技术方案的基础上,s220中的“根据子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧”可以包括:确定每个子弹时间点对应的观看视角,并根据子弹时间视频生成请求中的当前视频帧标识信息,从观看视角下的视频流中确定相应子弹时间点对应的目标视频帧。
70.具体地,可以基于视角旋转方向和所支持观看的所有观看视角,确定出每个子弹时间点对应的一个观看视角。子弹时间点的数量可以与观看视角的数量相等。不同子弹时间点对应不同的观看视角。视角旋转方向可以是指设置的默认视角旋转方向,也可以是用户自行选择的目标视角旋转方向。根据子弹时间视频生成请求中的当前视频帧标识信息,可以按照视角旋转方向,依次从每个观看视角下的视频流中确定出相应子弹时间点对应的目标视频帧。
71.示例性地,可以通过如下步骤s210确定第一个子弹时间点对应的目标视频帧,以及通过如下步骤s220确定第二个子弹时间点以及后续子弹时间点所对应的目标视频帧:
72.s210、确定第一个子弹时间点对应的第一观看视角,并根据子弹时间视频生成请
求中的当前视频帧标识信息,从第一观看视角下的视频流中确定出第一个子弹时间点对应的第一目标视频帧。
73.其中,第一个子弹时间点可以是指子弹时间视频中的开始播放时刻。第一观看视角可以是指子弹时间视频中用户观看的第一个视角。第一目标视频帧可以是指子弹时间视频中的第一个目标视频帧,即第一观看视角对应的目标视频帧。例如,可以将所有观看视角中的任意一个视角作为第一子弹时间点对应的第一观看视角,并可以从第一观看视角对应的视频流中,将具有与当前视频帧标识信息相同的视频帧确定为第一目标视频帧,以便从当前视频帧对应的当前播放时刻开始播放子弹时间视频。
74.示例性地,确定第一个子弹时间点对应的第一观看视角,可以包括:若自由视角视频对应的视角变化范围为360度,则获取用户触发子弹时间视频生成操作时的用户观看视角,并将用户观看视角确定为第一个子弹时间点对应的第一观看视角;若自由视角视频对应的视角变化范围不是360度,则将最左边或者最右边的视角确定为第一个子弹时间点对应的第一观看视角。
75.具体地,在视角变化范围为360度时,用户端可以获取子弹时间视频生成操作时的用户观看视角,即当前视频帧对应的当前观看视角,并将该用户观看视角发送至媒体服务器,从而媒体服务器可以获得用户观看视角,并将用户观看视角作为第一观看视角,以便可以从用户观看视角开始进行视角旋转,播放相应的子弹时间视频,进一步提高子弹时间视频的播放效果。在视角变化范围不是360度,比如,视角变化范围为270度时,媒体服务器可以将最左边或者最右边的视角作为第一观看视角,以便从最左边或者最右边的视角开始进行视角旋转,播放相应的子弹时间视频。例如,图3给出了一种子弹时间视频生成过程的示例。如图3所示,媒体服务器存储有对齐后的n个视角对应的n个视频流。用户在用户端中观看的视频为视角2对应的视频流,当用户针对该视频流当前所展示的当前视频帧触发子弹时间视频生成操作时(即图3中所标识的用户触发时刻),媒体服务器可以基于视角旋转方向确定是将最左边视角作为第一观看视角,还是将最右边的视角作为第一观看视角。例如,图3中在视角旋转方向为顺时针旋转方向时,可以将最左边的视角(即视角1)作为第一观看视角;在视角旋转方向为逆时针旋转方向时,可以将最右边的视角(即视角n)作为第一观看视角,从而可以更加连贯地展示视角旋转效果,进一步提高子弹时间视频的播放效果。
76.示例性地,根据子弹时间视频生成请求中的当前视频帧标识信息,从第一观看视角下的视频流中确定出第一个子弹时间点对应的第一目标视频帧,可以包括:从第一观看视角下的视频流中确定与当前视频帧标识信息相同的第一视频帧;将第一观看视角下的视频流中的第一视频帧的下一视频帧作为第一个子弹时间点对应的第一目标视频帧。
77.具体地,媒体服务器通过从第一观看视角对应的视频流中,将具有与当前视频帧标识信息相同的视频帧的下一视频帧确定为第一目标视频帧,以便可以从当前视频帧对应的当前播放时刻的下一播放时刻开始播放子弹时间视频,从而可以进一步提高子弹时间视频展示的多样性。
78.s220、根据视角旋转方向和上一子弹时间点对应的上一观看视角,确定当前子弹时间点对应的当前观看视角,并根据上一子弹时间点对应的上一目标视频帧的标识信息,从当前观看视角下的视频流中确定当前子弹时间点对应的当前目标视频帧。
79.具体地,第一个子弹时间点之后的每个子弹时间点对应的观看视角可以按照视角
旋转方向基于上一子弹时间点对应的观看视角确定。例如,在视角旋转方向为顺时针视角旋转方式时,可以沿着视角旋转方向,将上一子弹时间点对应的上一观看视角的下一个观看视角作为当前子弹时间点对应的当前观看视角。例如,如图3所示,在视角旋转方向为顺时针视角旋转方式时,可以将视角2确定为第二个子弹时间点对应的观看视角,视角3确定为第三个子弹时间点对应的观看视角,依次类推。在视角旋转方向为逆时针视角旋转方式时,可以将视角n

1确定为第二个子弹时间点对应的观看视角,视角n

2确定为第三个子弹时间点对应的观看视角,依次类推。第一个子弹时间点之后的每个子弹时间点对应的目标视频帧可以基于上一子弹时间点对应的目标视频帧进行确定。例如,可以从当前子弹时间点对应的当前观看视角下的视频流中,将与上一目标视频帧的标识信息相同的视频帧的下一个视频帧作为当前子弹时间点对应的当前目标视频帧。如图3所示,对于视角旋转方向为顺时针视角旋转方向的情况,第二个子弹时间点对应的观看视角为视角2,此时可以从视角2对应的视频流中,将与视角1的标识信息相同的视频帧的下一视频帧作为第二个子弹时间点对应的目标视频帧,依次类推,可以确定出顺时针视角旋转方向下的每个子弹时间点对应的目标视频帧,以便可以播放从视角1到视角n的顺时针子弹时间视频。同理,也可以确定出逆时针视角旋转方向下的每个子弹时间点对应的目标视频帧,以便可以播放从视角n到视角1的逆时针子弹时间视频。
80.在上述各技术方案的基础上,作为生成子弹时间视频的一种实现方式,s220可以包括:根据子弹时间视频生成请求和每个视角下的视频流,确定在顺时针视角旋转方向下每个子弹时间点对应的目标视频帧,以及在逆时针视角旋转方向下每个子弹时间点对应的目标视频帧;将顺时针视角旋转方向对应的各个目标视频帧以及逆时针视角旋转方向对应的各个目标视频帧发送至用户端,以使用户端基于用户触发的观看操作,在播放界面上播放由顺时针视角旋转方向对应的各个目标视频帧组成的顺时针子弹时间视频,或者由逆时针视角旋转方向对应的各个目标视频帧组成的逆时针子弹时间视频。
81.具体地,顺时针视角旋转方向下每个子弹时间点对应的目标视频帧的确定过程,以及逆时针视角旋转方向下每个子弹时间点对应的目标视频帧的确定过程可以参见上述相关的描述内容,此处不再赘述。媒体服务器通过将顺时针视角旋转方向对应的各个目标视频帧以及逆时针视角旋转方向对应的各个目标视频帧均发送至用户端。用户端将接收的两个视角旋转方向对应的各个目标视频帧进行缓存,并实时检测用户触发的观看操作。当检测到用户触发的顺时针观看操作时,可以在播放界面上播放顺时针视角旋转方向对应的各个目标视频帧,即顺时针子弹时间视频,从而使得用户可以快速地观看到具有顺时针视角旋转效果的子弹时间视频。当检测到用户触发的逆时针观看操作时,可以在播放界面上播放逆时针视角旋转方向对应的各个目标视频帧,即逆时针子弹时间视频,从而使得用户可以快速地观看具有逆时针视角旋转效果的子弹时间视频。本公开实施例通过将两个视角旋转方向对应的子弹时间视频发送至用户端,可以支持用户选择性地观看两个方向的子弹时间视频,并且用户端通过缓存两个视角旋转方向对应的子弹时间视频,可以更加快速地播放子弹时间视频,减少用户等待时间,进一步提升了用户观看体验。
82.在上述各技术方案的基础上,作为生成子弹时间视频的另一种实现方式,子弹时间视频生成请求是根据当前视频帧对应的当前视频帧标识信息和用户选择的目标视角旋转方向确定的;相应地,s220可以包括:根据子弹时间视频生成请求和每个视角下的视频
流,确定在目标视角旋转方向下每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端,以使用户端在播放界面上播放由接收到的各个目标视频帧组成的子弹时间视频。
83.具体地,用户在触发子弹时间视频生成操作时,可以选择想要观看的目标视角旋转方向,即顺时针视角旋转方向或者逆时针视角旋转方向,以使用户端可以获得用户选择的目标视角旋转方向,并可以生成包含当前视频帧标识信息和目标视角旋转方向的子弹时间视频生成请求发送至媒体服务器。媒体服务器基于子弹时间视频生成请求中的当前视频帧标识信息,从每个视角对应的视频流中确定出目标视角旋转方向所对应的每个子弹时间点对应的目标视频帧,其具体确定过程可以参见上述相关的描述内容,此处不再赘述。媒体服务器将目标视角旋转方向所对应的各个目标视频帧发送至用户端。用户端可以在播放界面上播放目标视角旋转方向所对应的各个目标视频帧,使得用户可以直接观看到所选择的目标视角旋转效果的子弹时间视频。本公开实施例中的媒体服务器只需下发用户所选择的目标视角旋转方向所对应的各个目标视频帧,从而在支持用户可选择视角旋转方向的基础上,可以使得用户端实现子弹时间视频的动态下载,节省了缓存空间,提高了运行性能。
84.以下是本公开实施例提供的子弹时间视频生成装置的实施例,该装置与上述实施例一的子弹时间视频生成方法属于同一个发明构思,在子弹时间视频生成装置的实施例中未详尽描述的细节内容,可以参考上述实施例一所提供的子弹时间视频生成方法。
85.实施例三
86.图4为本公开实施例三提供的一种子弹时间视频生成装置的结构示意图,本实施例可适用于针对自由视角视频生成具有子弹时间效果的多视角视频的情况,尤其是可以用于在直播或点播的自由视角视频中生成子弹时间视频的应用场景。该装置集成于用户端。如图4所示,该装置具体包括:子弹时间视频生成请求确定模块410、子弹时间视频生成请求发送模块420和子弹时间视频播放模块430。
87.其中,子弹时间视频生成请求确定模块410,用于若检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作,则根据当前视频帧对应的当前视频帧标识信息确定子弹时间视频生成请求;子弹时间视频生成请求发送模块420,用于将子弹时间视频生成请求发送至媒体服务器,以使媒体服务器根据子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端;子弹时间视频播放模块430,用于在播放界面上播放由接收到的各个目标视频帧组成的子弹时间视频。
88.本公开实施例的技术方案,用户端通过检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作时,根据当前视频帧对应的当前视频帧标识信息确定子弹时间视频生成请求,并将子弹时间视频生成请求发送至媒体服务器。媒体服务器根据子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定出每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端。用户端在播放界面上播放由接收到的各个目标视频帧组成的子弹时间视频,从而实现了子弹时间视频的自动生成,使得用户可以直接观看具有子弹时间效果的多视角视频,无需用户手动切换视角,丰富了视频播放效果,提升了用户观看体验。
89.在上述技术方案的基础上,当前视频帧标识信息为当前视频帧对应的播放时间戳
或者帧序号。
90.在上述各技术方案的基础上,子弹时间视频播放模块430,具体用于:
91.接收并缓存媒体服务器发送的顺时针视角旋转方向对应的各个目标视频帧以及逆时针视角旋转方向对应的各个目标视频帧;若检测到用户触发的顺时针观看操作,则在播放界面上播放由顺时针视角旋转方向对应的各个目标视频帧组成的顺时针子弹时间视频;若检测到用户触发的逆时针观看操作,则在播放界面上播放由逆时针视角旋转方向对应的各个目标视频帧组成的逆时针子弹时间视频。
92.在上述各技术方案的基础上,子弹时间视频生成请求确定模块410和子弹时间视频生成请求发送模块420,具体用于:
93.获取用户选择的目标视角旋转方向,目标视角旋转方向包括顺时针视角旋转方向或者逆时针视角旋转方向;根据当前视频帧对应的当前视频帧标识信息和目标视角旋转方向确定子弹时间视频生成请求;将子弹时间视频生成请求发送至媒体服务器,以使媒体服务器根据子弹时间视频生成请求中的当前视频帧标识信息和目标视角旋转方向,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端。
94.在上述各技术方案的基础上,子弹时间视频播放模块430,具体用于:
95.获取用户选择的目标播放速度;按照目标播放速度,在播放界面上播放由接收到的各个目标视频帧组成的子弹时间视频。
96.本公开实施例所提供的子弹时间视频生成装置可执行本公开实施例一所提供的子弹时间视频生成方法,具备执行子弹时间视频生成方法相应的功能模块和有益效果。
97.值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
98.以下是本公开实施例提供的子弹时间视频生成装置的实施例,该装置与上述实施例二的子弹时间视频生成方法属于同一个发明构思,在子弹时间视频生成装置的实施例中未详尽描述的细节内容,可以参考上述实施例二所提供的子弹时间视频生成方法。
99.实施例四
100.图5为本公开实施例四提供的一种子弹时间视频生成装置的结构示意图,本实施例可适用于针对自由视角视频生成具有子弹时间效果的多视角视频的情况,尤其是可以用于在直播或点播的自由视角视频中生成子弹时间视频的应用场景。该装置集成于媒体服务器。如图5所示,该装置具体包括:子弹时间视频生成请求接收模块510和目标视频帧发送模块520。
101.其中,子弹时间视频生成请求接收模块510,用于接收用户端发送的子弹时间视频生成请求,子弹时间视频生成请求是用户端在检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作时,根据当前视频帧对应的当前视频帧标识信息确定的;目标视频帧发送模块520,用于根据子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端,以使用户端在播放界面上播放由接收到的各个目标视频帧组成的子弹时间视频。
102.本公开实施例的技术方案,用户端通过检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作时,根据当前视频帧对应的当前视频帧标识信息确定子弹时间视频生成请求,并将子弹时间视频生成请求发送至媒体服务器。媒体服务器根据子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定出每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端。用户端在播放界面上播放由接收到的各个目标视频帧组成的子弹时间视频,从而实现了子弹时间视频的自动生成,使得用户可以直接观看具有子弹时间效果的多视角视频,无需用户手动切换视角,丰富了视频播放效果,提升了用户观看体验。
103.在上述技术方案的基础上,目标视频帧发送模块520包括:目标视频帧确定单元,具体用于:确定每个子弹时间点对应的观看视角,并根据子弹时间视频生成请求中的当前视频帧标识信息,从观看视角下的视频流中确定相应子弹时间点对应的目标视频帧。
104.在上述各技术方案的基础上,目标视频帧确定单元,包括:
105.第一目标视频帧确定子单元,用于确定第一个子弹时间点对应的第一观看视角,并根据子弹时间视频生成请求中的当前视频帧标识信息,从第一观看视角下的视频流中确定出第一个子弹时间点对应的第一目标视频帧;
106.当前目标视频帧确定子单元,用于根据视角旋转方向和上一子弹时间点对应的上一观看视角,确定当前子弹时间点对应的当前观看视角,并根据上一子弹时间点对应的上一目标视频帧的标识信息,从当前观看视角下的视频流中确定当前子弹时间点对应的当前目标视频帧。
107.在上述各技术方案的基础上,第一目标视频帧确定子单元,还具体用于:
108.若自由视角视频对应的视角变化范围为360度,则获取用户触发子弹时间视频生成操作时的用户观看视角,并将用户观看视角确定为第一个子弹时间点对应的第一观看视角;
109.若自由视角视频对应的视角变化范围不是360度,则将最左边或者最右边的视角确定为第一个子弹时间点对应的第一观看视角。
110.在上述各技术方案的基础上,第一目标视频帧确定子单元,还具体用于:
111.从第一观看视角下的视频流中确定与当前视频帧标识信息相同的第一视频帧;将第一观看视角下的视频流中的第一视频帧的下一视频帧作为第一个子弹时间点对应的第一目标视频帧。
112.在上述各技术方案的基础上,目标视频帧发送模块520,具体用于:
113.根据子弹时间视频生成请求和每个视角下的视频流,确定在顺时针视角旋转方向下每个子弹时间点对应的目标视频帧,以及在逆时针视角旋转方向下每个子弹时间点对应的目标视频帧;将顺时针视角旋转方向对应的各个目标视频帧以及逆时针视角旋转方向对应的各个目标视频帧发送至用户端,以使用户端基于用户触发的观看操作,在播放界面上播放由顺时针视角旋转方向对应的各个目标视频帧组成的顺时针子弹时间视频,或者由逆时针视角旋转方向对应的各个目标视频帧组成的逆时针子弹时间视频。
114.在上述各技术方案的基础上,子弹时间视频生成请求是根据当前视频帧对应的当前视频帧标识信息和用户选择的目标视角旋转方向确定的;
115.相应地,目标视频帧发送模块520,还具体用于:
116.根据子弹时间视频生成请求和每个视角下的视频流,确定在目标视角旋转方向下每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端,以使用户端在播放界面上播放由接收到的各个目标视频帧组成的子弹时间视频。
117.本公开实施例所提供的子弹时间视频生成装置可执行本公开实施例二所提供的子弹时间视频生成方法,具备执行子弹时间视频生成方法相应的功能模块和有益效果。
118.值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
119.实施例五
120.图6为本公开实施例五提供的一种子弹时间视频生成系统的结构示意图。本实施例可适用于针对自由视角视频生成具有子弹时间效果的多视角视频的情况,尤其是可以用于在直播或点播的自由视角视频中生成子弹时间视频的应用场景。如图6所示,该系统包括:用户端610和媒体服务器620。
121.其中,用户端610可以用于实现如本公开实施例一所提供的子弹时间视频生成方法;媒体服务器620可以用于实现如本公开实施例二所提供的子弹时间视频生成方法。
122.作为一种实现方式,本公开实施例中的子弹时间视频生成系统的工作过程可以为:用户端610若检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作,则根据当前视频帧对应的当前视频帧标识信息确定子弹时间视频生成请求,并将子弹时间视频生成请求发送至媒体服务器620。媒体服务器620根据子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定出默认视角旋转方向下每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端610。用户端610在播放界面上播放由接收到的各个目标视频帧组成的子弹时间视频,从而使得用户可以直接观看到具有子弹时间效果的多视角视频,无需用户手动切换视角,丰富了视频播放效果,实现了子弹时间视频的自动生成,并且用户可以针对任意播放时刻下的视频帧触发子弹时间视频生成操作,从而可以动态生成并播放任意视频帧对应的子弹时间视频,满足了用户个性化需求,大大提升了用户观看体验。
123.作为另一种实现方式,本公开实施例中的子弹时间视频生成系统的工作过程还可以为:用户端610若检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作,则根据当前视频帧对应的当前视频帧标识信息确定子弹时间视频生成请求,并将子弹时间视频生成请求发送至媒体服务器620。媒体服务器620根据子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定顺时针视角旋转方向下每个子弹时间点对应的目标视频帧,以及逆时针视角旋转方向下每个子弹时间点对应的目标视频帧,并将顺时针视角旋转方向对应的各个目标视频帧以及逆时针视角旋转方向对应的各个目标视频帧发送至用户端610。用户端610将接收的两个视角旋转方向对应的各个目标视频帧进行缓存,若检测到用户触发的顺时针观看操作,则在播放界面上播放由顺时针视角旋转方向对应的各个目标视频帧组成的顺时针子弹时间视频;若检测到用户触发的逆时针观看操作,则在播放界面上播放由逆时针视角旋转方向对应的各个目标视频帧组成的逆时针子弹时间视频。本公开实施例可以支持用户选择性地观看两个方向的子弹时间视频,并且通过缓存两个视角旋转方向对应的子弹时间视频,可以更加快速地播放子弹时间
视频,减少用户等待时间,进一步提升了用户观看体验。
124.作为另一种实现方式,本公开实施例中的子弹时间视频生成系统的工作过程还可以为:用户端610若检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作,则获取用户选择的目标视角旋转方向,并根据当前视频帧对应的当前视频帧标识信息和目标视角旋转方向确定子弹时间视频生成请求,将子弹时间视频生成请求发送至媒体服务器620。媒体服务器620根据子弹时间视频生成请求中的当前视频帧标识信息和目标视角旋转方向,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端610。用户端610可以在播放界面上播放目标视角旋转方向所对应的各个目标视频帧,使得用户可以直接观看到所选择的目标视角旋转效果的子弹时间视频。本公开实施例中的媒体服务器620只需下发用户所选择的目标视角旋转方向所对应的各个目标视频帧,从而在支持用户可选择视角旋转方向的基础上,实现了子弹时间视频的动态下载,节省缓存空间,提高运行性能。
125.本公开实施例提供的子弹时间视频生成系统,用户端610通过检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作时,根据当前视频帧对应的当前视频帧标识信息确定子弹时间视频生成请求,并将子弹时间视频生成请求发送至媒体服务器620。媒体服务器620根据子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定出每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个目标视频帧发送至用户端610。用户端610在播放界面上播放由接收到的各个目标视频帧组成的子弹时间视频,从而实现了子弹时间视频的自动生成,使得用户可以直接观看具有子弹时间效果的多视角视频,无需用户手动切换视角,丰富了视频播放效果,提升了用户观看体验。
126.实施例六
127.下面参考图7,其示出了适于用来实现本公开实施例的电子设备(例如图7中的用户端或服务器)900的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
128.如图7所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(rom)902中的程序或者从存储装置908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。在ram 903中,还存储有电子设备900操作所需的各种程序和数据。处理装置901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
129.通常,以下装置可以连接至i/o接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许电子设备900与其他设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
130.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置908被安装,或者从rom 902被安装。在该计算机程序被处理装置901执行时,执行本公开实施例的方法中限定的上述功能。
131.本公开实施例提供的电子设备与上述实施例提供的子弹时间视频生成方法属于同一发明构思,未在本公开实施例中详尽描述的技术细节可参见上述实施例,并且本公开实施例与上述实施例具有相同的有益效果。
132.实施例七
133.本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意实施例所提供的子弹时间视频生成方法。
134.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

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

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
146.根据本公开的一个或多个实施例,【示例一】提供了一种子弹时间视频生成方法,应用于用户端,该方法包括:
147.若检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作,则根据所述当前视频帧对应的当前视频帧标识信息确定子弹时间视频生成请求;
148.将所述子弹时间视频生成请求发送至媒体服务器,以使所述媒体服务器根据所述子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个所述目标视频帧发送至所述用户端;
149.在播放界面上播放由接收到的各个所述目标视频帧组成的子弹时间视频。
150.根据本公开的一个或多个实施例,【示例二】提供了一种子弹时间视频生成方法,应用于用户端,该方法还包括:
151.可选的,所述当前视频帧标识信息为所述当前视频帧对应的播放时间戳或者帧序号。
152.根据本公开的一个或多个实施例,【示例三】提供了一种子弹时间视频生成方法,应用于用户端,该方法还包括:
153.可选的,所述在播放界面上播放由接收到的各个所述目标视频帧组成的子弹时间视频,包括:
154.接收并缓存所述媒体服务器发送的顺时针视角旋转方向对应的各个目标视频帧以及逆时针视角旋转方向对应的各个目标视频帧;
155.若检测到用户触发的顺时针观看操作,则在播放界面上播放由所述顺时针视角旋转方向对应的各个目标视频帧组成的顺时针子弹时间视频;
156.若检测到用户触发的逆时针观看操作,则在播放界面上播放由所述逆时针视角旋转方向对应的各个目标视频帧组成的逆时针子弹时间视频。
157.根据本公开的一个或多个实施例,【示例四】提供了一种子弹时间视频生成方法,应用于用户端,该方法还包括:
158.可选的,所述根据所述当前视频帧对应的当前视频帧标识信息确定子弹时间视频生成请求;将所述子弹时间视频生成请求发送至媒体服务器,以使所述媒体服务器根据所述子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个所述目标视频帧发送至所述用户端,包括:
159.获取用户选择的目标视角旋转方向,所述目标视角旋转方向包括顺时针视角旋转方向或者逆时针视角旋转方向;
160.根据所述当前视频帧对应的当前视频帧标识信息和所述目标视角旋转方向确定子弹时间视频生成请求;
161.将所述子弹时间视频生成请求发送至媒体服务器,以使所述媒体服务器根据所述
子弹时间视频生成请求中的当前视频帧标识信息和目标视角旋转方向,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个所述目标视频帧发送至所述用户端。
162.根据本公开的一个或多个实施例,【示例五】提供了一种子弹时间视频生成方法,应用于用户端,该方法还包括:
163.可选的,所述在播放界面上播放由接收到的各个所述目标视频帧组成的子弹时间视频,包括:
164.获取用户选择的目标播放速度;
165.按照所述目标播放速度,在播放界面上播放由接收到的各个所述目标视频帧组成的子弹时间视频。
166.根据本公开的一个或多个实施例,【示例六】提供了一种子弹时间视频生成方法,应用于媒体服务器,该方法包括:
167.接收用户端发送的子弹时间视频生成请求,所述子弹时间视频生成请求是所述用户端在检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作时,根据所述当前视频帧对应的当前视频帧标识信息确定的;
168.根据所述子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个所述目标视频帧发送至所述用户端,以使所述用户端在播放界面上播放由接收到的各个所述目标视频帧组成的子弹时间视频。
169.根据本公开的一个或多个实施例,【示例七】提供了一种子弹时间视频生成方法,应用于媒体服务器,该方法还包括:
170.可选的,所述根据所述子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧,包括:
171.确定每个子弹时间点对应的观看视角,并根据所述子弹时间视频生成请求中的当前视频帧标识信息,从所述观看视角下的视频流中确定相应子弹时间点对应的目标视频帧。
172.根据本公开的一个或多个实施例,【示例八】提供了一种子弹时间视频生成方法,应用于媒体服务器,该方法还包括:
173.可选的,所述确定每个子弹时间点对应的观看视角,并根据所述子弹时间视频生成请求中的当前视频帧标识信息,从所述观看视角下的视频流中确定相应子弹时间点对应的目标视频帧,包括:
174.确定第一个子弹时间点对应的第一观看视角,并根据所述子弹时间视频生成请求中的当前视频帧标识信息,从所述第一观看视角下的视频流中确定出第一个子弹时间点对应的第一目标视频帧;
175.根据视角旋转方向和上一子弹时间点对应的上一观看视角,确定当前子弹时间点对应的当前观看视角,并根据上一子弹时间点对应的上一目标视频帧的标识信息,从当前观看视角下的视频流中确定当前子弹时间点对应的当前目标视频帧。
176.根据本公开的一个或多个实施例,【示例九】提供了一种子弹时间视频生成方法,应用于媒体服务器,该方法还包括:
177.可选的,所述确定第一个子弹时间点对应的第一观看视角,包括:
178.若所述自由视角视频对应的视角变化范围为360度,则获取用户触发所述子弹时间视频生成操作时的用户观看视角,并将所述用户观看视角确定为第一个子弹时间点对应的第一观看视角;
179.若所述自由视角视频对应的视角变化范围不是360度,则将最左边或者最右边的视角确定为第一个子弹时间点对应的第一观看视角。
180.根据本公开的一个或多个实施例,【示例十】提供了一种子弹时间视频生成方法,应用于媒体服务器,该方法还包括:
181.可选的,所述根据所述子弹时间视频生成请求中的当前视频帧标识信息,从所述第一观看视角下的视频流中确定出第一个子弹时间点对应的第一目标视频帧,包括:
182.从所述第一观看视角下的视频流中确定与所述当前视频帧标识信息相同的第一视频帧;
183.将所述第一观看视角下的视频流中的所述第一视频帧的下一视频帧作为第一个子弹时间点对应的第一目标视频帧。
184.根据本公开的一个或多个实施例,【示例十一】提供了一种子弹时间视频生成方法,应用于媒体服务器,该方法还包括:
185.可选的,所述根据所述子弹时间视频生成请求和每个视角下的视频流,确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个所述目标视频帧发送至所述用户端,以使所述用户端在播放界面上播放由接收到的各个所述目标视频帧组成的子弹时间视频,包括:
186.根据所述子弹时间视频生成请求和每个视角下的视频流,确定在顺时针视角旋转方向下每个子弹时间点对应的目标视频帧,以及在逆时针视角旋转方向下每个子弹时间点对应的目标视频帧;
187.将所述顺时针视角旋转方向对应的各个目标视频帧以及所述逆时针视角旋转方向对应的各个目标视频帧发送至所述用户端,以使所述用户端基于用户触发的观看操作,在播放界面上播放由所述顺时针视角旋转方向对应的各个目标视频帧组成的顺时针子弹时间视频,或者由所述逆时针视角旋转方向对应的各个目标视频帧组成的逆时针子弹时间视频。
188.根据本公开的一个或多个实施例,【示例十二】提供了一种子弹时间视频生成方法,应用于媒体服务器,该方法还包括:
189.可选的,所述子弹时间视频生成请求是根据所述当前视频帧对应的当前视频帧标识信息和用户选择的目标视角旋转方向确定的;
190.所述根据所述子弹时间视频生成请求和每个视角下的视频流,确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个所述目标视频帧发送至所述用户端,以使所述用户端在播放界面上播放由接收到的各个所述目标视频帧组成的子弹时间视频,包括:
191.根据所述子弹时间视频生成请求和每个视角下的视频流,确定在所述目标视角旋转方向下每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个所述目标视频帧发送至所述用户端,以使所述用户端在播放界面上播放由接收到的各个所述目标视频
帧组成的子弹时间视频。
192.根据本公开的一个或多个实施例,【示例十三】提供了一种子弹时间视频生成装置,集成于用户端,该装置包括:
193.子弹时间视频生成请求确定模块,用于若检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作,则根据所述当前视频帧对应的当前视频帧标识信息确定子弹时间视频生成请求;
194.子弹时间视频生成请求发送模块,用于将所述子弹时间视频生成请求发送至媒体服务器,以使所述媒体服务器根据所述子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个所述目标视频帧发送至所述用户端;
195.子弹时间视频播放模块,用于在播放界面上播放由接收到的各个所述目标视频帧组成的子弹时间视频。
196.根据本公开的一个或多个实施例,【示例十四】提供了一种子弹时间视频生成装置,集成于媒体服务器,该装置包括:
197.子弹时间视频生成请求接收模块,用于接收用户端发送的子弹时间视频生成请求,所述子弹时间视频生成请求是所述用户端在检测到用户针对自由视角视频中当前所展示的当前视频帧触发的子弹时间视频生成操作时,根据所述当前视频帧对应的当前视频帧标识信息确定的;
198.目标视频帧发送模块,用于根据所述子弹时间视频生成请求中的当前视频帧标识信息,从每个视角下的视频流中确定每个子弹时间点对应的目标视频帧,并将各个子弹时间点对应的各个所述目标视频帧发送至所述用户端,以使所述用户端在播放界面上播放由接收到的各个所述目标视频帧组成的子弹时间视频。
199.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
200.此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
201.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
再多了解一些

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

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

相关文献