视频播放方法、装置、电子设备及计算机可读存储介质与流程

文档序号:26995524发布日期:2021-10-19 21:31阅读:148来源:国知局
视频播放方法、装置、电子设备及计算机可读存储介质与流程

1.本技术涉及计算机应用领域中视频处理技术,尤其涉及一种视频播放方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.随着视频处理技术的快速发展,视频的播放在生活中得到了广泛应用。一般来说,播放的视频通常是呈现了一个视角画面,如果需要在播放的视频中呈现另一个视角画面,往往通过另一个视角画面替换当前呈现的视角画面来实现;也就是说,视频的播放过程中,同一时刻仅能呈现一个视角画面,呈现内容单一,导致视频的播放效果较差。


技术实现要素:

3.本技术实施例提供一种视频播放方法、装置、电子设备及计算机可读存储介质,能够提升视频播放过程中呈现内容的多样性,提升视频的播放效果。
4.本技术实施例的技术方案是这样实现的:本技术实施例提供一种视频播放方法,包括:获取至少两种视角对应的至少两路视频流,其中,至少两路所述视频流是基于公共时钟确定的采集时间戳采集到的,每路所述视频流中的每个单元视频流对应一个所述采集时间戳;从至少两路所述视频流中,获取每个所述采集时间戳对应的至少两路所述单元视频流,其中,至少两路所述视频流与至少两路所述单元视频流一一对应;拼接至少两路所述单元视频流,获得每个所述采集时间戳对应的一路待播放单元视频流;当每个所述采集时间戳对应的播放时间到达时,播放所述待播放单元视频流。
5.本技术实施例提供一种视频播放装置,包括:视频流获取模块,用于获取至少两种视角对应的至少两路视频流,其中,至少两路所述视频流是基于公共时钟确定的采集时间戳采集到的,每路所述视频流中的每个单元视频流对应一个所述采集时间戳;视频流对齐模块,用于从至少两路所述视频流中,获取每个所述采集时间戳对应的至少两路所述单元视频流,其中,至少两路所述视频流与至少两路所述单元视频流一一对应;视频流拼接模块,用于拼接至少两路所述单元视频流,获得每个所述采集时间戳对应的一路待播放单元视频流;视频流播放模块,用于当每个所述采集时间戳对应的播放时间到达时,播放所述待播放单元视频流。
6.在本技术实施例中,所述视频播放装置还包括视频流采集模块,用于基于所述公共时钟和采集间隔阈值,确定每个所述采集时间戳;基于每个所述采集时间戳,从至少两种
所述视角采集至少两路所述单元视频流;基于所述采集时间戳标记采集到的每路所述单元视频流;组合至少一个所述采集时间戳对应的标记后的至少一个所述单元视频流,得到每路所述视频流。
7.在本技术实施例中,所述视频流采集模块,还用于当每个所述采集时间戳对应的采集时间达到时,向至少两个采集设备发送采集信号;接收至少两个所述采集设备响应于所述采集信号所发送的从至少两种所述视角采集到的至少两路所述单元视频流,其中,至少两个所述采集设备与至少两路所述单元视频流一一对应。
8.在本技术实施例中,所述视频播放装置还包括视角获取模块,用于呈现视角选择控件;响应于作用在所述视角选择控件上的视角选择操作,获得至少两种所述视角。
9.在本技术实施例中,所述视频流获取模块,还用于基于视角与视频标识的对应关系,确定至少两种所述视角对应的至少两个视频标识;向资源设备发送携带至少两个所述视频标识的资源请求;接收所述资源设备响应于所述资源请求所发送的与至少两个所述视频标识对应的编解码信息和至少两路待解码视频流,其中,所述待解码视频流是所述资源设备对所述视频流编码获得的;基于所述编解码信息对至少两路待解码视频流进行解码,得到至少两路所述视频流。
10.在本技术实施例中,所述视频流获取模块,还用于接收所述资源设备响应于所述资源请求所发送的与至少两个所述视频标识对应的至少两路媒体流地址;向内容设备发送携带至少两路所述媒体流地址的视频流请求;接收所述内容设备响应于所述视频流请求所发送的与至少两路所述媒体流地址对应的所述编解码信息和至少两路所述待解码视频流。
11.在本技术实施例中,所述单元视频流包括视频帧图像;所述视频流拼接模块,还用于基于至少两路所述单元视频流对应的路数,确定拼接模板;基于所述拼接模板,拼接至少两路所述视频帧图像,得到待渲染帧图像;将所述待渲染帧图像确定为每个所述采集时间戳对应的一路所述待播放单元视频流。
12.在本技术实施例中,所述单元视频流还包括单元音频流;所述视频流拼接模块,还用于将至少两路所述单元视频流对应的至少两路所述单元音频流混合成一路待播放单元音频流;将所述待渲染帧图像和所述待播放单元音频流,确定为每个所述采集时间戳对应的一路所述待播放单元视频流。
13.在本技术实施例中,所述视频流拼接模块,还用于基于所述拼接模板,拼接至少两路所述视频帧图像,得到初始待渲染帧图像;当所述初始待渲染帧图像的图像尺寸大于尺寸阈值时,缩放至少两路所述视频帧图像,得到至少两路缩放后的视频帧图像;基于所述拼接模板,拼接至少两路所述缩放后的视频帧图像,得到所述待渲染帧图像。
14.在本技术实施例中,所述视频流对齐模块,还用于从至少两路所述视频流中,选择主视频流;从至少一路所述视频流中,基于所述主视频流中每个所述单元视频流对应的所述采集时间戳,确定出至少一路所述单元视频流,其中,至少一路所述视频流是至少两路所述视频流中除所述主视频流之外的所述视频流;将所述主视频流中每个所述单元视频流、以及确定出的至少一路所述单元视频流,确定为每个所述采集时间戳对应的至少两路所述单元视频流。
15.本技术实施例提供一种用于视频播放的电子设备,包括:存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的视频播放方法。
16.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的视频播放方法。
17.本技术实施例至少具有以下有益效果:通过采用同一个公共时钟从至少两种视角采集视频流,使得采集到的至少两路视频流中的单元视频流基于采集时间戳对应;从而,在播放视频时,能够通过采集时间戳拼接至少两路视频流中的至少两路单元视频流,并在每个采集时间戳对应的播放时间到达时,播放拼接出的一路待播放单元视频流;因此,能够实现在同一时刻呈现多个视角画面,提升视频播放过程中呈现内容的多样性,进而,能够提升视频的播放效果。
附图说明
18.图1是本技术实施例提供的视频播放系统的一个可选的架构示意图;图2是本技术实施例提供的视频播放系统的另一个可选的架构示意图;图3是本技术实施例提供的图1中的终端的一种示例性的组成结构示意图;图4是本技术实施例提供的视频播放方法的一个可选的流程示意图;图5是本技术实施例提供的一种示例性的播放待播放单元视频流的界面示意图;图6是本技术实施例提供的视频播放方法的另一个可选的流程示意图;图7是本技术实施例提供的一种示例性的获得至少两种视角的示意图;图8是本技术实施例提供的另一种示例性的获得至少两种视角的示意图;图9是本技术实施例提供的一种视频播放方法的交互流程图;图10是本技术实施例提供的一种拼接模板与路数的对应关系的示意图;图11是本技术实施例提供的一种示例性的实现视频播放方法的模块组成示意图;图12是本技术实施例提供的一种示例性的实现视频播放方法的交互流程图。
具体实施方式
19.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
20.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
21.除非另有定义,本技术实施例所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本技术实施例中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
22.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
23.1)人工智能(ai,artificial intelligence),是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理
论、方法、技术及应用系统。从而,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。或者说,人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。本技术实施例中,可以利用人工智能确定登录账号的待推荐信息(比如,关联度较高的信息),进而基于待推荐信息确定至少两路视频流,以向登录账号呈现至少两路视频流的拼接视频流。
24.2)云技术(cloud technology)是指在广域网或局域网内将硬件、软件和网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
25.3)操作,是一种用于触发设备执行处理的方式,比如,点击操作、双击操作、长按操作、滑动操作、手势操作、接收到的触发指令等;另外,在本技术实施例中的操作可以是单个操作,又可以是多个操作的总称;以及在本技术实施例中的操作可以是触控操作,又可以是非触控操作。
26.4)响应于,用于表示所执行的处理所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
27.5)流媒体(streaming media),是指将一连串数据压缩后,经过网络分段发送,即时传输以供观看音视频的一种技术,流媒体基于流媒体协议进行传输。
28.6)区块链(block chain),是由区块(block)形成的加密的、链式的交易的存储结构。
29.7)区块链网络(block chain network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。
30.一般来说,播放的视频通常是呈现了一个视角画面,如果需要在播放的视频中呈现另一个视角画面,往往通过另一个视角画面替换当前呈现的视角画面来实现;也就是说,视频的播放过程中,同一时刻仅能呈现一个视角画面,呈现内容单一,导致视频的播放效果较差。另外,视频播放时,为了能够实现多个视角画面的切换,需要实现实时流媒体服务,从而视频播放的架构复杂,并且,对后台服务器的资源消耗较大,以及实时性要求较高,在网络性能较差的情况下,视频的播放效果会出现卡顿现象。此外,由一个视角画面向另一个视角画面切换时,需要基于用户的操作生成的切换指令触发,而比如智能电视等终端需要通过借助遥控器才能接收到用户的切换操作,故用于接收用户操作的方式复杂度较高,从而,呈现多视角画面的流程较复杂。
31.基于此,本技术实施例提供一种视频播放方法、装置、电子设备和计算机可读存储介质,能够提升视频播放过程中呈现内容的多样性,进而,能够提升视频的播放效果,还能够简化多视角画面的呈现流程。下面说明本技术实施例提供的用于视频播放的电子设备(以下简称为视频播放设备)的示例性应用,本技术实施例提供的视频播放设备可以实施为智能手机、智能手表、笔记本电脑、平板电脑、台式计算机、智能电视、机顶盒、智能车载设备、便携式音乐播放器、个人数字助理、专用消息设备、便携式游戏设备和智能音箱等各种类型的终端,也可以实施为服务器。下面,将说明视频播放设备实施为终端时的示例性应用。
32.参见图1,图1是本技术实施例提供的视频播放系统的一个可选的架构示意图;如
图1所示,为支撑一个视频播放应用,在视频播放系统100中,终端200(视频播放设备,示例性示出了终端200

1和终端200

2)通过网络300连接服务器400(资源设备),网络300可以是广域网或者局域网,又或者是二者的组合;并且,图1中示出的为数据库500独立于服务器400的一种情况,另外,数据库500还可以集成在服务器400中,本技术实施例对此不作限定。
33.终端200,用于通过网络300向服务器400发送资源请求,并通过网络300接收服务器400响应于资源请求发送的至少两路待解码视频流。还用于对至少两路待解码视频流解码,得到至少两路视频流;从至少两路视频流中,获取每个采集时间戳对应的至少两路单元视频流,其中,至少两路视频流与至少两路单元视频流一一对应;拼接至少两路单元视频流,获得每个采集时间戳对应的一路待播放单元视频流;当每个采集时间戳对应的播放时间到达时,播放待播放单元视频流(参见终端200

1中的图形界面示出的两个演播室的两对夫妻的交流画面、以及终端200

2中的图形界面示出的一条街道的不同视角画面)。
34.服务器400,用于基于公共时钟从至少两种视角采集每个采集时间戳对应至少两路单元视频流,从而,获得至少两路视频流。还用于通过网络300接收终端200发送的资源请求,并响应于资源请求通过网络300向终端200发送至少两路待解码视频流。
35.在本技术的一些实施例中,终端200上设有客户端,终端200可以通过运行客户端来实现本技术实施例提供的视频播放方法。举例来说,客户端可以是视频客户端、浏览器客户端、信息流客户端和即时通信客户端等。
36.在本技术的一些实施例中,服务器400可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(cdn,content delivery network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例对此不作限制。
37.本技术实施例提供的视频播放方法所涉及的至少两路待解码视频流、编解码信息、至少两路视频流、以及每个单元视频流对应的采集时间戳均可保存于区块链上。
38.另外,本技术实施例提供的视频播放方法中,视频播放设备可作为区块链上的节点;参见图2,图2是本技术实施例提供的视频播放系统的另一个可选的架构示意图。图2示出的视频播放系统100中,服务器400通过控制至少两个采集设备采集至少两路视频流,还通过服务器400向多个终端(终端200

1和终端200

2)发送至少两路视频流对应的至少两路待解码视频流。
39.在本技术的一些实施例中,服务器400、终端200

1和终端200

2可以加入区块链网络600而成为其中的一个节点。区块链网络600的类型是灵活多样的,例如可以为公有链、私有链和联盟链中的任意一种。以公有链为例,任何业务主体的电子设备,都可以在不需要授权的情况下接入区块链网络600,以作为区块链网络600的共识节点,比如,终端200

1映射为区块链网络600中的共识节点600

1,服务器400映射为区块链网络600中的共识节点600

2,终端200

2映射为区块链网络600中的共识节点600

3。
40.以区块链网络600为联盟链为例,服务器400、终端200

1和终端200

2在获得授权后可以接入区块链网络600而成为节点。服务器400可以通过执行智能合约的方式获取至少两路视频流对应的至少两路待解码视频流,并将至少两路视频流对应的至少两路待解码视
频流发送至区块链网络600中进行共识。当共识通过时,服务器400再将至少两路视频流对应的至少两路待解码视频流发送至终端200

1和终端200

2。可见,通过区块链网络中的多个节点对至少两路视频流对应的至少两路待解码视频流进行共识确认后再发送至终端200

1和终端200

2,能够提高视频播放过程中视频流传输的可靠性和准确性。
41.参见图3,图3是本技术实施例提供的图1中的终端的一种示例性的组成结构示意图,图3所示的终端200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。终端200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统240。
42.处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
43.用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
44.存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
45.存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器250旨在包括任意适合类型的存储器。
46.在本技术的一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面进行示例性说明。
47.操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算机设备,示例性的网络接口220包括:蓝牙、无线相容性认证(wi

fi)、和通用串行总线(usb,universal serial bus)等;呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
48.在本技术的一些实施例中,视频播放装置可以采用软件方式实现,图3示出了存储在存储器250中的视频播放装置255,其可以是程序和插件等形式的软件,包括以下软件模块:视频流获取模块2551、视频流对齐模块2552、视频流拼接模块2553、视频流播放模块
2554、视频流采集模块2555和视角获取模块2556,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
49.在本技术的另一些实施例中,视频播放装置可以采用硬件方式实现,作为示例,本技术实施例提供的视频播放装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的视频播放方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field

programmable gate array)或其他电子元件。
50.下面,将结合本技术实施例提供的视频播放设备的示例性应用和实施,说明本技术实施例提供的视频播放方法。
51.参见图4,图4是本技术实施例提供的视频播放方法的一个可选的流程示意图,将结合图4示出的步骤进行说明。
52.s401、获取至少两种视角对应的至少两路视频流,其中,至少两路视频流是基于公共时钟确定的采集时间戳采集到的,每路视频流中的每个单元视频流对应一个采集时间戳。
53.在本技术实施例中,视频播放设备从至少两种视角进行视频播放处理时,获取用于播放视频的视频数据,也就获得了至少两路视频流。这里,视频播放设备可以是从视频播放设备的本地获取到的至少两路视频流,还可以是从其他设备获取到的实时的或历史的至少两路视频流,又可以是通过视频播放设备的实时采集获取到的至少两路视频流,本技术实施例对此不作限定。
54.需要说明的是,至少两路视频流与至少两种视角一一对应,其中,至少两种视角是待呈现对象的不同呈现视角,而待呈现对象可以是一个实体对象(比如,球员,演员等),还可以是一个场景对象(比如,球场,演播室等),又可以是一个相同类型的对象(比如,多个演播室),等等,本技术实施例对此不作限定;并且,至少两路视频流可以是用于直播的实时视频流,还可以是用于点播的历史视频流,本技术实施例对此不作限定。另外,至少两路视频流是采用同一个公共时钟采集的,并且,至少两路视频流之间基于帧同步;每路视频流包括至少一个单元视频流,单元视频流是一个最小采集单元(对应一个采集时间戳)采集到的视频数据;并且,每路视频流中的每个单元视频流对应一个采集时间戳,采集时间戳是基于公共时钟确定的,每个采集时间戳用于采集至少两个视角对应的至少两个单元视频流,即一个采集时间戳对应至少两路视频流中的至少两路单元视频流,从而,至少两路视频流之间的单元视频流基于采集时间戳对应。
55.s402、从至少两路视频流中,获取每个采集时间戳对应的至少两路单元视频流。
56.在本技术实施例中,针对一个采集时间戳,视频播放设备从每路视频流中均能获取到一个与该采集时间戳对应的单元视频流,又由于至少两路视频流之间的单元视频流基于采集时间戳对应,故,视频播放设备能够从至少两路视频流中,获取到与每个采集时间戳对应的至少两路单元视频流。其中,至少两路视频流与至少两路单元视频流一一对应,以及,至少两路单元视频流中的各个单元视频流对应的采集时间戳是一样的。
57.示例性地,当至少两路视频流为第1路视频流至第8路视频流,每路视频流包括第1
个单元视频流至第3个单元视频流,且第1个单元视频流至第3个单元视频流依次对应的采集时间戳为第1个采集时间戳至第3个采集时间戳时,针对第1个采集时间戳至第3个采集时间戳中的每个采集时间戳(第1个采集时间戳或第2个采集时间戳或第3个采集时间戳),在第1路视频流至第8路视频流中,对应8路单元视频流;比如,第1采集时间戳对应的至少两路单元视频流为:第1路视频流中的第1个单元视频流、第2路视频流中的第1个单元视频流、第3路视频流中的第1个单元视频流、
……
、第8路视频流中的第1个单元视频流。
58.s403、拼接至少两路单元视频流,获得每个采集时间戳对应的一路待播放单元视频流。
59.在本技术实施例中,视频播放设备最终播放的视频数据是一路视频数据,从而,视频播放设备将至少两路单元视频流拼接成一路单元视频数据,这一路单元视频数据即为与每个采集时间戳对应的一路待播放单元视频流。
60.需要说明的是,单元视频流包括视频帧图像和单元音频流中的至少一种。这里,视频播放设备可以是将图像和音频分别进行一路的拼接;并且,当单元视频流包括视频帧图像和单元音频流时,最终进行一路视频和一路音频的合成。另外,当视频播放设备获得了每个采集时间戳对应的一路待播放单元视频流之后,至少两路视频流将被拼接成了待播放单元视频流序列,且,待播放单元视频流序列包括至少一个待播放单元视频流。
61.s404、当每个采集时间戳对应的播放时间到达时,播放待播放单元视频流。
62.在本技术实施例中,视频播放设备获得了每个采集时间戳对应的一路待播放单元视频流之后,在每个采集时间戳对应的播放时间到达时,通过播放每个采集时间戳对应的待播放单元视频流实现至少两路单元视频流的播放。
63.示例性地,参见图5,图5是本技术实施例提供的一种示例性的播放待播放单元视频流的界面示意图;如图5所示,界面5

1为待播放单元视频流的播放界面,呈现的是由4路单元视频流对应的4路视频帧图像(视频帧图像5

11至视频帧图像5

14)拼接成的一幅图像。
64.需要说明的是,视频播放设备在获得了每个采集时间戳对应的至少两路单元视频流之后,还可以通过分屏的方式在每个采集时间戳对应的播放时间到达时,同步播放至少两路单元视频流。
65.可以理解的是,通过采用同一个公共时钟从至少两种视角采集视频流,使得采集到的至少两路视频流中的单元视频流基于采集时间戳对应;从而,在播放视频时,能够通过采集时间戳拼接至少两路视频流中的至少两路单元视频流,并在每个采集时间戳对应的播放时间到达时,播放拼接出的一路待呈现视频数据,实现在同一时刻呈现多个视角画面,提升视频播放过程中呈现内容的多样性,进而,提升视频的播放效果。另外,视频播放设备在同一时刻呈现多个视角画面的精度为帧的精度,故,同步精度较高。
66.在本技术实施例中,s401之前还包括s405至s408;也就是说,视频播放设备获取至少两种视角对应的至少两路视频流之前,该视频播放方法还包括s405至s408,下面对各步骤分别进行说明。
67.s405、基于公共时钟和采集间隔阈值,确定每个采集时间戳。
68.在本技术实施例中,视频播放设备采用同一公共时钟从至少两种视角进行至少两路视频流的采集;从而,视频播放设备基于公共时钟和预设的采集间隔阈值(比如,40毫秒)
确定采集时间戳序列中的每个采集时间戳,并且,采集时间戳序列包括至少一个采集时间戳。也就是说,视频播放设备基于公共时钟和采集间隔阈值,确定至少一个采集时间戳中的每个采集时间戳。
69.示例性地,当采集帧率为每秒25帧,即采集间隔阈值为40毫秒时,如果以1000毫秒为起始采集时间戳,则基于公共时钟和采集间隔阈值确定每个采集时间戳,得到至少一个采集时间戳:1000毫秒、1040毫秒、1080毫秒、1120毫秒、1960毫秒、
……

70.需要说明的是,视频播放设备还包括控制至少两路视频流的采集的功能;此时,如果是直播场景,至少两路视频流是从视频播放设备的缓存获取的;如果是点播场景,至少两路视频流是从视频播放设备对应的存储设备获得的。
71.s406、基于每个采集时间戳,从至少两种视角采集至少两路单元视频流。
72.需要说明的是,视频播放设备在每个采集时间戳能够获得采集到的与至少两种视角对应的至少两路单元视频流。这里,至少两路单元视频流可以是视频播放设备采集的,还可以是视频播放设备控制采集设备采集的,本技术实施例对此不作限定。
73.s407、基于采集时间戳标记采集到的每路单元视频流。
74.在本技术实施例中,视频播放设备针对每个采集时间戳所采集到的每路单元视频流,均采用当前的采集时间戳进行标记;如此,同步采集到的至少两路单元视频流被标记为同一个采集时间戳,从而,一个采集时间戳对应至少两路单元视频流。
75.s408、组合至少一个采集时间戳对应的标记后的至少一个单元视频流,得到每路视频流。
76.在本技术实施例中,视频播放设备针对每路中与至少一个采集时间戳对应的标记后的至少一个单元视频流,所获得的包括至少一个单元视频流的单元视频流序列即该路的视频流;当视频播放设备获得了每路视频流,从而,针对至少两种视角,也就获得了至少两路视频流。
77.在本技术实施例中,s406可通过s4061和s4062实现;也就是说,视频播放设备基于每个采集时间戳,从至少两种视角采集至少两路单元视频流,包括s4061和s4062,下面对各步骤分别进行说明。
78.s4061、当每个采集时间戳对应的采集时间达到时,向至少两个采集设备发送采集信号。
79.需要说明的是,当视频播放设备基于每个采集时间戳控制至少两个采集设备采集至少两路视频流时,当每个采集时间戳对应的采集时间达到时,视频播放设备向至少两个采集设备均发送采集信号,以使每个采集设备基于采集信号进行单元视频流的采集。这里,每个采集设备对应一个视角,从而,每个采集设备采集到的为一个视角下的单元视频流。
80.s4062、接收至少两个采集设备响应于采集信号所发送的从至少两种视角采集到的至少两路单元视频流。
81.在本技术实施例中,每个采集设备完成当前的单元视频流的采集之后,通过采集通道向视频播放设备发送单元视频流;从而,视频采集设备能够并行接收到至少两路单元视频流。其中,至少两个采集设备与至少两路单元视频流一一对应。
82.参见图6,图6是本技术实施例提供的视频播放方法的另一个可选的流程示意图;如图6所示,在本技术实施例中,s401之前还包括s409和s410;也就是说,视频播放设备获取
至少两种视角对应的至少两路视频流之前,该视频播放方法还包括s409和s410,下面对各步骤分别进行说明。
83.s409、呈现视角选择控件。
84.在本技术实施例中,视频播放设备可以通过用户操作确定至少两种视角。这种情况下,视频播放设备先是呈现用于选择至少两种视角的视角选择控件,从而,视角选择控件至少包括至少两种视角的选择控件。
85.s410、响应于作用在视角选择控件上的视角选择操作,获得至少两种视角。
86.需要说明的是,当用户通过触发视角选择控件选择至少两种视角时,视频播放设备也就接收到了作用在视角选择控件上的视角选择操作;此时,视频播放设备响应于该视角选择操作,就能够获得用户所选择的至少两种视角。
87.示例性地,参见图7,图7是本技术实施例提供的一种示例性的获得至少两种视角的示意图;如图7所示,界面7

1中呈现有所有视角(视角7

11至视角7

19)对应的视角选择控件7

110;当通过勾选视角选择控件7

110中的选项框,获得包括视角7

11、视角7

12、视角7

15和视角7

17的至少两种视角。另外,界面7

1中还呈现有提示信息7

111(请选择观看视角:)、取消按钮7

112和确定按钮7

113。
88.在本技术实施例中,至少两种视角为所有视角中的至少两种,当然,至少两种视角可以为所有视角,此时,为了便于用户对视角的选择,减少频繁接收选择指令的资源消耗,视频播放设备所呈现的视角选择控件中可包括所有视角的选择控件。
89.示例性地,参见图8,图8是本技术实施例提供的另一种示例性的获得至少两种视角的示意图;如图8所示,界面8

1中呈现的视角选择控件8

11包括:每个视角(视角8

21至视角8

29)的选择控件8

111和所有视角的选择控件8

112;如此,通过触发所有视角的选择控件8

112,可以快速获得包括所有视角的至少两种视角。另外,界面8

1中还呈现有提示信息8

113(请选择观看视角:)。
90.可以理解的是,视频播放设备通过呈现所有视角对应的视角选择控件,使得用户能够针对性的选择待观看的视角,从而,当视频播放设备基于所选择的至少两种视角播放视频时,不仅能够实现多路视频流的帧同步播放,还能够实现针对性地视频播放,视频播放效果较好。
91.在本技术实施例中,s401可通过s4011至s4014实现;也就是说,视频播放设备获取至少两种视角对应的至少两路视频流,包括s4011至s4014,下面对各步骤分别进行说明。
92.s4011、基于视角与视频标识的对应关系,确定至少两种视角对应的至少两个视频标识。
93.在本技术实施例中,预先设置有视角与视频标识的对应关系,在视角与视频标识的对应关系中,每种视角对应一个视频标识,该视频标识用于获取一路视频流。这里,视频播放设备基于获得的至少两种视角,在视角与视频标识的对应关系中进行视角匹配,并将匹配的视角对应的视频标识确定为与至少两种视角对应的至少两个视频标识。其中,至少两种视角与至少两个视频标识一一对应。
94.需要说明的是,s405至s408描述了视频播放设备参与至少两路视频流的采集的过程,此时,视频播放设备基于至少两个视频标识直接从视频播放设备的本地存储或缓存中就能够获得至少两路视频流。
95.s4012、向资源设备发送携带至少两个视频标识的资源请求。
96.在本技术实施例中,视频播放设备还可以从资源设备获取至少两路视频流,此时,可以是一个直播场景,从资源设备的缓存中读取资源数据;这里,视频播放设备将获得的至少两个视频标识携带在资源请求中向资源设备发送,以向资源设备请求与至少两个视频标识对应的至少两路视频资源。
97.s4013、接收资源设备响应于资源请求所发送的与至少两个视频标识对应的编解码信息和至少两路待解码视频流。
98.在本技术实施例中,资源设备接收到资源请求之后,从资源请求中获取至少两个视频标识,进而获取与至少两个视频标识对应的至少两路待解码视频流和至少两路待解码视频流对应的编解码信息;并向资源播放设备发送至少两路待解码视频流和至少两路待解码视频流对应的编解码信息,此时,资源播放设备也就接收到了资源设备响应于资源请求所发送的与至少两个视频标识对应的编解码信息和至少两路待解码视频流。其中,编解码信息用于对待解码视频流进行解码,至少两路待解码视频流与至少两路视频流一一对应。
99.需要说明的是,待解码视频流是资源设备对视频流编码获得的,通过编码,能够降低传输数据量,从而,资源设备可以包括用于编码的编码模块;这里,资源设备参与至少两路视频流的采集,即资源设备基于公共时钟和采集间隔阈值,确定每个采集时间戳,当每个采集时间戳对应的采集时间达到时,向至少两个采集设备发送采集信号,并接收至少两个采集设备响应于采集信号所发送的从至少两种视角采集到的至少两路单元视频流,以及基于采集时间戳标记采集到的每路单元视频流,从而组合至少一个采集时间戳对应的标记后的至少一个单元视频流,得到每路视频流。
100.s4014、基于编解码信息对至少两路待解码视频流进行解码,得到至少两路视频流。
101.需要说明的是,视频播放设备中包括用于解码的解码模块,用于还原压缩后的视频流;视频播放设备执行解码处理后,所获得的解码后的待解码视频流即视频流。
102.在本技术实施例中,s4012之后,以及s4014之前还包括s4015至s4017;也就是说,视频播放设备向资源设备发送携带至少两个视频标识的资源请求之后,以及基于编解码信息对至少两路待解码视频流进行解码,得到至少两路视频流之前,该视频播放方法还包括s4015至s4017,下面对各步骤分别进行说明。
103.s4015、接收资源设备响应于资源请求所发送的与至少两个视频标识对应的至少两路媒体流地址。
104.在本技术实施例中,视频播放设备可通过与资源设备和内容设备交互来获得至少两路视频流;此时,可以是一个点播场景,从资源设备对应的存储设备(内容设备)中读取资源数据;这里,视频播放设备通过向资源设备发送资源请求,能够接收到的为用于获取资源数据的地址信息:至少两路视频流对应的至少两路媒体流地址。其中,至少两个视频标识与至少两路媒体流地址一一对应。
105.s4016、向内容设备发送携带至少两路媒体流地址的视频流请求。
106.需要说明的是,资源播放设备基于获得的至少两路媒体流地址从内容设备获取资源数据;这里,资源播放设备将至少两路媒体流地址携带在视频流请求中向内容设备发送,以向内容设备请求资源数据。
107.s4017、接收内容设备响应于视频流请求所发送的与至少两路媒体流地址对应的编解码信息和至少两路待解码视频流。
108.在本技术实施例中,内容设备接收到视频流请求之后,从视频流请求中获取至少两路媒体流地址,进而获取与至少两路媒体流地址对应的至少两路待解码视频流和至少两路待解码视频流对应的编解码信息;并向资源播放设备发送至少两路待解码视频流和至少两路待解码视频流对应的编解码信息,此时,资源播放设备也就接收到了内容设备响应于视频流请求所发送的与至少两个视频标识对应的编解码信息和至少两路待解码视频流。
109.需要说明的是,内容设备中的至少两路待解码视频流和至少两路待解码视频流对应的编解码信息,可以是资源设备提前存储在内容设备的。
110.这里,视频播放设备可以通过s4011至s4014描述的处理来获得至少两路视频流,还可以通过s4011、s4012、s4015至s4017、以及s4014描述的处理来获得至少两路视频流。
111.参见图9,图9是本技术实施例提供的一种视频播放方法的交互流程图;如图9所示,该视频播放方法的流程包括s901至s918,下面对各步骤分别进行说明。
112.s901、资源设备基于公共时钟和采集间隔阈值,确定每个采集时间戳。
113.s902、当每个采集时间戳对应的采集时间达到时,资源设备向至少两个采集设备发送采集信号。
114.s903、至少两个采集设备响应于采集信号从至少两种视角采集至少两路单元视频流。
115.s904、至少两个采集设备向资源设备发送至少两路单元视频流。
116.s905、资源设备基于采集时间戳标记采集到的至少两路单元视频流,并将至少一个采集时间戳对应的每种视角下的标记后的至少一个单元视频流,组合成一路视频流,得到至少两路视频流。
117.需要说明的是,s901至s905描述的是资源设备参与至少两路视频流的采集的实现过程,与,s405至s408描述的是视频播放设备参与至少两路视频流的采集的实现过程类似,所存在的区别为采集视频流的执行主体不同;也就是说,s405至s408描述的为由视频播放设备控制至少两个采集设备进行采集,并通过自身实现视频播放的过程;s901至s905描述的为资源设备控制至少两个采集设备进行采集,并通过内容设备向视频播放设备下发,以及在视频播放设备实现视频播放的过程。
118.s906、资源设备编码至少两路视频流,获得编解码信息和至少两路待解码视频流。
119.s907、资源设备将编解码信息和至少两路待解码视频流解析为媒体文件存储至内容设备。
120.s908、视频播放设备呈现视角选择控件,响应于作用在视角选择控件上的视角选择操作,获得至少两种视角。
121.需要说明的是,s908与,s409和s410共同描述的实现过程一致。
122.s909、视频播放设备基于视角与视频标识的对应关系,确定至少两种视角对应的至少两个视频标识。
123.需要说明的是,s909与s4011描述的实现过程一致。
124.s910、视频播放设备向资源设备发送携带至少两个视频标识的资源请求。
125.需要说明的是,s910与s4012描述的实现过程一致。
126.s911、资源设备响应于资源请求向视频播放设备发送与至少两个视频标识对应的至少两路媒体流地址。
127.需要说明的是,s911描述的实现过程与s4015描述的实现过程对应。
128.s912、视频播放设备向内容设备发送携带至少两路媒体流地址的视频流请求。
129.需要说明的是,s912与s4016描述的实现过程一致。
130.s913、内容设备响应于视频流请求向视频播放设备发送与至少两路媒体流地址对应的媒体文件。
131.s914、视频播放设备解析媒体文件,获得编解码信息和至少两路待解码视频流。
132.s915、视频播放设备基于编解码信息对至少两路待解码视频流进行解码,得到至少两路视频流。
133.需要说明的是,s915与s4014描述的实现过程一致。
134.s916、视频播放设备从至少两路视频流中,获取每个采集时间戳对应的至少两路单元视频流。
135.需要说明的是,s916与s402描述的实现过程一致。
136.s917、视频播放设备拼接至少两路单元视频流,获得每个采集时间戳对应的一路待播放单元视频流。
137.需要说明的是,s917与s403描述的实现过程一致。
138.s918、视频播放设备当每个采集时间戳对应的播放时间到达时,播放待播放单元视频流。
139.需要说明的是,s918与s404描述的实现过程一致。
140.在本技术实施例中,资源设备除了包括用于控制采集和编码的模块之外,还可以包括用于将资源数据解析为媒体文件的模块;相应地,资源播放设备也包括用于解析媒体文件获得待解码视频流的模块。
141.在本技术实施例中,单元视频流包括视频帧图像;此时,s403可通过s4031至s4033实现;也就是说,视频播放设备拼接至少两路单元视频流,获得每个采集时间戳对应的一路待播放单元视频流,包括s4031至s4033,下面对各步骤分别进行说明。
142.s4031、基于至少两路单元视频流对应的路数,确定拼接模板。
143.需要说明的是,视频播放设备基于至少两路单元视频流对应的单元视频流的数量,即路数,确定拼接至少两路单元视频流的拼接模板;其中,拼接模板与路数对应,视频播放设备可以预先设置拼接模板与路数的对应关系。
144.在本技术实施例中,在基于路数设置拼接模板时,每个拼接模板中各路视频帧图像的显示区域可以相同,也可以不同;当不同时,可以将至少两路单元视频流中指定的视频流显示在较大区域,其中,指定的视频流可以是基于人工智能确定的内容与请求播放视频的登录账号的待推荐信息关联度大的视频流。
145.示例性地,参见图10,图10是本技术实施例提供的一种拼接模板与路数的对应关系的示意图;如图10所示,拼接模板与路数的对应关系10

1中,路数为2时,两路视频帧图像的拼接模板对应于拼接模板10

11;路数为3时,三路视频帧图像的拼接模板对应于拼接模板10

12;路数为4时,四路视频帧图像的拼接模板对应于拼接模板10

13;路数为5时,五路视频帧图像的拼接模板对应于拼接模板10

14;路数为6时,六路视频帧图像的拼接模板对
应于拼接模板10

15。
146.s4032、基于拼接模板,拼接至少两路视频帧图像,得到待渲染帧图像。
147.需要说明的是,待渲染帧图像是视频播放设备基于拼接模板拼接至少两路视频帧图像获得的,从而,待渲染帧图像是一幅图像,且包括了至少两路视频帧图像的内容。因此,通过渲染待渲染帧图像,能够实现至少两路视频帧图像的同时渲染,也就能够实现至少两种视角画面的同时呈现。
148.s4033、将待渲染帧图像确定为每个采集时间戳对应的一路待播放单元视频流。
149.需要说明的是,由于单元视频流包括视频帧图像,因此,视频播放设备获得的待渲染帧图像即为待播放单元视频流。
150.在本技术实施例中,单元视频流还包括单元音频流,其中,单元音频流为一个采集单元采集到的音频数据;此时,s4032之后还包括s4034和s4035;也就是说,视频播放设备基于拼接模板,拼接至少两路视频帧图像,得到待渲染帧图像之后,该视频播放方法还包括s4034和s4035,下面对各步骤分别进行说明。
151.s4034、将至少两路单元视频流对应的至少两路单元音频流混合成一路待播放单元音频流。
152.需要说明的是,待播放单元音频流是视频播放设备通过混合至少两路单元音频流获得的,从而,待播放单元音频流是一路音频,且包括了至少两路单元音频流的音频数据。因此,通过播放待播放单元音频流,能够实现至少两路单元音频流的同时播放,也就能够实现至少两种视角画面的音频数据的同时呈现。
153.s4035、将待渲染帧图像和待播放单元音频流,确定为每个采集时间戳对应的一路待播放单元视频流。
154.在本技术实施例,当单元视频流包括视频帧图像和单元音频流时,视频播放设备获得的待播放单元视频流包括待渲染帧图像和待播放单元音频流;另外,视频播放设备可以将待渲染帧图像和待播放单元音频流融合为与每个采集时间戳对应的一路待播放单元视频流。
155.需要说明的是,视频播放设备可通过s4031至s4033描述的处理获得待播放单元视频流,还可通过s4031、s4032、s4034和s4035描述的处理获得待播放单元视频流。
156.在本技术实施例中,s4032可通过s40321至s40323实现;也就是说,视频播放设备基于拼接模板,拼接至少两路视频帧图像,得到待渲染帧图像,包括s40321至s40323,下面对各步骤分别进行说明。
157.s40321、基于拼接模板,拼接至少两路视频帧图像,得到初始待渲染帧图像。
158.需要说明的是,视频播放设备可以将至少两路视频帧图像的拼接结果直接作为待渲染帧图像,还可以对至少两路视频帧图像的拼接结果的进行大小判断,并基于判断结果获得尺寸合适的待渲染帧图像。这里,将至少两路视频帧图像的拼接结果确定为初始待渲染帧图像。
159.s40322、当初始待渲染帧图像的图像尺寸大于尺寸阈值时,缩放至少两路视频帧图像,得到至少两路缩放后的视频帧图像。
160.在本技术实施例中,视频播放设备基于预设的尺寸阈值对初始待渲染帧图像的图像尺寸进行判断,当确定初始待渲染帧图像的图像尺寸小于或等于尺寸阈值时,将初始待
渲染帧图像确定为待渲染帧图像;而当确定初始待渲染帧图像的图像尺寸大于尺寸阈值时,表明初始待渲染帧图像的图像尺寸较大,需要进行缩放处理。这里,视频播放设备可以直接缩放初始待渲染帧图像,得到待渲染帧图像,还可以缩放至少两路视频帧图像。
161.s40323、基于拼接模板,拼接至少两路缩放后的视频帧图像,得到待渲染帧图像。
162.需要说明的是,待渲染帧图像是视频播放设备基于拼接模板拼接至少两路缩放后的视频帧图像获得的,并且,待渲染帧图像的图像尺寸小于或等于尺寸阈值。
163.在本技术实施例中,s402可通过s4021至s4023实现;也就是说,视频播放设备从至少两路视频流中,获取每个采集时间戳对应的至少两路单元视频流,包括s4021至s4023,下面对各步骤分别进行说明。
164.s4021、从至少两路视频流中,选择主视频流。
165.需要说明的是,视频播放设备可以从至少两路视频流中选择任一路视频流作为主视频流,主视频流用于作为至少两路视频流的参考路,通过参考主视频流中的采集时间戳获得至少两路单元视频流。
166.s4022、从至少一路视频流中,基于主视频流中每个单元视频流对应的采集时间戳,确定出至少一路单元视频流。
167.需要说明的是,至少一路视频流是至少两路视频流中除主视频流之外的视频流。其中,视频播放设备确定出的至少一路单元视频流与主视频流中的单元视频流,基于主视频流中的单元视频流所对应的采集时间戳对应。
168.s4023、将主视频流中每个单元视频流、以及确定出的至少一路单元视频流,确定为每个采集时间戳对应的至少两路单元视频流。
169.需要说明的是,视频播放设备将主视频流中每个单元视频流、以及主视频流中每个单元视频流对应的至少一路单元视频流,确定为主视频流中每个单元视频流对应的采集时间戳所对应的至少两路单元视频流;该主视频流中每个单元视频流对应的采集时间戳所对应的至少两路单元视频流,即每个采集时间戳对应的至少两路单元视频流。
170.示例性地,当至少两路视频流为第1路视频流至第8路视频流,每路视频流包括第1个单元视频流至第3个单元视频流,且第1个单元视频流至第3个单元视频流依次对应的采集时间戳为第1个采集时间戳至第3个采集时间戳时,如果确定第1路视频流为主视频流,则第1路视频流中的第1个单元视频流至第3个单元视频流中的每个单元视频流即为主视频流中的每个单元视频流,第2路视频流至第8路视频流分别对应的7个第1个单元视频流即为主视频流中第1个单元视频流对应的至少一路单元视频流(确定出的至少一路单元视频流),第2路视频流至第8路视频流分别对应的7个第2个单元视频流即为主视频流中第2个单元视频流对应的至少一路单元视频流(确定出的至少一路单元视频流),第2路视频流至第8路视频流分别对应的7个第3个单元视频流即为主视频流中第3个单元视频流对应的至少一路单元视频流(确定出的至少一路单元视频流)。比如,将第1路视频流中的第1个单元视频流、以及第2路视频流至第8路视频流分别对应的7个第1个单元视频流,确定为第1个采集时间戳对应的至少两路单元视频流。
171.下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
172.参见图11,图11是本技术实施例提供的一种示例性的实现视频播放方法的模块组成示意图;如图11所示,该实现视频播放方法的模块组成11

1包括:采集模块11

11(lens)、
编码模块11

12(encode system)、推流模块11

13(push stream)、媒体模块11

14(media server)、存储模块11

15(content libray)、视频信息模块11

16(getvinfo server)、视频信息请求模块11

17(getvinfo)、视频请求模块11

18(demuxer manager)、解码模块11

19(decoder manager)、混合模块11

110(mixer manager)和渲染模块11

111(render manager)。其中:采集模块11

11,用于从多个镜头(视角)采集多路视频流;编码模块11

12,用于编码多路视频流;推流模块11

13,用于向媒体模块11

14推送多路编码视频流(待解码视频流);媒体模块11

14,用于将多路编码视频流封装成媒体文件;存储模块11

15,用于存储媒体文件;视频信息模块11

16,用于提供媒体文件的描述信息;视频信息请求模块11

17,用于请求媒体文件的描述信息;视频请求模块11

18,用于基于媒体文件的描述信息获取媒体文件,并解析媒体文件获得多路编码视频流;解码模块11

19,用于解码多路编码视频流;混合模块11

110,用于拼接多路视频流;渲染模块11

111,用于渲染拼接后的一路视频流(对应于上述的一路待播放单元视频流)。
173.下面继续说明基于图11中的各个模块实现视频播放方法的示例性交互流程;参见图12,图12是本技术实施例提供的一种示例性的实现视频播放方法的交互流程图;如图12所示,该示例性的实现视频播放方法的交互流程包括:s1201、摄像头(采集设备)向编码系统发送多路音视频帧(至少两路单元视频流)。
174.需要说明的是,摄像头对应于图11中的采集模块11

11,编码系统对应于图11中的编码模块11

12。
175.这里,编码系统基于同一个时钟(公共时钟)和镜头的采集频率(每秒25帧,对应的采集间隔(采集间隔阈值)为40毫秒),以及时间戳起点(起始采集时间戳)1000毫秒,确定各个时间戳(至少一个采集时间戳)为1000毫秒、1040毫秒、1080毫秒、1120毫秒、1960毫秒、
……
。并且,编码系统在每个时间戳对应的采集时间向每个摄像头发送一个采集信号,以使多个摄像头基于采集信号从多个视角采集多路音视频帧。如此,比如,当有8个摄像头时,编码系统在一个时间戳对应的采集时间,能够并行从8个拍摄镜头通道并行获取8路音视频帧(其中,音视频帧中的图像可以是“yuv”格式的,还可以是其他图像格式,),且这8路音视频帧在时间上是同步的,而8路音视频帧的内容在空间上是不同的。
176.s1202、编码系统向推流器发送多路编码视频流(至少两路待解码视频流)。
177.需要说明的是,推流器对应于图11中的推流模块11

13。编码系统将多路音视频帧标记上相同的时间戳,并对多路音视频帧对应的多路视频流(一路视频流包括至少一个音视频帧构成的序列)进行编码,以将多路视频流压缩为适合网络传输和存储的多路编码视频流,接着向推流器发送多路编码视频流。
178.s1203、推流器向媒体服务器发送流媒体数据。
179.需要说明的是,媒体服务器对应于图11中的媒体模块11

14。推流器基于流媒体协
议将多路编码视频流打包成流媒体数据,并将流媒体数据发送至媒体服务器。
180.s1204、媒体服务器向内容服务器发送媒体文件。
181.需要说明的是,内容服务器对应于图11中的存储模块11

15。媒体服务器基于流媒体协议对流媒体数据进行解析,解析出多路编码视频流,并以多媒体文件格式将多路编码视频流封装成媒体文件。如果是直播场景,媒体服务器将媒体文件缓存,而如果是点播场景,媒体服务器将媒体文件发送至内容服务器。
182.s1205、媒体服务器向视频信息服务器发送媒体文件的描述信息。
183.需要说明的是,视频信息服务器对应于图11中的视频信息模块11

16。媒体服务器通过文本协议描述媒体文件的描述信息(比如,视频标识、视频宽高、视频时长、码率、编解码信息和媒体源地址等),并向视频信息服务器发送媒体文件的描述信息。
184.s1206、管理器从视频信息服务器获取媒体源地址。
185.需要说明的是,管理器对应于图11中的视频请求模块11

18。管理器通过图11中视频信息请求模块11

17从媒体文件的描述信息中获取媒体源地址和编解码信息。
186.s1207、管理器通过媒体服务器从内容服务器获取媒体文件。
187.需要说明的是,点播场景中,管理器基于媒体源地址通过媒体服务器从内容服务器获取媒体文件。直播场景中,管理器基于媒体源地址从媒体服务器获取媒体文件,并通过解析媒体文件获得多路编码视频流。
188.s1208、管理器向解码器发送多路编码视频流。
189.需要说明的是,解码器对应于图11中的解码模块11

19。管理器向解码器发送获得的编解码信息和多路编码视频流。
190.s1209、解码器向混合器发送多路视频流。
191.需要说明的是,混合器对应于图11中的混合模块11

110。解码器基于编解码信息对多路编码视频流解码,得到多路视频流,并将多路视频流发送至混合器。
192.s1210、混合器向渲染器发送一路待渲染数据。
193.需要说明的是,渲染器对应于图11中的渲染模块11

111。混合器基于时间戳对齐多路视频流中的音视频帧,并将每个时间戳下的多路音视频帧混合成一路渲染帧(待播放单元视频流),从而获得一路待渲染数据;其中,待渲染数据为至少一个渲染帧构成的序列。
194.s1211、渲染器渲染待渲染数据。
195.这里,渲染器在每个时间戳对应的播放时间,渲染待渲染数据中的渲染帧,如图5所示。
196.这里,编码系统、推流器、媒体服务器和视频信息服务器共同对应于上述的资源设备;管理器、解码器、混合器和渲染器共同对应于上述的视频播放设备。
197.可以理解的是,在包括多角度视频的场景中,无需通过接收用户的切换操作就能够一屏呈现多角度视频,达到以帧同步的精度同时实现多角度视频的呈现;比如,对于体育竞技,能够同时呈现多个运动员的精彩运动过程;从而,本技术实施例提供的视频播放方法,能够提升视频播放效果。
198.下面继续说明本技术实施例提供的视频播放装置255的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器250的视频播放装置255中的软件模块可以包括:
视频流获取模块2551,用于获取至少两种视角对应的至少两路视频流,其中,至少两路所述视频流是基于公共时钟确定的采集时间戳采集到的,每路所述视频流中的每个单元视频流对应一个所述采集时间戳;视频流对齐模块2552,用于从至少两路所述视频流中,获取每个所述采集时间戳对应的至少两路所述单元视频流,其中,至少两路所述视频流与至少两路所述单元视频流一一对应;视频流拼接模块2553,用于拼接至少两路所述单元视频流,获得每个所述采集时间戳对应的一路待播放单元视频流;视频流播放模块2554,用于当每个所述采集时间戳对应的播放时间到达时,播放所述待播放单元视频流。
199.在本技术实施例中,所述视频播放装置255还包括视频流采集模块2555,用于基于所述公共时钟和采集间隔阈值,确定每个所述采集时间戳;基于每个所述采集时间戳,从至少两种所述视角采集至少两路所述单元视频流;基于所述采集时间戳标记采集到的每路所述单元视频流;组合至少一个所述采集时间戳对应的标记后的至少一个所述单元视频流,得到每路所述视频流。
200.在本技术实施例中,所述视频流采集模块2555,还用于当每个所述采集时间戳对应的采集时间达到时,向至少两个采集设备发送采集信号;接收至少两个所述采集设备响应于所述采集信号所发送的从至少两种所述视角采集到的至少两路所述单元视频流,其中,至少两个所述采集设备与至少两路所述单元视频流一一对应。
201.在本技术实施例中,所述视频播放装置255还包括视角获取模块2556,用于呈现视角选择控件;响应于作用在所述视角选择控件上的视角选择操作,获得至少两种所述视角。
202.在本技术实施例中,所述视频流获取模块2551,还用于基于视角与视频标识的对应关系,确定至少两种所述视角对应的至少两个视频标识;向资源设备发送携带至少两个所述视频标识的资源请求;接收所述资源设备响应于所述资源请求所发送的与至少两个所述视频标识对应的编解码信息和至少两路待解码视频流,其中,所述待解码视频流是所述资源设备对所述视频流编码获得的;基于所述编解码信息对至少两路待解码视频流进行解码,得到至少两路所述视频流。
203.在本技术实施例中,所述视频流获取模块2551,还用于接收所述资源设备响应于所述资源请求所发送的与至少两个所述视频标识对应的至少两路媒体流地址;向内容设备发送携带至少两路所述媒体流地址的视频流请求;接收所述内容设备响应于所述视频流请求所发送的与至少两路所述媒体流地址对应的所述编解码信息和至少两路所述待解码视频流。
204.在本技术实施例中,所述单元视频流包括视频帧图像;所述视频流拼接模块2553,还用于基于至少两路所述单元视频流对应的路数,确定拼接模板;基于所述拼接模板,拼接至少两路所述视频帧图像,得到待渲染帧图像;将所述待渲染帧图像确定为每个所述采集时间戳对应的一路所述待播放单元视频流。
205.在本技术实施例中,所述单元视频流还包括单元音频流;所述视频流拼接模块2553,还用于将至少两路所述单元视频流对应的至少两路所述单元音频流混合成一路待播放单元音频流;将所述待渲染帧图像和所述待播放单元音频流,确定为每个所述采集时间
戳对应的一路所述待播放单元视频流。
206.在本技术实施例中,所述视频流拼接模块2553,还用于基于所述拼接模板,拼接至少两路所述视频帧图像,得到初始待渲染帧图像;当所述初始待渲染帧图像的图像尺寸大于尺寸阈值时,缩放至少两路所述视频帧图像,得到至少两路缩放后的视频帧图像;基于所述拼接模板,拼接至少两路所述缩放后的视频帧图像,得到所述待渲染帧图像。
207.在本技术实施例中,所述视频流对齐模块2552,还用于从至少两路所述视频流中,选择主视频流;从至少一路所述视频流中,基于所述主视频流中每个所述单元视频流对应的所述采集时间戳,确定出至少一路所述单元视频流,其中,至少一路所述视频流是至少两路所述视频流中除所述主视频流之外的所述视频流;将所述主视频流中每个所述单元视频流、以及确定出的至少一路所述单元视频流,确定为每个所述采集时间戳对应的至少两路所述单元视频流。
208.本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。视频播放设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该视频播放设备执行本技术实施例上述的视频播放方法。
209.本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的视频播放方法,例如,如图4示出的视频播放方法。
210.在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd

rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
211.在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
212.作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
213.作为示例,可执行指令可被部署为在一个计算机设备上执行(此时,这一个计算机设备即视频播放设备),或者在位于一个地点的多个计算机设备上执行(此时,位于一个地点的多个计算机设备即视频播放设备),又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行(此时,分布在多个地点且通过通信网络互连的多个计算机设备即视频播放设备)。
214.综上所述,通过本技术实施例,通过采用同一个公共时钟从至少两种视角采集视频流,使得采集到的至少两路视频流中的单元视频流基于采集时间戳对应;从而,在播放视频时,能够通过采集时间戳拼接至少两路视频流中的至少两路单元视频流,并在每个采集时间戳对应的播放时间到达时,播放拼接出的一路待播放单元视频流;因此,能够实现在同一时刻呈现多个视角画面,提升视频播放过程中呈现内容的多样性,进而,能够提升视频的
播放效果,且简化了呈现多个视角画面的交互处理。另外,多个视角画面是帧同步,同步精度高;以及通过选择视角来实现对应的视频播放,能够实现视频的针对性播放,视频播放的灵活度较高。
215.以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1