具备视角切换功能的720度全景播放器的实现方法及系统转让专利

申请号 : CN201610394460.6

文献号 : CN106060518B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 潘龙

申请人 : 武汉斗鱼网络科技有限公司

摘要 :

本发明公开了一种具备视角切换功能的720度全景播放器的实现方法及系统,涉及全景直播播放器应用开发领域。该方法的步骤为:在Adobe Media Server中部署安全沙箱文件;在全景播放器中创建新的3D场景、3D摄像头和3D视角球;将3D视角球中的贴图材质设置为双面均可观看,将贴图材质的纹理创建为图片纹理,将3D摄像头与3D视角球进行绑定;将全景播放器与流服务器进行连接,设置视频流的缓存时间后,创建流媒体播放器来播放视频流;全景播放器获取流服务器返回的视频流,周期性的截取视频流中的画面,将截取的画面刷新至3D视角球。本发明能够根据用户的需求切换观看场景,观看场景比较丰富,用户体验较好。

权利要求 :

1.一种具备视角切换功能的720度全景播放器的实现方法,其特征在于:该方法具体包括以下步骤:S1:在Adobe Media Server中部署安全沙箱文件:在配置文件压缩包中确定连接流服务器的配置;将配置文件压缩包的视频流的操作权限设置为打开;

S2:在全景播放器中通过flash 3D引擎创建新的3D场景,在3D场景中添加设置距离后的3D摄像头;

S3:在全景播放器中创建3D视角球,将3D视角球中的贴图材质设置为双面均可观看,将贴图材质的纹理创建为图片纹理;

S4:将S2中的3D摄像头与S3中的3D视角球进行绑定;

S5:根据S1中连接流服务器的配置,将全景播放器与流服务器进行连接;设置视频流的缓存时间后,创建流媒体播放器来播放视频流;

S6:全景播放器获取流服务器返回的视频流,周期性的截取视频流中的画面,周期时间小于40毫秒;

S7:将截取的画面刷新至3D视角球。

2.如权利要求1所述的具备视角切换功能的720度全景播放器的实现方法,其特征在于,S1的具体流程为:S101:解压流服务器中的配置文件压缩包,得到主配置文件;

S102:在主配置文件中确定连接流服务器的配置;打开主配置文件中视频流的操作权限后,将主配置文件进行保存;

S103:将保存后的主配置文件进行压缩,得到新的配置文件压缩包;生成新的配置文件压缩包的文件名称,将原有的配置文件压缩包替换为新的配置文件压缩包后,重启流服务器。

3.如权利要求2所述的具备视角切换功能的720度全景播放器的实现方法,其特征在于:S103中所述将保存后的主配置文件进行压缩的具体流程为:在工具文件夹中查找打包工具,在dos系统中运行打包工具对主配置文件进行压缩。

4.如权利要求1所述的具备视角切换功能的720度全景播放器的实现方法,其特征在于,S4具体包括以下流程:将3D摄像头置于3D视角球中部后,监听鼠标事件。

5.如权利要求1至4任一项所述的具备视角切换功能的720度全景播放器的实现方法,其特征在于,S6中所述截取视频流中的画面的具体流程为:使用Flash运行时矢量渲染器在位图图像上绘制目标显示对象,将目标显示图像的画面作为截取的画面。

6.如权利要求5所述的具备视角切换功能的720度全景播放器的实现方法,其特征在于,S7的具体流程为:将原有3D视角球的纹理,刷新为截取的画面的纹理。

7.一种基于权利要求1至6任一项所述方法的具备视角切换功能的720度全景播放器的实现系统,其特征在于:该系统包括位于流服务器上的安全沙箱文件部署模块、以及位于全景播放器上的3D世界创建模块、3D视角球创建模块、3D视角球绑定模块、流服务器连接模块、直播画面截取模块和3D世界刷新模块;

安全沙箱文件部署模块用于:在流服务器的配置文件压缩包中确定连接流服务器的配置;将配置文件压缩包的视频流的操作权限设置为打开;

