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

视频播放方法、装置及系统、计算机存储介质与流程

2021-10-29 21:39:00 来源:中国专利 TAG:视频播放 装置 视频处理 特别 计算机


1.本技术涉及视频处理技术领域,特别涉及一种视频播放方法、装置及系统、计算机存储介质。


背景技术:

2.随着互联网技术的快速发展,用户开始追求更好的视频观看体验,从而衍生出围绕目标对象环绕观看的需求。特别是在体育比赛、演唱会或其它具有特定焦点的场景下,环绕观看需求更甚。为了满足用户的环绕观看需求,需要在终端上实现环绕播放。
3.环绕播放要求前端拍摄采用分布在特定位置的多相机采集同一焦点区域内不同角度的视频画面,同时基于相机同步技术,保证多相机采集图像的时刻和频率相同。然后多相机分别将采集的视频流发送到视频处理平台,由视频处理平台对多路视频流进行处理,进一步在终端上实现对焦点区域的环绕播放。
4.相关技术中,通常由服务端将多路视频流中采集时刻相同的视频帧拼接成一个视频帧。例如,前端拍摄采用16个相机采集同一焦点区域内不同角度的视频画面。服务端将接收到的16路视频流中每路视频流中的视频帧的分辨率均调整为960
×
540,然后将16路视频流中采集时刻相同的16个视频帧按照4
×
4等比例组合成分辨率为3840
×
2160(即4k)的一个视频帧,得到一路视频流。服务端向终端发送该路视频流。终端对该路视频流进行解码后,根据设置的观看机位,选择其中的1/16的视频画面(一个相机采集的视频画面)进行播放。
5.但是,采用相关技术中的视频播放方法,由于终端播放画面的分辨率与前端拍摄采用的相机数量成反比,导致前端拍摄采用的相机数量受限,因此应用局限性较高。


技术实现要素:

6.本技术提供了一种视频播放方法、装置及系统、计算机存储介质,可以解决相关技术中视频播放的应用局限性较高的问题。
7.第一方面,提供了一种视频播放方法。该方法包括:上层设备接收终端发送的环绕播放请求,该环绕播放请求中包括旋转机位信息,该旋转机位信息用于指示旋转范围。上层设备基于环绕播放请求确定播放时间信息。上层设备根据旋转机位信息和播放时间信息生成旋转分片,该旋转分片中包括旋转范围内的多个机位对应的图像组(group of picture,gop),gop包括一帧或多帧视频图像。上层设备向终端发送旋转分片。
8.可选地,旋转机位信息包括起始机位的标识、终止机位的标识、旋转方向或旋转角度中的一个或多个。可选地,播放时间信息包括播放开始时刻、播放结束时刻或环绕播放时长中的一个或多个;或者,播放时间信息包括目标播放时刻。
9.本技术中,由于旋转分片中包含旋转机位信息所指示的旋转范围内的多个机位对应的gop,终端在接收到旋转分片后,对旋转分片进行解码即可实现对视频画面的环绕播放,且播放的视频画面的分辨率可以与旋转分片中的视频图像的分辨率相同。因此本技术
提供的视频播放方法不受限于前端拍摄采用的摄像机数量,应用范围广。
10.在一种可能实现方式中,播放时间信息包括播放开始时刻和播放结束时刻。上层设备根据旋转机位信息和播放时间信息生成旋转分片的实现过程,包括:上层设备获取多个机位中的每个机位对应的从播放开始时刻至播放结束时刻的m个视频分片,m为正整数。上层设备根据播放时间信息,从每个机位对应的m个视频分片中提取一个或多个gop。上层设备对提取的gop进行组装,得到旋转分片。
11.可选地,上层设备根据播放时间信息,从每个机位对应的m个视频分片中提取一个或多个gop的实现过程,包括:上层设备根据环绕播放时长以及多个机位的数量,确定每个机位对应的gop提取时刻以及gop提取数量,该环绕播放时长等于播放结束时刻与播放开始时刻的差值。上层设备根据每个机位对应的gop提取时刻以及gop提取数量,从每个机位对应的m个视频分片中提取gop。
12.本实现方式中,上层设备生成的旋转分片为动态旋转分片。上层设备可以在终端视频播放过程中生成动态旋转分片,进而实现终端上的动态环绕播放。本技术中,终端动态环绕播放视频内容,指终端播放在时序上连续的视频图像,即终端播放的后一帧视频图像与播放的前一帧图像为在时序上连续采集的两帧图像。
13.在另一种可能实现方式中,播放时间信息包括目标播放时刻。上层设备根据旋转机位信息和所述播放时间信息生成旋转分片的实现过程,包括:上层设备获取多个机位中的每个机位对应的目标视频分片,该目标视频分片对应的时间段包含目标播放时刻。上层设备从每个机位对应的目标视频分片中,提取目标播放时刻对应的一个gop,该gop包括一帧视频图像。上层设备对提取的gop进行组装,得到旋转分片。
14.本实现方式中,上层设备生成的旋转分片为静态旋转分片。上层设备可以在终端视频暂停播放时生成静态旋转分片,进而实现终端上的静态环绕播放。本技术中,终端静态环绕播放视频内容,指终端环绕播放多个摄像机在同一时刻采集的视频图像。
15.可选地,上层设备根据旋转机位信息确定起始机位、终止机位和旋转方向。上层设备在沿旋转方向从起始机位起至终止机位的机位中确定多个机位。则上述两种实现方式中,上层设备对提取的gop进行组装,得到旋转分片的实现过程,包括:上层设备按照旋转方向将提取的gop依次进行组装,得到旋转分片。
16.可选地,上层设备基于环绕播放请求确定播放时间信息的实现过程,包括:上层设备根据接收到环绕播放请求的时刻以及预设的策略,确定播放开始时刻和播放结束时刻,该预设的策略中包括预设环绕播放时长。或者,环绕播放请求中包括播放开始时刻和播放结束时刻,则上层设备基于环绕播放请求确定播放时间信息的实现过程,包括:上层设备在环绕播放请求中识别出播放开始时刻和播放结束时刻。或者,环绕播放请求中包括播放开始时刻,则上层设备基于环绕播放请求确定播放时间信息的实现过程,包括:上层设备根据播放开始时刻以及预设环绕播放时长,确定播放结束时刻。或者,环绕播放请求中包括环绕播放时长,则上层设备基于环绕播放请求确定播放时间信息的实现过程,包括:上层设备根据接收到环绕播放请求的时刻以及环绕播放时长,确定播放开始时刻和播放结束时刻。或者,环绕播放请求中包括播放开始时刻和环绕播放时长,则上层设备基于环绕播放请求确定播放时间信息的实现过程,包括:上层设备根据播放开始时刻以及环绕播放时长,确定播放结束时刻。
17.可选地,gop采用独立传输封装方式编码。使每个gop可以作为单独的分片进行独立传输使用。
18.第二方面,提供了一种视频播放方法。该方法包括:当终端接收到旋转指令时,该终端向上层设备发送基于旋转指令生成的环绕播放请求,该环绕播放请求中包括旋转机位信息,该旋转机位信息用于指示旋转范围。终端接收上层设备发送的旋转分片,该旋转分片中包括该旋转范围内的多个机位对应的gop,gop包括一帧或多帧视频图像。终端对旋转分片进行解码播放。
19.可选地,当终端在视频播放界面上检测到滑动操作时,终端确定接收到旋转指令。终端根据滑动操作的滑动信息,确定旋转机位信息,滑动信息包括滑动起始位置、滑动长度、滑动方向或滑动角度中的一个或多个。终端基于旋转机位信息生成环绕播放请求。
20.可选地,当终端接收到遥控设备发送的目标遥控指令时,终端确定接收到旋转指令,目标遥控指令中包括遥控按键信息,遥控按键信息包括按键标识和/或按键次数。终端基于遥控按键信息,确定旋转机位信息。终端基于旋转机位信息生成环绕播放请求。
21.本技术中,终端无需改变播放逻辑,只需在接收到旋转指令之后向上层设备发送环绕播放请求,然后对旋转分片进行解码,即可实现对视频画面的环绕播放,且播放的视频画面的分辨率可以与旋转分片中的视频图像的分辨率相同。因此本技术提供的视频播放方法不受限于前端拍摄采用的摄像机数量,应用范围广。
22.第三方面,提供了一种视频播放装置。所述装置包括多个功能模块,所述多个功能模块相互作用,实现上述第一方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
23.第四方面,提供了一种视频播放装置。所述装置包括多个功能模块,所述多个功能模块相互作用,实现上述第二方面及其各实施方式中的方法。所述多个功能模块可以基于软件、硬件或软件和硬件的结合实现,且所述多个功能模块可以基于具体实现进行任意组合或分割。
24.第五方面,提供了一种视频播放系统,所述系统包括:上层设备和终端,所述上层设备包括如第三方面所述的视频播放装置,所述终端包括如第四方面所述的视频播放装置。
25.第六方面,提供了一种视频播放装置,包括:处理器和存储器;
26.所述存储器,用于存储计算机程序,所述计算机程序包括程序指令;
27.所述处理器,用于调用所述计算机程序,实现如第一方面任一所述的视频播放方法;或者,实现如第二方面任一所述的视频播放方法。
28.第七方面,提供了一种计算机存储介质,所述计算机存储介质上存储有指令,当所述指令被计算机设备的处理器执行时,实现如第一方面或第二方面任一所述的视频播放方法。
29.第八方面,提供了一种芯片,芯片包括可编程逻辑电路和/或程序指令,当芯片运行时,实现上述第一方面及其各实施方式中的方法或实现上述第二方面及其各实施方式中的方法。
30.本技术提供的技术方案带来的有益效果至少包括:
31.上层设备根据终端发送的环绕播放请求确定播放时间信息,然后根据播放时间信息以及环绕播放请求中的旋转机位信息生成旋转分片。由于旋转分片中包含旋转机位信息所指示的旋转范围内的多个机位对应的gop,终端在接收到旋转分片后,对旋转分片进行解码即可实现对视频画面的环绕播放,且播放的视频画面的分辨率可以与旋转分片中的视频图像的分辨率相同。因此本技术实施例提供的视频播放方法不受限于前端拍摄采用的摄像机数量,应用范围广。另外,上层设备可以是视频分发服务器或网络设备,可以减小对视频处理服务器的处理性能的要求,实现可靠性高。
附图说明
32.图1是本技术实施例提供的一种视频播放系统的结构示意图;
33.图2是本技术实施例提供的一种视频分片的结构示意图;
34.图3是本技术实施例提供的一种媒体源侧的摄像机分布场景示意图;
35.图4是本技术实施例提供的一种视频播放方法的流程示意图;
36.图5是本技术实施例提供的一种旋转分片的生成过程示意图;
37.图6是本技术实施例提供的另一种旋转分片的生成过程示意图;
38.图7是本技术实施例提供的一种视频播放装置的结构示意图;
39.图8是本技术实施例提供的另一种视频播放装置的结构示意图;
40.图9是本技术实施例提供的又一种视频播放装置的结构示意图;
41.图10是本技术实施例提供的再一种视频播放装置的结构示意图;
42.图11是本技术实施例提供的还一种视频播放装置的结构示意图;
43.图12是本技术实施例提供的一种视频播放装置的框图。
具体实施方式
44.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
45.图1是本技术实施例提供的一种视频播放系统的结构示意图。如图1所示,该系统包括:媒体源101、视频服务器102和终端103。
46.媒体源101用于提供多路视频流。参见图1,媒体源101包括多个摄像机1011和前端编码器1012。摄像机1011与前端编码器1012连接。每个摄像机1011用于采集一路视频流,并将采集到的视频流传输至前端编码器1012。前端编码器1012用于对多个摄像机1011采集的视频流进行编码,并将编码后的视频流发送给视频服务器102。本技术实施例中,多个摄像机1011用于采集同一焦点区域内不同角度的视频图像,且该多个摄像机1011采集图像的时刻和频率相同。可选地,可以采用相机同步技术实现多个摄像机1011的同步拍摄。图中摄像机的数量仅用作示例性说明,不作为对本技术实施例提供的视频播放系统的限制。多个摄像机可以采用环形排布方式或扇形排布方式等,本技术实施例对摄像机的排布方式不做限定。
47.视频服务器102用于对媒体源101发送的视频流采用ott(over the top)技术进行处理,并将处理后的视频流通过内容分发网络(content delivery network,cdn)分发至终端。cdn是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器。可选
地,参见图1,视频服务器102包括视频处理服务器1021和视频分发服务器1022。视频处理服务器1021用于采用ott技术对视频流进行处理,并将处理后的视频流发送给视频分发服务器1022;视频分发服务器1022用于将视频流分发至终端。其中,视频处理服务器1021也可称为视频处理平台,视频处理服务器1021可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。视频分发服务器1022为边缘服务器。
48.终端103即视频播放端,用于对视频服务器102发送的视频流进行解码播放。可选地,终端103能够通过触控、语音控制、手势控制或遥控器控制等控制方式中一种或多种方式改变播放角度。本技术实施例对触发终端改变播放角度的控制方式不做限定。例如,终端103可以是手机、平板电脑或智能可穿戴设备等能够通过触控方式或语音控制方式改变播放角度的设备。或者,终端103也可以是机顶盒(set top box,stb)等能够通过遥控器的控制改变播放角度的设备。
49.本技术实施例中,视频服务器102与终端103之间基于超文本传输协议(hyper text transfer protocol,http)传输视频流。可选地,媒体源101侧的前端编码器1012或视频服务器102侧的视频处理服务器1021在获取多路视频流后,对每路视频流进行重新编码(也可称为转码)得到gop,并基于gop生成视频分片进行传输。其中,视频分片中通常封装有多个gop,每个gop包括一帧或多帧视频图像。gop是一组时间上的连续视频图像。对视频流进行重新编码得到的gop的时间戳与摄像机对该gop中的视频图像的采集时刻对应。例如,gop的时间戳可以被设置为该gop中最后一帧视频图像的采集时刻。又例如,当gop中包括多帧视频图像时,gop对应有开始时间戳和结束时间戳,开始时间戳为该gop中第一帧视频图像的采集时刻,结束时间戳为该gop中最后一帧视频图像的采集时刻。
50.可选地,gop的时间长度小于或等于100毫秒。gop的时间参数可由管理人员设置。在固定时间长度下,每个gop中包含的视频图像帧数与摄像机的拍摄帧率正相关,即摄像机的拍摄帧率越高,每个gop中包含的视频图像帧数越多。示例地,gop中可以包括2帧视频图像(对应每秒传输帧数(frame per second,fps)为25(简称:25fps))、3帧视频图像(对应30fps)、5帧视频图像(对应50fps)或6帧视频图像(对应60fps)。当然,gop中也可以只包括1帧视频图像或包括更多帧视频图像,本技术实施例对此不做限定。
51.本技术实施例中,视频分片中的gop采用独立传输封装方式编码,使得每个gop可以作为单独的分片(chunk)进行独立传输使用。示例地,视频分片可以采用碎片mp4(fragmented mp4,fmp4)格式进行封装。fmp4格式是运动图像专家组(moving picture expert group,mpeg)提出的mpeg-4标准中定义的流媒体格式。图2是本技术实施例提供的一种视频分片的结构示意图。如图2所示,该视频分片中包括n个封装头和n个数据字段(mdat),每个mdat用于承载一个gop的数据,也即是该视频分片中封装有n个gop,n为大于1的整数。每个封装头中包括moof字段。该视频分片的封装方式也可称为多moof头封装方式。可选地,封装头中还可以包括styp字段和sidx字段。
52.视频服务器102侧的视频处理服务器1021根据外部设置的数据,生成媒体内容索引(也可称为ott索引)。媒体内容索引用于描述每条视频流的信息,媒体内容索引实质上为描述视频流的信息的文件。视频流的信息包括视频流的地址信息以及视频流的时间信息等。视频流的地址信息用于指示该视频流的获取地址,例如视频流的地址信息可以是该视频流对应的统一资源定位符(uniform resource locator,url)地址。视频流的时间信息用
于指示该视频流中每个视频分片的起始时刻和结束时刻。可选地,该媒体内容索引中还可以包括机位信息。机位信息包括机位数量(即媒体源侧的摄像机数量)和每条视频流对应的机位角度。视频流对应的机位角度即摄像机对应的机位角度。
53.示例地,图3是本技术实施例提供的一种媒体源侧的摄像机分布场景示意图。如图3所示,该场景中包括20个摄像机,分别记为摄像机1-20。该20个摄像机采用环形排布方式,用于拍摄同一焦点区域m,拍摄焦点均为点o。可以将其中一个摄像机对应的机位角度设置为0,并对应计算其它摄像机对应的机位角度。例如可以将摄像机4对应的机位角度设置为0
°
,分别计算其它摄像机对应的机位角度,则摄像机9对应的机位角度为90
°
,摄像机14对应的机位角度为180
°
,摄像机19对应的机位角度为270
°
。管理人员可以将摄像机数量以及各个摄像机对应的机位角度输入视频处理服务器,供视频处理服务器生成媒体内容索引。
54.可选地,本技术实施例中的媒体内容索引可以是m3u8文件(可称为hls索引)或媒体演示描述(media presentation description,mpd)文件(可称为dash索引)。其中,m3u8文件是指utf-8编码格式的m3u文件。
55.终端获取视频服务器中的视频内容的过程包括:终端先从视频服务器下载媒体内容索引,通过解析该媒体内容索引得到视频流的信息。终端选择当前需要播放的视频流,并从媒体内容索引中提取该视频流的url地址,然后通过该视频流的url地址向视频服务器发送媒体内容请求。视频服务器接收到该媒体内容请求后,向终端发送对应的视频流。
56.可选地,请继续参见图1,该视频播放系统中还可以包括网络设备104,视频服务器102与终端103之间通过网络设备104连接。网络设备104可以是网关或其它中间设备。当然,视频服务器102与终端103之间也可以直接连接,本技术实施例对此不做限定。
57.图4是本技术实施例提供的一种视频播放方法的流程示意图。该方法可以应用于如图1所示的视频播放系统中。如图4所示,该方法包括:
58.步骤401、当终端接收到旋转指令时,终端生成环绕播放请求。
59.该环绕播放请求中包括旋转机位信息,该旋转机位信息用于指示旋转范围。可选地,当终端获取的媒体内容索引中包括机位信息时,终端接收到旋转指令后,可以根据旋转指令以及机位信息确定起始机位、终止机位和旋转方向,此时旋转机位信息中可以包括起始机位的标识、终止机位的标识和旋转方向。或者,终端接收到旋转指令后,可以根据旋转指令确定旋转角度,此时旋转机位信息中可以包括旋转角度。
60.可选地,当终端在视频播放状态下接收到旋转指令时,终端生成的环绕播放请求用于请求动态环绕播放视频内容。这种情况下,环绕播放请求还用于确定播放开始时刻和播放结束时刻。可选地,环绕播放请求还包括播放时间信息,该播放时间信息包括播放开始时刻、播放结束时刻或环绕播放时长中的一个或多个。
61.可选地,当终端在视频暂停播放状态下接收到旋转指令时,终端生成的环绕播放请求用于请求静态环绕播放视频内容。这种情况下,环绕播放请求还用于确定目标播放时刻。可选地,环绕播放请求中包括该目标播放时刻,该目标播放时刻可以是视频暂停时刻。静态环绕播放视频内容指,对多个机位提供的目标播放时刻对应的视频画面进行环绕播放。
62.在一种可能地实现方式中,当终端在视频播放界面上检测到滑动操作时,终端确定接收到旋转指令。终端根据该滑动操作的滑动信息,确定旋转机位信息,该滑动信息包括
滑动起始位置、滑动长度、滑动方向或滑动角度中的一个或多个。然后终端基于该旋转机位信息生成环绕播放请求。其中,滑动起始位置、滑动长度和滑动方向可以用于确定起始机位、终止机位和旋转方向。滑动角度可以用于确定旋转角度。
63.可选地,滑动起始位置对应起始机位,滑动方向对应旋转方向,滑动长度用于定义切换的机位数量。滑动方向向左表示逆时针旋转,滑动方向向右表示顺时针旋转。滑动长度每达到单位长度,表示切换一个机位。例如单位长度可以设置为1厘米,当滑动长度达到3厘米时,表示切换3个机位。滑动敏感度与单位长度的设置值负相关,即单位长度的设置值越小,滑动敏感度越高。滑动敏感度可根据实际需求设置。
64.示例地,假设滑动方向向右,滑动长度为5厘米,单位长度为1厘米,则表示顺时针旋转切换5个机位。参考图3,假设滑动起始位置对应的起始机位为摄像机9,则终端确定旋转方向为顺时针,终止机位为摄像机14。
65.可选地,当环绕播放请求用于请求动态环绕播放视频内容时,还可通过滑动时长定义环绕播放时长。例如可以使环绕播放时长等于滑动时长。
66.可选地,滑动角度用于确定旋转角度。可以设置旋转角度与滑动角度满足一定关系,例如使旋转角度等于滑动角度;或者使旋转角度等于滑动角度的2倍;等等。当旋转机位信息中包括旋转角度时,还可以采用旋转角度的正负表示旋转方向。例如旋转角度为正值,表示顺时针旋转,旋转角度为负值,表示逆时针旋转。
67.在另一种可能地实现方式中,当终端接收到遥控设备发送的目标遥控指令时,终端确定接收到旋转指令。目标遥控指令中包括遥控按键信息,遥控按键信息包括按键标识和/或按键次数。终端根据该遥控按键信息,确定旋转机位信息。然后终端基于该旋转机位信息生成环绕播放请求。其中,按键标识可以用于确定旋转方向。按键次数可以用于确定切换机位数量。
68.可选地,旋转方向基于按键标识确定。例如,当遥控按键信息中包括左键的标识时,表示旋转方向为逆时针,当遥控按键信息中包括右键的标识时,表示旋转方向为顺时针。当然还可以设置遥控设备上的其它按键控制旋转方向,本技术实施例对此不做限定。按键次数用于定义切换的机位数量,例如按键次数为1,表示切换一个机位。
69.示例地,假设遥控按键信息中包括左键的标识,且按键次数为3,则表示逆时针旋转切换3个机位。参考图3,假设起始机位为摄像机9,则终端根据按键标识确定旋转方向为逆时针,根据按键次数确定切换的机位数量为3,进而确定终止机位为摄像机6。
70.可选地,当环绕播放请求用于请求动态环绕播放视频内容时,还可通过按键时长定义环绕播放时长。例如可以使环绕播放时长等于按键时长。
71.步骤402、终端向上层设备发送环绕播放请求。
72.上层设备指终端的上游设备。可选地,上层设备可以是如图1所示的视频播放系统中的视频服务器(具体可以是视频分发服务器)或网络设备。
73.步骤403、上层设备基于环绕播放请求确定播放时间信息。
74.在本技术的一个可选实施例中,环绕播放请求用于请求动态环绕播放视频内容,则播放时间信息包括播放开始时刻和播放结束时刻。上层设备基于环绕播放请求确定播放时间信息的实现方式包括以下五种:
75.在第一种实现方式中,步骤403的实现过程包括:上层设备根据接收到环绕播放请
求的时刻以及预设的策略,确定播放开始时刻和播放结束时刻。预设的策略中包括预设环绕播放时长。
76.可选地,预设的策略中定义有:将上层设备接收到环绕播放请求时的视频播放时刻作为播放开始时刻,且播放结束时刻与播放开始时刻的间隔时长等于预设环绕播放时长。示例地,上层设备接收到环绕播放请求时的视频播放时刻为00:19:35,预设环绕播放时长为2秒,则上层设备确定播放开始时刻为00:19:35,播放结束时刻为00:19:37。或者,预设的策略中也可以定义:将与环绕播放请求的接收时刻(对应视频播放时刻)间隔一定时长的视频播放时刻作为播放开始时刻,该播放开始时刻在时序上可以位于环绕播放请求的接收时刻之前,或者,该播放开始时刻在时序上也可以位于环绕播放请求的接收时刻之后。示例地,环绕播放请求的接收时刻为00:19:35,播放开始时刻可以为00:19:34,或者,播放开始时刻也可以为00:19:36。
77.在第二种实现方式中,环绕播放请求中包括播放开始时刻和播放结束时刻。则步骤403的实现过程包括:上层设备在环绕播放请求中识别出播放开始时刻和播放结束时刻。
78.可选地,预先定义或预先配置环绕播放请求的指定字段用于携带播放开始时刻和播放结束时刻。其中,预先定义可以是在标准或协议中定义;预先配置可以是上层设备与终端预先协商。上层设备在接收到环绕播放请求后,可以从指定字段中识别出播放开始时刻和播放结束时刻。
79.示例地,环绕播放请求的指定字段中携带有两个时刻,分别为00:19:35和00:19:37,则上层设备确定播放开始时刻为00:19:35,播放结束时刻为00:19:37。
80.在第三种实现方式中,环绕播放请求中包括播放开始时刻。则步骤403的实现过程包括:上层设备根据播放开始时刻以及预设环绕播放时长,确定播放结束时刻。
81.示例地,环绕播放请求中携带的播放开始时刻为00:19:35,预设环绕播放时长为2秒,则上层设备确定播放结束时刻为00:19:37。
82.在第四种实现方式中,环绕播放请求中包括环绕播放时长。则步骤403的实现过程包括:上层设备根据接收到环绕播放请求的时刻以及环绕播放时长,确定播放开始时刻和播放结束时刻。
83.可选地,上层设备确定播放开始时刻和播放结束时刻的方式可参考上述第一种实现方式,本技术实施例在此不再赘述。
84.在第五种实现方式中,环绕播放请求中包括播放开始时刻和环绕播放时长。则步骤403的实现过程包括:上层设备根据播放开始时刻以及环绕播放时长,确定播放结束时刻。
85.示例地,环绕播放请求中携带的播放开始时刻为00:19:35,环绕播放时长为2秒,则上层设备确定播放结束时刻为00:19:37。
86.在本技术的另一个可选实施例中,环绕播放请求用于请求静态环绕播放视频内容,则播放时间信息包括目标播放时刻。可选地,环绕播放请求中包括该目标播放时刻。或者,环绕播放请求中不包括该目标播放时刻,上层设备根据接收到环绕播放请求的时刻确定目标播放时刻,上层设备确定目标播放时刻的方式可参考上述第一种实现方式中上层设备确定播放开始时刻的方式,本技术实施例在此不再赘述。
87.步骤404、上层设备根据旋转机位信息确定起始机位、终止机位和旋转方向。
88.可选地,当旋转机位信息中包括起始机位的标识、终止机位的标识和旋转方向时,上层设备接收到环绕播放请求后,可以根据旋转机位信息中的内容确定起始机位、终止机位和旋转方向。
89.可选地,当旋转机位信息中包括旋转角度时,上层设备接收到环绕播放请求后,根据起始机位和旋转角度,确定终止机位和旋转方向。示例地,参考图3,假设上层设备确定的起始机位为摄像机9,环绕播放请求中携带的旋转角度为-90
°
,则上层设备确定旋转方向为逆时针,终止机位为摄像机4。
90.步骤405、上层设备在沿旋转方向从起始机位至终止机位的机位中确定多个机位。
91.可选地,上层设备确定的多个机位可以包括沿旋转方向从起始机位至终止机位的所有机位。示例地,参考图3,假设起始机位为摄像机9,终止机位为摄像机14,旋转方向为顺时针,则上层设备确定的多个机位依次包括摄像机9、摄像机10、摄像机11、摄像机12、摄像机13和摄像机14。或者,当环绕播放请求用于请求静态环绕播放视频内容时,上层设备确定的多个机位可以包括沿旋转方向从起始机位至终止机位的部分机位。示例地,假设图3中摄像机11的拍摄区域和摄像机13的拍摄区域的并集完全覆盖摄像机12的拍摄区域,则上层设备确定的多个机位中可以不包括摄像机12的拍摄区域。在静态环绕播放摄像机9至摄像机14采集的视频画面时,由于摄像机11拍摄的视频画面和摄像机13拍摄的视频画面包含摄像机12拍摄的视频画面,因此不会导致环绕播放过程中的视频画面突变,进而可以保证环绕播放画面的流畅性。
92.步骤406、上层设备根据旋转机位信息和播放时间信息生成旋转分片。
93.该旋转分片中包括旋转范围内的多个机位对应的gop。可选地,该旋转分片中依次包括沿旋转方向从起始机位起至终止机位的多个机位对应的gop。
94.在本技术的一个可选实施例中,环绕播放请求用于请求动态环绕播放视频内容,旋转分片中的每个gop包括一帧或多帧视频图像。则步骤406的实现过程包括:
95.在步骤4061a中,上层设备获取多个机位中的每个机位对应的从播放开始时刻至播放结束时刻的m个视频分片,m为正整数。
96.示例地,假设该多个机位沿旋转方向依次包括q个机位,播放开始时刻为t1,播放结束时刻为t2,q为大于0的整数,t2>t1,每个机位对应的视频流在时间段(t1,t2)包括m个视频分片。则上层设备分别获取该q个机位在时间段(t1,t2)内对应的m个视频分片。
97.在步骤4062a中,上层设备根据播放时间信息,从每个机位对应的m个视频分片中提取一个或多个gop。
98.可选地,上层设备根据环绕播放时长以及多个机位的数量,确定每个机位对应的gop提取时刻以及gop提取数量,该环绕播放时长等于播放结束时刻与播放开始时刻的差值。上层设备根据每个机位对应的gop提取时刻以及gop提取数量,从每个机位对应的m个视频分片中提取gop。
99.可选地,沿旋转方向排布的两个机位中,前一个机位对应的gop提取时刻在时序上位于后一个机位对应的gop提取时刻之前。每个机位对应的gop提取数量等于环绕播放时长与gop的时间长度以及多个机位的数量的乘积的比值(可对该比值向上取整或向下取整)。
100.示例地,继续参考步骤4061a中的例子,假设每个gop的时间长度为t,每个机位对应的gop提取数量等于(t2-t1)/(q*t)。
101.在步骤4063a中,上层设备对提取的gop进行组装,得到旋转分片。
102.可选地,上层设备按照旋转方向将提取的gop依次进行组装,得到旋转分片,该旋转分片为动态旋转分片。
103.示例地,参考步骤4061a中的例子,假设q=5,m=1,每个视频分片包括5个gop,每个机位对应的gop提取数量为1,请参考图5,图5是本技术实施例提供的一种旋转分片的生成过程示意图。如图5所示,每个机位对应的视频分片中的gop均依次编号为1-5,从第一个机位对应的视频分片中提取编号为1的gop,从第二个机位对应的视频分片中提取编号为2的gop,从第三个机位对应的视频分片中提取编号为3的gop,从第四个机位对应的视频分片中提取编号为4的gop,从第五个机位对应的视频分片中提取编号为5的gop。按照旋转方向将从该5个机位对应的视频分片中提取的gop依次进行组装,得到动态旋转分片。
104.在本技术的另一个可选实施例中,环绕播放请求用于请求静态环绕播放视频内容,旋转分片中的每个gop包括一帧视频图像。则步骤406的实现过程包括:
105.在步骤4061b中,上层设备获取多个机位中的每个机位对应的目标视频分片,该目标视频分片对应的时间段包含目标播放时刻。
106.该目标视频分片对应的时间段包含目标播放时刻,指该目标播放时刻位于目标视频分片的起始时刻和结束时刻之间。
107.在步骤4062b中,上层设备从每个机位对应的目标视频分片中,提取目标播放时刻对应的一个gop。
108.该目标播放时刻对应的一个gop,指该gop中的视频图像的采集时刻为目标播放时刻。
109.在步骤4063b中,上层设备对提取的gop进行组装,得到旋转分片。
110.可选地,上层设备按照旋转方向将提取的gop依次进行组装,得到旋转分片,该旋转分片为静态旋转分片。
111.示例地,假设该多个机位的数量为5,每个视频分片包括5个gop,请参考图6,图6是本技术实施例提供的另一种旋转分片的生成过程示意图。如图6所示,每个机位对应的视频分片中的gop均依次编号为1-5,目标播放时刻对应的gop为编号为2的gop,则从该5个机位中分别提取编号为2的gop。按照旋转方向将从该5个机位对应的视频分片中提取的gop依次进行组装,得到静态旋转分片。
112.可选地,旋转分片包含的gop数量与其它视频分片包含的gop数量可以相同,也可以不同,例如旋转分片包含的gop数量可以少于其它视频分片包含的gop数量,本技术实施例对此不做限定。
113.可选地,当上层设备为网络设备时,上层设备接收到环绕播放请求后,先从视频服务器下载媒体内容索引,通过解析该媒体内容索引得到视频流的信息。上层设备从媒体内容索引中提取多个机位中每个机位对应的视频流的url地址,然后通过视频流的url分别获取对应的视频分片。
114.步骤407、上层设备向终端发送旋转分片。
115.可选地,当环绕播放请求用于请求动态环绕播放视频内容时,上层设备向终端发送旋转分片后,继续向终端发送终止机位对应的视频流,使得终端能够流畅地从起始机位对应的播放画面切换至终止机位对应的播放画面。当环绕播放请求用于请求静态环绕播放
视频内容时,上层设备向终端发送旋转分片后,停止向终端发送视频数据。
116.步骤408、终端对旋转分片进行解码播放。
117.终端对旋转分片进行解码播放,能够实现对沿旋转方向从起始机位起至终止机位中的多个机位对应的视频画面的环绕播放。其中,终端播放的视频画面的分辨率可以与旋转分片中的视频图像的分辨率相同。
118.本技术实施例提供的方法实施例步骤的先后顺序能够进行适当调整,步骤也能够根据情况进行相应增减。任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本技术的保护范围之内,因此不再赘述。
119.综上所述,在本技术实施例提供的视频播放方法中,上层设备根据终端发送的环绕播放请求确定播放时间信息,然后根据播放时间信息以及环绕播放请求中的旋转机位信息生成旋转分片。由于旋转分片中包含旋转机位信息所指示的旋转范围内的多个机位对应的gop,终端在接收到旋转分片后,对旋转分片进行解码即可实现对视频画面的环绕播放,且播放的视频画面的分辨率可以与旋转分片中的视频图像的分辨率相同。因此本技术实施例提供的视频播放方法不受限于前端拍摄采用的摄像机数量,应用范围广。另外,上层设备可以是视频分发服务器或网络设备,可以减小对视频处理服务器的处理性能的要求,实现可靠性高。
120.图7是本技术实施例提供的一种视频播放装置的结构示意图。该装置用于上层设备,例如,该上层设备可以是如图1所示的视频播放系统中的视频服务器或网络设备。如图7所示,该装置70包括:
121.接收模块701,用于接收终端发送的环绕播放请求,该环绕播放请求中包括旋转机位信息,该旋转机位信息用于指示旋转范围。
122.第一确定模块702,用于基于环绕播放请求确定播放时间信息。
123.生成模块703,用于根据旋转机位信息和播放时间信息生成旋转分片,该旋转分片中包括旋转范围内的多个机位对应的图像组gop,gop包括一帧或多帧视频图像。
124.发送模块704,用于向终端发送旋转分片。
125.可选地,播放时间信息包括播放开始时刻和播放结束时刻,生成模块703,用于:
126.获取多个机位中的每个机位对应的从播放开始时刻至播放结束时刻的m个视频分片,m为正整数;根据播放时间信息,从每个机位对应的m个视频分片中提取一个或多个gop;对提取的gop进行组装,得到旋转分片。
127.可选地,生成模块703,具体用于:根据环绕播放时长以及多个机位的数量,确定每个机位对应的gop提取时刻以及gop提取数量,该环绕播放时长等于播放结束时刻与播放开始时刻的差值;根据每个机位对应的gop提取时刻以及gop提取数量,从每个机位对应的m个视频分片中提取gop。
128.可选地,播放时间信息包括目标播放时刻,生成模块703,用于:
129.获取多个机位中的每个机位对应的目标视频分片,目标视频分片对应的时间段包含目标播放时刻;从每个机位对应的目标视频分片中,提取该目标播放时刻对应的一个gop,gop包括一帧视频图像;对提取的gop进行组装,得到旋转分片。
130.可选地,如图8所示,装置70还包括:
131.第二确定模块705,用于根据旋转机位信息确定起始机位、终止机位和旋转方向。
132.第三确定模块706,用于在沿旋转方向从起始机位起至终止机位的机位中确定多个机位;
133.生成模块703,用于按照旋转方向将提取的gop依次进行组装,得到旋转分片。
134.可选地,第一确定模块702,用于根据接收到环绕播放请求的时刻以及预设的策略,确定播放开始时刻和播放结束时刻,预设的策略中包括预设环绕播放时长;或者,环绕播放请求中包括播放开始时刻和播放结束时刻,第一确定模块702,用于在环绕播放请求中识别出播放开始时刻和播放结束时刻;或者,环绕播放请求中包括播放开始时刻,第一确定模块702,用于根据播放开始时刻以及预设环绕播放时长,确定播放结束时刻;或者,环绕播放请求中包括环绕播放时长,第一确定模块702,用于根据接收到环绕播放请求的时刻以及环绕播放时长,确定播放开始时刻和播放结束时刻;或者,环绕播放请求中包括播放开始时刻和环绕播放时长,第一确定模块702,用于根据播放开始时刻以及环绕播放时长,确定播放结束时刻。
135.可选地,gop采用独立传输封装方式编码。
136.综上所述,在本技术实施例提供的视频播放装置中,上层设备通过第一确定模块根据终端发送的环绕播放请求确定播放时间信息,然后通过生成模块根据播放时间信息以及环绕播放请求中的旋转机位信息生成旋转分片。由于旋转分片中包含旋转机位信息所指示的旋转范围内的多个机位对应的gop,终端在接收到旋转分片后,对旋转分片进行解码即可实现对视频画面的环绕播放,且播放的视频画面的分辨率可以与旋转分片中的视频图像的分辨率相同。因此本技术实施例提供的视频播放方法不受限于前端拍摄采用的摄像机数量,应用范围广。另外,上层设备可以是视频分发服务器或网络设备,可以减小对视频处理服务器的处理性能的要求,实现可靠性高。
137.图9是本技术实施例提供的又一种视频播放装置的结构示意图。该装置用于终端,例如,该装置可以是如图1所示的视频播放系统中的终端103。如图9所示,该装置90包括:
138.发送模块901,用于当终端接收到旋转指令时,向上层设备发送基于旋转指令生成的环绕播放请求,该环绕播放请求中包括旋转机位信息,该旋转机位信息用于指示旋转范围。
139.接收模块902,用于接收上层设备发送的旋转分片,该旋转分片中包括旋转范围内的多个机位对应的图像组gop,gop包括一帧或多帧视频图像。
140.播放模块903,用于对旋转分片进行解码播放。
141.可选地,如图10所示,装置90还包括:
142.第一确定模块904,用于当终端在视频播放界面上检测到滑动操作时,确定接收到旋转指令;
143.第二确定模块905,用于根据滑动操作的滑动信息,确定旋转机位信息,滑动信息包括滑动起始位置、滑动长度、滑动方向或滑动角度中的一个或多个;
144.生成模块906,用于基于旋转机位信息生成环绕播放请求。
145.可选地,如图11所示,装置90还包括:
146.第三确定模块907,用于当终端接收到遥控设备发送的目标遥控指令时,确定接收到旋转指令,目标遥控指令中包括遥控按键信息,遥控按键信息包括按键标识和/或按键次数;
147.第四确定模块908,用于基于遥控按键信息,确定旋转机位信息;
148.生成模块906,用于基于旋转机位信息生成环绕播放请求。
149.综上所述,在本技术实施例提供的视频播放装置中,终端接收到旋转指令后通过发送模块向上层设备发送环绕播放请求,然后通过接收模块接收上层设备发送的旋转分片。由于旋转分片中包含旋转机位信息所指示的旋转范围内的多个机位对应的gop,终端在接收到旋转分片后,通过播放模块对旋转分片进行解码即可实现对视频画面的环绕播放,且播放的视频画面的分辨率可以与旋转分片中的视频图像的分辨率相同。因此本技术实施例提供的视频播放方法不受限于前端拍摄采用的摄像机数量,应用范围广。另外,上层设备可以是视频分发服务器或网络设备,可以减小对视频处理服务器的处理性能的要求,实现可靠性高。
150.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
151.本技术实施例还提供了一种视频播放系统,该系统包括:上层设备和终端。上层设备包括如图7或图8所示的视频播放装置,终端包括如图9至图11任一所示的视频播放装置。
152.图12是本技术实施例提供的一种视频播放装置的框图。该视频播放装置可以是上层设备或终端,上层设备可以是视频服务器或网络设备,终端可以是手机、平板电脑、智能可穿戴设备或机顶盒等。如图12所示,该视频播放装置120包括:处理器1201和存储器1202。
153.存储器1202,用于存储计算机程序,所述计算机程序包括程序指令;
154.处理器1201,用于调用所述计算机程序,实现如图4所示的视频播放方法中上层设备执行的动作或终端执行的动作。
155.可选地,该视频播放装置120还包括通信总线1203和通信接口1204。
156.其中,处理器1201包括一个或者一个以上处理核心,处理器1201通过运行计算机程序,执行各种功能应用以及数据处理。
157.存储器1202可用于存储计算机程序。可选地,存储器可存储操作系统和至少一个功能所需的应用程序单元。操作系统可以是实时操作系统(real time executive,rtx)、linux、unix、windows或os x之类的操作系统。
158.通信接口1204可以为多个,通信接口1204用于与其它存储设备或网络设备进行通信。例如在本技术实施例中,上层设备的通信接口可以用于向终端发送旋转分片,终端的通信接口可以用于向上层设备发送环绕播放请求。网络设备可以是交换机或路由器等。
159.存储器1202与通信接口1204分别通过通信总线1203与处理器1201连接。
160.本技术实施例还提供了一种计算机存储介质,所述计算机存储介质上存储有指令,当所述指令被计算机设备的处理器执行时,实现如上述方法实施例所述的视频播放方法中上层设备执行的动作或者终端执行的动作。
161.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
162.在本技术实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
163.本技术中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种
关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
164.以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