Vr视频播放方法、终端及服务器

文档序号:1759126 发布日期:2019-11-29 浏览:15次 >En<

阅读说明:本技术 Vr视频播放方法、终端及服务器 (VR video broadcasting method, terminal and server ) 是由 彭巧巧 于 2018-05-22 设计创作,主要内容包括:本申请提供一种VR视频播放方法、终端及服务器,该方法包括:终端向服务器发送虚拟现实VR视频请求消息,所述VR视频请求消息包括待播放视频的标识;接收所述服务器发送的VR视频响应消息,所述VR视频响应消息指示所述待播放视频的N个子码流分别对应的组播地址;根据用户当前视角确定目标子码流,根据所述目标子码流对应的组播地址获取所述目标子码流。实现了为待播放视频的每个子码流分配组播地址,进而终端可以根据当前视角确定需要的子码流,并获取这些目前需要的子码流即可,无需接收整个待播放视频的视频流,从而大大节省了带宽。(The application provides a kind of VR video broadcasting method, terminal and server, this method comprises: terminal to server sends Virtual Reality video request message, the VR video request message includes the mark of video to be played;The VR video response message that the server is sent is received, the VR video response message indicates the corresponding multicast address of N number of subcode stream of the video to be played;Target subcode stream is determined according to user&#39;s current visual angle, and the target subcode stream is obtained according to the corresponding multicast address of the target subcode stream.It realizes and distributes multicast address for each subcode stream of video to be played, and then terminal can determine the subcode stream needed according to current visual angle, and these subcode streams needed at present are obtained, without receiving the video flowing of entire video to be played, so that bandwidth be greatly saved.)

VR视频播放方法、终端及服务器

技术领域

本申请涉及虚拟现实领域,尤其涉及一种VR视频播放方法、终端及服务器。

背景技术

虚拟现实(Virtual Reality,VR)是计算机构造出虚拟环境,这一环境可以来自复制的真实世界,也可以是想象的灵境,人在这一具备立体空间信息的虚拟环境中进行实时的互动。其中,VR 360全景视频,也称为“全景视频”,或者“VR360视频”。VR 360视频提供了观察者所在物理位置上水平方向(经度)360度、垂直方向(纬度)180度全包围的物理空间视域,用户可以通过改变头部的位置、或者通过鼠标、遥控器等输入设备实现视角的切换,从而带来身临其境的体验。

随着技术的发展和用户体验要求的提高,VR视频的分辨率也不断提升。对于VR360视频来说,用户实际观看VR 360视频的一小部分,如果整个视频都采用传统的编码和传输方式,将会存在大量的带宽浪费。

发明内容

本申请提供一种VR视频播放方法、终端及服务器,用于解决现有VR视频播放过程中带宽浪费较大的问题。

本申请第一方面提供一种VR视频播放方法,包括:

终端向服务器发送虚拟现实VR视频请求消息,所述VR视频请求消息包括待播放视频的标识;

所述终端接收所述服务器发送的VR视频响应消息,所述VR视频响应消息指示所述待播放视频的N个子码流分别对应的组播地址;

所述终端根据用户当前视角确定目标子码流,根据所述目标子码流对应的组播地址获取所述目标子码流。

一种可能的设计方式中,所述VR视频响应消息还包括:N个所述子码流的特征描述信息,所述特征描述信息包括:子码流的空间位置信息和子码流的画面质量描述信息。

一种可能的设计方式中,所述终端根据用户当前视角确定目标子码流,包括:

所述终端根据用户当前视角、以及N个所述子码流的特征描述信息,确定目标子码流,所述目标子码流包括至少一个子码流。

一种可能的设计方式中,所述终端根据用户当前视角、以及N个所述子码流的特征描述信息,确定目标子码流,包括:

所述终端根据用户当前视角、以及N个所述子码流的特征描述信息,选择当前视角覆盖区域的子码流为高分辨率子码流、选择当前视角覆盖区域以外区域的码流为低分辨率码流。

一种可能的设计方式中,所述VR视频响应消息还指示所述待播放视频的N个子码流动态自适应流分别对应的单播地址;

所述终端根据所述目标子码流对应的组播地址获取所述目标子码流之前,还包括:

所述终端根据所述目标子码流对应的子码流动态自适应流的单播地址,获取所述目标子码流对应的子码流动态自适应流。

本申请第二方面提供一种VR视频播放方法,包括:

服务器接收终端发送的VR视频请求消息,所述VR视频请求消息包括待播放视频的标识;

所述服务器根据所述待播放视频的标识,向所述终端发送VR视频响应消息,所述VR 视频响应消息指示所述待播放视频的N个子码流分别对应的组播地址。

一种可能的设计方式中,所述服务器接收终端发送的VR视频请求消息之前,还包括:

服务器确定待播放视频的N个子码流、以及每个所述子码流对应的组播地址,N为大于 1的整数;

所述服务器将N个所述子码流分别传输到对应的组播地址。

一种可能的设计方式中,所述VR视频响应消息还包括:N个所述子码流的特征描述信息。

本申请第三方面提供一种终端,包括用于执行上述第一方面以及第一方面的各种实现方式所提供的方法的模块或手段(means)。

本申请第四方面提供一种服务器,包括用于执行上述第二方面以及第二方面的各种实现方式所提供的方法的模块或手段(means)。

本申请第五方面提供一种终端,包括:存储器、处理器以及通信接口;

所述存储器用于存储程序,所述通信接口用于与其他设备进行有线或无线通信;

所述处理器调用存储器存储的程序,以执行上述第一方面以及第一方面的各种实现方式所提供的方法。

本申请第六方面提供一种服务器,包括:存储器、处理器以及通信接口;

所述存储器用于存储程序,所述通信接口用于与其他设备进行有线或无线通信;

所述处理器调用存储器存储的程序,以执行上述第二方面以及第二方面的各种实现方式所提供的方法。

本申请第七方面提供一种计算机存储介质,该计算机存储介质用于存储程序,该程序用于执行上述第一~第二方面所述的任意一种方法。

本申请提供的VR视频播放方法、终端及服务器中,终端向服务器发送VR视频请求消息,服务器向终端发送VR视频响应消息,该VR视频响应消息指示上述待播放视频的N个子码流分别对应的组播地址,进而终端根据用户当前视角确定目标子码流,并在该目标子码流对应的组播地址获取目标子码流。实现了为待播放视频的每个子码流分配组播地址,进而终端可以根据当前视角确定需要的子码流,并获取这些目前需要的子码流即可,无需接收整个待播放视频的视频流,从而大大节省了带宽。

附图说明

图1为本申请一实施例提供的VR系统结构示意图;

图2为本申请一实施例提供的VR视频播放方法流程示意图;

图3为本申请一实施例提供的VR视频播放方法中时延示意图;

图4为本申请另一实施例提供的VR视频播放方法中时延示意图;

图5为本申请一实施例提供的终端结构示意图;

图6为本申请一实施例提供的服务器结构示意图。

具体实施方式

图1为本申请一实施例提供的VR系统结构示意图,如图1所示,该系统包括:服务器01和终端02。

服务器02和终端01可以通过有线或无线的网络进行通信,具体地,终端02需要通过网络向服务器02请求视频。

终端01可以是计算机、电脑、VR眼镜、平板电脑等各种支持VR播放的设备,本申请不具体限制。

服务器02还可以与摄像设备连接,获取视频资源,这里摄像设备可以摄像头、摄像机等。

服务器02将处理好的视频放在服务器02上,终端01可以通过向服务器02请求获取视频存储的地址。

基于视角(Field Of View,FOV)的传输方案中,有一种混合传输方案,业界称为基于块(tile-based)的传输方案。该方案将全景帧分成多个子块编码,每个子块可以独立传输和解码;每个子块称为一个“tile”。另外,再编码一个低分辨率的全景视频流,该低分辨率全景视频流可以对原始的全景视频流降码率或者降分辨率来实现。

终端根据要显示的视角和方位向服务器申请所需要的高分辨率tile码流+低分辨率全景视频流,用户视角区域看到的是高分辨率tile码流,切换视角时,可以立即看到低分辨率全景码流对应的画面,同时请求新视角对应的高分辨率tile码流。

但是目前的方案都是将整个视频流基于一个组播地址实现,即整个视频流放在一个组播地址,不便于tile-based的传输方案实现,本申请针对VR视频的组播播放方式,提出一种新的播放方法来实现上述tile具体如何处理。

图2为本申请一实施例提供的VR视频播放方法流程示意图,如图2所示,该方法包括:

S201、终端向服务器发送VR视频请求消息。

该VR视频请求消息包括待播放视频的标识。

具体实现时,终端上可以安装VR播放的应用程序(APP),终端在接入网络后,通过APP来发送VR视频请求消息。可以是用户在终端的APP上进行操作,指示需要播放视频, APP就向服务器发送VR视频请求消息,但不以此为限。

S202、服务器向终端发送VR视频响应消息,该VR视频响应消息指示上述待播放视频的N个子码流分别对应的组播地址。

本实施例中,为每个子码流配置一个组播地址,VR视频响应消息中可以携带子码流的标识,以及每个子码流对应的组播地址。即终端会获取360全景视频包含的所有子码流的标识 (ID)以及对应的组播地址。

S203、终端根据用户当前视角确定目标子码流,在该目标子码流对应的组播地址获取目标子码流。

终端获取到360全景视频包含的所有子码流的标识以及对应的组播地址后,根据当前的视角区域,即用户正要观看的视角区域,决定需要接收哪些子码流,进而从这些需要接收的子码流对应的组播地址获取子码流。

接收到目标子码流之后,终端采用处理360全景视频一样的方式,对这些子码流进行解码、渲染,然后播放给用户。

本实施例中,终端向服务器发送VR视频请求消息,服务器向终端发送VR视频响应消息,该VR视频响应消息指示上述待播放视频的N个子码流分别对应的组播地址,进而终端根据用户当前视角确定目标子码流,并在该目标子码流对应的组播地址获取目标子码流。实现了为待播放视频的每个子码流分配组播地址,进而终端可以根据当前视角确定需要的子码流,并获取这些目前需要的子码流即可,无需接收整个待播放视频的视频流,从而大大节省了带宽。

具体实现时,服务器先确定待播放视频的N个子码流、以及每个所述子码流对应的组播地址,并将N个子码流分别传输到对应的组播地址。其中,N为大于1的整数。

根据业务规划,服务器对待播放视频(可以是360全景视频流)进行内容准备。具体可以包括实时采集,并根据待播放视频的子码流配置信息进行子码流划分、编码/转码、封装等。

更具体地,上述待播放视频的子码流配置包含该待播放视频的每一路子码流的特征描述信息。

特征描述信息包含子码流的空间位置信息和子码流的画面质量描述信息。其中,子码流的空间位置信息是指该子码流相对于其所属待播放视频的位置关系,包括子码流在待播放视频中的坐标、占据的分辨率等信息;子码流的画面质量描述信息可以是子码流的码率、分辨率等信息。

服务器会生成与子码流配置信息(Tile配置信息)相匹配的多路子码流,例如可以是高分辨率tile的码流+低分辨率全景码流,也可以是多个质量等级的tile码流。每一路子码流是一路可独立解码的码流,并且可能是单个的tile码流,也可能是低分辨率全景码流。即将高分辨率全景码流划分为多个子码流,低分辨率全景码流可以不划分子码流。

Tile配置信息可以如表1所示,

表1

表1中空间位置信息说明:以Tile0对应的[0,0,1280,640,1280,640]为例,第0~1个数字即0,0表示该Tile在待播放视频中对应的左上角的坐标,第2~3个数字即1280、640表示该 Tile在待播放视频中对应的右下角的坐标,第4~5个数字即1280、640表示该Tile的图像分辨率。

进而为每个子码流分配组播地址,把每个子码流放到对应的组播地址。具体地,可以由操作人员在服务器为待播放视频的每一路子码流分配组播地址,也可以是服务器根据预设规则自动为待播放视频的每一路子码流分配组播地址,本申请不做限制。

相应地,一种实施例中,上述VR视频响应消息还可以包括:N个子码流的特征描述信息。该特征描述信息包括:子码流的空间位置信息和子码流的画面质量描述信息。

服务器在获取每个子码流对应的组播地址后,可以生成三元组信息{子码流的标识、子码流的组播地址、子码流的特征描述信息}。在收到终端发送的VR视频请求消息后,将该三元组信息添加到VR视频响应消息发送给终端。

举例说明,服务器生成三元组信息后,可以建立如表2所示的表格信息,

表2

那么终端根据用户当前视角确定目标子码流,可以是终端根据用户当前视角、以及N个子码流的特征描述信息,确定目标子码流。

终端可以获取用户当前视角区域的坐标信息,与各子码流进行匹配,得到当前视角区域对应的子码流,即作为目标子码流。

具体实现过程中,终端根据用户当前视角、以及N个子码流的特征描述信息,确定目标子码流,可以包括:终端根据用户当前视角、以及N个子码流的特征描述信息,选择当前视角覆盖区域的子码流为高分辨率子码流、选择当前视角覆盖区域以外区域的码流为低分辨率码流。

即为了节省带宽,为当前视角覆盖区域提供高分辨率的视频,其他区域播放低分辨率的视频,这样用户变换视角时也可以看到视频,再进一步获取变换后的区域对应的高分辨率子码流即可。

可选地,用户切换视角以后,终端根据新的视角信息,获取新的视角对应的目标子码流,进而选择离开不在视角区域的组播组,并加入新的视角的组播组,根据目标子码流的组播地址接收新的视角对应的目标子码流。

需要说明的是,高分辨率子码流的分辨率大于第一预设阈值,低分辨率码流的分辨率小于第二预设阈值。可选地,低分辨率码流的分辨率相对于高分辨率子码流,可以按照水平和垂直各降一半分辨率来实现。其中,低分辨率码流不划分子码流,可以是全景码流。

上述终端获取的子码流指高分辨率子码流。如表1所示的子码流配置信息,服务器可以生成待播放视频的多路高分辨率子码流和一路低分辨率全景码流。

假设要对一个4K 360全景视频进行组播(分辨率为3840*1920),该360全景视频的ID 为A1234,该360全景视频的Tile配置信息为高分辨率tile+低分辨率全景码流(不分tile) 的方式,例如可以将高分辨率按照3*3均匀划分为9个tile,低分辨率全景码流按照水平和垂直各降一半分辨率来实现。

其中,低分辨率全景码流可以按照普通视频的编码方式生成即可,高分辨率tile可按高性能视频编码(High Efficiency Video Coding,HEVC)标准的Tile编码方式进行tile编码。需要注意运动预测时运动矢量在时间和空间上不跨tile边界,以保证每个tile可以独立解码。编码完成后再进行码流抽取,一个tile对应一路码流文件,也可以在编码前按照表1的tile 划分方式将待播放视频的每一帧分割为9个子图像视频,每个子图像视频用一路普通视频编码器编码完成。

举例说明,参照表2,假如当前视角覆盖区域对应的左上角和右下角的坐标分别为[1000, 640]、[1960,1280],那么根据VR视频响应消息可知,该视角范围覆盖Tile3和Tile4的区域,则终端可以申请加入Tile3和Tile4对应的组播地址232.151.62.226、232.198.224.57中(由表 2可知,tile3和tile4的子码流的码率为2Mbps,为高分辨率的子码流)。

假如用户水平转头,将视角切换到了[2000,640],[2960,1280]对应的区域,那么新视角范围覆盖Tile4和Tile5的区域,Tile5进入到当前视角覆盖区域,Tile3离开当前视角覆盖区域。那么终端可以增加申请加入Tile5对应的组播地址232.58.166.100,并申请离开Tile3对应的组播地址232.151.62.226。

整个过程中,对于低分辨率全景码流,终端始终加入该低分辨率全景码流的组播地址 232.18.94.216中。

可选地,低分辨率全景码流也可以划分为N个低分辨率子码流。

终端根据用户当前视角、以及N个所述子码流的特征描述信息,确定目标子码流,包括:终端根据用户当前视角、以及N个所述子码流的特征描述信息,选择当前视角覆盖区域的子码流为高分辨率子码流、选择当前视角覆盖区域以外区域的子码流为低分辨率子码流。

例如:可以按3*3分成高、低两种质量的子码流,子码流的数量共18路,服务器可类似按照上述的实施方式,生成id为0~17共18路子码流分别对应的组播地址,其中,0~8对应高分辨率的9路子码流,9~17对应低分辨率的9路子码流。假如当前视角区域对应的坐标区域对应的左上角和右下角的坐标分别为[1000,640]、[1960,1280],该视角范围覆盖Tile3和 Tile4的区域,则终端可以申请加入高清Tile3和Tile4对应的组播地址,并且加入其余区域对应的低分辨率子码流对应的组播地址,即加入子码流ID为9、10、11、14、15、16、17的低分辨率子码流对应的组播地址。假如用户水平转头,将视角切换到了[2000,640]、[2960,1280] 对应的区域,那么新视角范围覆盖Tile4和Tile5的区域,那么终端需要加入的子码流id为4、 5、9、10、11、12、15、16、17,对应的操作就是离开子Tile3的组播地址,加入Tile5的组播地址。

可选地,申请加入或离开某组播地址可以是通过向终端对应的网关发送标准的网路群组管理协议(Internet Group Management Protocol,IGMP)加入(Join)或离开组(Leave Group) 消息来实现。例如,终端的标识(或者终端上所安装APP的标识)为190.50.10.40,想要申请加入组播地址232.198.224.57,则消息格式可以为:

“……190.50.10.40 232.198.224.57 IGMP V2 Membership Report/Join group232.198.224.57……”。

又例如,上述终端想要申请加入两个组播地址232.198.224.57和232.58.166.100,则可通过向该终端对应的网关发送两条IGMP Join的消息,具体的消息可以为:

“……190.50.10.40 232.198.224.57 IGMP V2 Membership Report/Join group232.198.224.57……”;

“……190.50.10.40 232.58.166.100 IGMP V2 Membership Report/Join group232.58.166.100……”。

下载到多个高清tile对应的码流后,可以独立解码每路高清tile,也可以将多个tile高清码流合并成一路解码,最后按照VR视频播放渲染的方式,根据解码图像的位置信息将其投影到球面对应的视角区域内,并将用户视角区域图像截取出来呈现给用户。

需要说明的是,上述服务器也可以是多个服务器构成的系统,例如可以包括:头端服务器、管理服务器、视频流服务器。

其中,头端服务器对待播放视频(可以是360全景视频流)进行内容准备。具体可以包括实时采集,并根据待播放视频的子码流配置信息进行子码流划分、编码/转码、封装等。

头端服务器与子码流配置(Tile配置信息)相匹配的多路子码流传输到视频流服务器。

管理服务器类似于传统视频的组播,该部件也是视频组播业务的管理平台,操作员可通过管理服务器为视频流规划配置组播地址(例如为每个子码流分配组播地址),启动视频流组播业务。终端向管理服务器发送VR视频请求消息,也由管理服务器生成并发送VR视频响应消息。

视频流服务器用于存储需要播放的视频数据,并根据管理服务器指示的组播地址,将视频数据放于对应的组播地址。本申请中,管理服务器会指示各子码流对应的组播地址,视频服务器将待播放视频的各子码流存入对应的组播地址。

当然,头端服务器、管理服务器、视频流服务器也可以集成于一个服务器,本申请不做限制。

另一可选地实施例中,VR视频响应消息还指示播放视频的N个子码流动态自适应流分别对应的单播地址。

动态自适应流可以指基于超文本传输协议(HyperText Transfer Protocol,HTTP)的动态自适应流(Dynamic Adaptive Streaming over HTTP,DASH)。

具体地,服务器在准备好待播放视频的N个子码流后,得到子码流的实时传输协议(Real-time Transport Protocol,RTP)数据包,例如可以向视频服务器注入子码流的RTP数据包。还可以将子码流进行DASH-空间表示描述(DASH Spatial RepresentationDescription, DASH-SRD)封装、切片,得到各子码流的DASH分片,并将子码流的DASH分片转换为RTP组播数据流。进而分配DASH分片的服务地址,并建立待播放视频和DASH分片的服务地址之间的关联关系。DASH分片对应的也是待播放视频的高分辨率子码流。

其中封装、切片后的DASH分片会存储在单播服务器上DASH分片对应的服务地址(单播地址)。

DASH分片和子码流的RTP数据包分别采用独立的接口。

终端的VR视频请求消息不仅请求待播放视频的组播地址,还请求待播放视频的单播地址。服务器返回的VR视频响应消息中,除了携带待播放视频的N个子码流对应的组播地址,还携带待播放视频的DASH分片对应的单播地址。

这一实施例中,在发生视角切换时,首先需要通过DASH分片对应的单播地址去请求新视角的子码流数据,即在新视角覆盖区域对应的子码流的DASH分片单播地址获取高分辨子码流,并进行解码显示,等到组播到达播放同步点之后再显示组播的数据(即在新视角覆盖区域对应的子码流的组播地址获取到目标子码流之后再显示组播的数据),并停止请求DASH 单播的数据。

图3为本申请一实施例提供的VR视频播放方法中时延示意图。图4为本申请另一实施例提供的VR视频播放方法中时延示意图。

本实施例提供的方案,比单纯采用子码流的组播方式,可以降低视角切换过程中获取高清子码流的时延。

如图3所示为图2所示实施例中,单纯采用子码流的组播方式产生的时延,图4为本实施例中,增加了DASH分片方式产生的时延,可以看出,在用户视角变换过程中,图4对应的实施例中,用户变换视角后可以在更短时间内看到高分辨率视频。

其中即时解码刷新(Instantaneous Decoding Refresh,IDR)帧表示内部画面(I)帧的第一帧。

举例说明,参照表2,假如用户当前视角对应的左上角和右下角的坐标分别为[1000,640]、 [1960,1280],该视角范围覆盖Tile3和Tile4的区域,则终端当前加入的组播组为Tile3、Tile4 以及低分辨率全景视频对应的地址中。

假如用户在当前图像群组(Group of Pictures,GOP)300ms的时刻水平转头(假设编码参数为GOP为2秒,DASH分片时长2秒),将视角变换到了[2000,640]、[2960,1280]对应的区域,该视角覆盖Tile4和Tile5的区域,即Tile5进入当前视角,Tile3离开当前视角,那么终端需要重新请求Tile5的高分辨率视频,具体可以在申请加入Tile5对应的组播地址232.58.166.100的同时,向单播服务器请求下载Tile5的DASH分片(高分辨率分片)。假设在当前GOP 500ms的时刻Tile5的DASH分片到达,则终端会另开启一路解码器加速解码该DASH分片,假设在GOP 1000ms时,Tile5的DASH分片解码到达当前播放的时刻,则可以以该DASH分片的高分辨率数据覆盖掉对应区域的低分辨率数据。

一种可能是,假设在GOP 500ms的时刻终端也同时加入了Tile5的组播地址,但当前接收的组播数据没有I帧,无法解码,那么需要等到下一个GOP的开始时刻才能开始Tile5的组播数据解码,即等待1500ms开始解码Tile5的组播数据(下一个GOP)并显示,此后不再进行Tile5的DASH分片请求。

图5为本申请一实施例提供的终端结构示意图,如图5所示,该终端包括:存储器501、处理器502以及通信接口503。

其中,存储器501用于存储程序。

通信接口503,用于与其他设备进行有线或无线通信。

处理器502,调用存储器501存储的程序,以执行下述方法:

向服务器发送虚拟现实VR视频请求消息,所述VR视频请求消息包括待播放视频的标识;接收所述服务器发送的VR视频响应消息,所述VR视频响应消息指示所述待播放视频的N个子码流分别对应的组播地址;根据用户当前视角确定目标子码流,根据所述目标子码流对应的组播地址获取所述目标子码流。

本实施例中,终端向服务器发送VR视频请求消息,服务器向终端发送VR视频响应消息,该VR视频响应消息指示上述待播放视频的N个子码流分别对应的组播地址,进而终端根据用户当前视角确定目标子码流,并在该目标子码流对应的组播地址获取目标子码流。实现了为待播放视频的每个子码流分配组播地址,进而终端可以根据当前视角确定需要的子码流,并获取这些目前需要的子码流即可,无需接收整个待播放视频的视频流,从而大大节省了带宽。

进一步地,VR视频响应消息还包括:N个所述子码流的特征描述信息,所述特征描述信息包括:子码流的空间位置信息和子码流的画面质量描述信息。

一种实施方式中,处理器502,具体用于根据用户当前视角、以及N个所述子码流的特征描述信息,确定目标子码流,所述目标子码流包括至少一个子码流。

另一实施方式中,处理器502,具体用于根据用户当前视角、以及N个所述子码流的特征描述信息,选择当前视角覆盖区域的子码流为高分辨率子码流、选择当前视角覆盖区域以外区域的码流为低分辨率码流。

又一实施方式中,所述VR视频响应消息还指示所述待播放视频的N个子码流动态自适应流分别对应的单播地址。

相应地,处理器502,还用于根据所述目标子码流对应的子码流动态自适应流的单播地址,获取所述目标子码流对应的子码流动态自适应流。

图6为本申请一实施例提供的服务器结构示意图,如图6所示,该服务器包括:存储器 601、处理器602以及通信接口603。

其中,存储器601用于存储程序。

通信接口603,用于与其他设备进行有线或无线通信。

处理器602,调用存储器601存储的程序,以执行下述方法:接收终端发送的VR视频请求消息,所述VR视频请求消息包括待播放视频的标识;根据所述待播放视频的标识,向所述终端发送VR视频响应消息,所述VR视频响应消息指示所述待播放视频的N个子码流分别对应的组播地址。

可选地,处理器602,还用于确定待播放视频的N个子码流、以及每个所述子码流对应的组播地址,N为大于1的整数;将N个所述子码流分别传输到对应的组播地址。

可选地,所述VR视频响应消息还包括:N个所述子码流的特征描述信息。

可选地,当上述实施例的VR视频播放方法中的部分或全部通过软件实现时,上述终端或处理器也可以只包括处理器。用于存储程序的存储器位于上述装置之外,处理器通过电路/ 电线与存储器连接,用于读取并执行存储器中存储的程序。

处理器可以是中央处理器(central processing unit,CPU),网络处理器(network processor, NP)或者CPU和NP的组合。

处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device, PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device, CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。

存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。

上述终端、服务器用于执行前述方法实施例,其实现原理和技术效果类似,在此不再赘述。

本申请还提供一种计算机存储介质,该计算机存储介质用于存储程序,该程序用于执行上述方法。

本申请提供的终端、服务器也可以包括用于执行上述方法的模块或手段(means),实现原理和技术效果与上述方法类似,在此不再赘述。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于事实转移的情感嵌入视频描述方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类