3D世界创建模块用于:通过flash 3D引擎创建新的3D场景,在3D场景中添加设置距离后的3D摄像头;

3D视角球创建模块用于:创建3D视角球,将3D视角球中的贴图材质设置为双面均可观看,将贴图材质的纹理创建为图片纹理;

3D视角球绑定模块用于:将3D摄像头与3D视角球进行绑定;

流服务器连接模块用于:根据安全沙箱文件部署模块中连接流服务器的配置,将全景播放器与流服务器进行连接;设置视频流的缓存时间后,创建流媒体播放器来播放视频流;

直播画面截取模块用于:获取流服务器返回的直播画面,周期性的截取视频流中的画面,周期时间小于40毫秒;

3D世界刷新模块用于:将截取的画面刷新至3D视角球。

8.如权利要求7所述的具备视角切换功能的720度全景播放器的实现系统,其特征在于,安全沙箱文件部署模块具体用于:解压流服务器中的配置文件压缩包,得到主配置文件;在主配置文件中确定连接流服务器的配置;打开主配置文件中视频流的操作权限后,将主配置文件进行保存和压缩,得到新的配置文件压缩包;生成新的配置文件压缩包的文件名称,将原有的配置文件压缩包替换为新的配置文件压缩包后,重启流服务器。

9.如权利要求7所述的具备视角切换功能的720度全景播放器的实现系统,其特征在于:直播画面截取模块截取视频流中的画面时,使用Flash运行时矢量渲染器在位图图像上绘制目标显示对象,将目标显示图像的画面作为截取的画面。

10.如权利要求9所述的具备视角切换功能的720度全景播放器的实现系统,其特征在于,3D世界刷新模块具体用于:将原有3D视角球的纹理,刷新为截取的画面的纹理。

说明书 :

具备视角切换功能的720度全景播放器的实现方法及系统

技术领域

[0001] 本发明涉及全景直播播放器应用开发领域,具体涉及一种具备视角切换功能的720度全景播放器的实现方法及系统。

背景技术

[0002] 目前,常规的直播播放器的播放视角为360°,即用户观看直播时,只能根据主播提供的直播视角进行观看。随着时代的进步,户外直播越来越多,用户主播提供的直播视角进行观看户外直播时,观看场景比较单一,用户体验较差。

发明内容

[0003] 针对现有技术中存在的缺陷,本发明解决的技术问题为:提供一种具备视角切换功能的720度全景播放器的实现方法及系统,本发明能够根据用户的需求切换观看场景,观看场景比较丰富,用户体验较好。
[0004] 为达到以上目的,本发明提供的具备视角切换功能的720度全景播放器的实现方法,该方法具体包括以下步骤:
[0005] S1:在Adobe Media Server中部署安全沙箱文件:在配置文件压缩包中确定连接流服务器的配置;将配置文件压缩包的视频流的操作权限设置为打开;
[0006] S2:在全景播放器中通过flash 3D引擎创建新的3D场景,在3D场景中添加设置距离后的3D摄像头;
[0007] S3:在全景播放器中创建3D视角球,将3D视角球中的贴图材质设置为双面均可观看,将贴图材质的纹理创建为图片纹理;
[0008] S4:将S2中的3D摄像头与S3中的3D视角球进行绑定;
[0009] S5:根据S1中连接流服务器的配置,将全景播放器与流服务器进行连接;设置视频流的缓存时间后,创建流媒体播放器来播放视频流;
[0010] S6:全景播放器获取流服务器返回的视频流,周期性的截取视频流中的画面,周期时间小于40毫秒;
[0011] S7:将截取的画面刷新至3D视角球。
[0012] 本发明提供的基于上述方法的具备视角切换功能的720度全景播放器的实现系统,包括位于流媒体服务器上的安全沙箱文件部署模块、以及位于全景播放器上的3D世界创建模块、3D视角球创建模块、3D视角球绑定模块、流服务器连接模块、直播画面截取模块和3D世界刷新模块;
[0013] 安全沙箱文件部署模块用于:在流媒体服务器的配置文件压缩包中确定连接流服务器的配置;将配置文件压缩包的视频流的操作权限设置为打开;
[0014] 3D世界创建模块用于:通过flash 3D引擎创建新的3D场景,在3D场景中添加设置距离后的3D摄像头;
[0015] 3D视角球创建模块用于:创建3D视角球,将3D视角球中的贴图材质设置为双面均可观看,将贴图材质的纹理创建为图片纹理;
[0016] 3D视角球绑定模块用于:将3D摄像头与3D视角球进行绑定;
[0017] 流服务器连接模块用于:根据安全沙箱文件部署模块中连接流服务器的配置,将全景播放器与流服务器进行连接;设置视频流的缓存时间后,创建流媒体播放器来播放视频流;
[0018] 直播画面截取模块用于:获取流服务器返回的直播画面,周期性的截取视频流中的画面,周期时间小于40毫秒;
[0019] 3D世界刷新模块用于:将截取的画面刷新至3D视角球。
[0020] 与现有技术相比,本发明的优点在于:
[0021] 本发明事先在流服务器中打开视频流的操作权限,并在全景播放器中创建3D世界,还在3D世界中设置3D摄像头和3D视角球。在此基础上,用户观看户外直播时,将流服务中的直播流画面周期性的刷新至3D视角球,并通过鼠标控制3D视角球即可实时观看直播时任何角度发生的事情和存在的物品,进而实现用户在720°直播间中漫游。有鉴于此,本发明能够根据用户的需求切换观看场景,观看场景比较丰富,用户体验较好。

附图说明

[0022] 图1为具备视角切换功能的720度全景播放器的实现方法的流程图。

具体实施方式

[0023] 以下结合附图及实施例对本发明作进一步详细说明。
[0024] 参见图1所示,本发明实施例中的具备视角切换功能的720度全景播放器的实现方法,具体包括以下步骤:
[0025] S1:在流服务器(Adobe Media Server)中部署安全沙箱文件:在配置文件压缩包中确定连接流服务器的配置;将配置文件压缩包的视频流的操作权限设置为打开,以便后期对视频流进行操作。
[0026] S1的具体流程为:
[0027] S101:解压流服务器中的配置文件压缩包(main.far),得到主配置文件(main.asc)。
[0028] S102:通过文本打开主配置文件,在主配置文件中确定连接流服务器的配置,打开主配置文件中视频流的操作权限后,将主配置文件进行保存。
[0029] S102中“在主配置文件中确定连接流服务器的配置,打开主配置文件中视频流的操作权限”的具体实施程序为:找到application.onConnet()方法,打开p_client.audioSampleAccess=”/”;以及p_client.videoSampleAccess=”/”的注释。
[0030] S103:将保存后的主配置文件进行压缩,得到新的配置文件压缩包;生成新的配置文件压缩包的文件名称,将原有的配置文件压缩包替换为新的配置文件压缩包后,重启流服务器。
[0031] S103中将保存后的主配置文件进行压缩的具体流程为:在工具(tools)文件夹查找打包(far)工具,在dos系统中运行打包工具对主配置文件进行压缩;生成新的配置文件压缩包的文件名称的具体流程为:输入far-package-archive main-files mian.asc Applicatio.XML。
[0032] S2:在全景播放器中通过flash 3D引擎(基于flash软件的3d引擎)创建新的3D场景,在3D场景中添加设置距离后的3D摄像头。
[0033] S2中创建新的3D场景具体程序为view=new View3D(),设置3D摄像头距离的具体程序为View.camera.lens.far=2000(即距离为2000像素点)。该步骤的目的在于:将传统的2D播放模式显示设定为3D播放模式,方便后面720°视频流的正常播放。
[0034] S3:在全景播放器中创建3D视角球,将3D视角球中的贴图材质设置为双面均可观看(即可同时观看内侧和外侧),将贴图材质的纹理创建为图片纹理。该步骤的目的在于:创建3D球,就是为了模拟出3D世界,球顶是天空,球底是大地。
[0035] S4:将S2中的3D摄像头与S3中的3D视角球进行绑定(将3D摄像头置于3D视角球中部);监听鼠标事件,以使得用户能够操作鼠标来观看3D视角球的纹理。
[0036] S4将摄像头(人)设定到球中间,也就是模拟出来3D世界正中间,这样用户就可以正常去体验到模拟3D世界给出的素材)。
[0037] S5:根据S1中连接流服务器的配置,将全景播放器与流服务器进行连接;设置缓存时间后,创建流媒体播放器(Video)来播放视频流,Video并不加载至3D场景。该步骤的目的在于:获取流服务器上的流媒体,也是模拟出来3D世界的源素材。
[0038] S6:全景播放器获取流服务器返回的视频流,周期性的截取视频流中的画面(周期时间小于40毫秒,本实施例中为30毫秒)。
[0039] S6中截取视频流中的画面的具体流程为:通过BitmapeData的Draw方法(使用Flash运行时矢量渲染器在位图图像上绘制source显示对象,source就是目标显示对象)来获取bitmapedata格式(位图图像格式)的流画面。该流程的目的在于:因为S4中模拟的3D世界素材设定是位图,所以S6中解析出的视频流里面的位图方便平铺至模拟的3D世界中。
[0040] S7:将S6中截取的画面刷新至3D视角球,使得3D视角球上的画面为最新的720°视频流画面,观看直播用户只需要通过鼠标右键操作就可以旋转观看视角,实时观看模拟3D世界最新的场景。
[0041] S7的具体流程为:将原有3D视角球的纹理,刷新为截取的bitmapedata格式的流画面的纹理。
[0042] 本发明实施例中的基于上述方法的具备视角切换功能的720度全景播放器的实现系统,包括位于流媒体服务器上的安全沙箱文件部署模块、以及位于全景播放器上的3D世界创建模块、3D视角球创建模块、3D视角球绑定模块、流服务器连接模块、直播画面截取模块和3D世界刷新模块。
[0043] 安全沙箱文件部署模块用于:在流媒体服务器的配置文件压缩包中确定连接流服务器的配置;将配置文件压缩包的视频流的操作权限设置为打开。
[0044] 安全沙箱文件部署模块工作的具体流程为:解压流服务器中的配置文件压缩包,得到主配置文件;在主配置文件中确定连接流服务器的配置;打开主配置文件中视频流的操作权限后,将主配置文件进行保存和压缩,得到新的配置文件压缩包;生成新的配置文件压缩包的文件名称,将原有的配置文件压缩包替换为新的配置文件压缩包后,重启流服务器。
[0045] 3D世界创建模块用于:通过flash 3D引擎创建新的3D场景,在3D场景中添加设置距离后的3D摄像头。
[0046] 3D视角球创建模块用于:创建3D视角球,将3D视角球中的贴图材质设置为双面均可观看,将贴图材质的纹理创建为图片纹理。
[0047] 3D视角球绑定模块用于:将3D摄像头与3D视角球进行绑定。
[0048] 流服务器连接模块用于:根据安全沙箱文件部署模块中连接流服务器的配置,将全景播放器与流服务器进行连接;设置视频流的缓存时间后,创建流媒体播放器来播放视频流。
[0049] 直播画面截取模块用于:获取流服务器返回的直播画面,周期性的截取视频流中的画面,周期时间小于40毫秒。
[0050] 直播画面截取模块截取视频流中的画面时,使用Flash运行时矢量渲染器在位图图像上绘制目标显示对象,将目标显示图像的画面作为截取的画面。
[0051] 3D世界刷新模块用于:将截取的画面刷新至3D视角球(将原有3D视角球的纹理,刷新为截取的画面的纹理)。
[0052] 本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。