关于VR直播解决方案的实践与探讨

2018-08-24 11:20丁成刚
视听 2018年9期
关键词:全景云端矫正

□ 丁成刚

一、引言

目前,虚拟现实技术VR和VR直播发展火爆,特别是VR直播成为2017年VR行业的热点。VR技术催生了全新的用户体验与商业模式。移动直播的强“自媒体”属性,与VR全景技术带来的真实临场感,使得移动VR直播在体验上远远超过任何一种直播模式。移动VR直播将颠覆互联网社交模式,无论是草根网红的个人秀场,还是大牌明星的实景互动,都不可避免成为新互联网时代的巨型流量入口。

二、解决方案

直播被定义为视频行业从单向传输到实时互动的一场革命。在1.0时代,PC/平板、手机是重要的载体,用户参与互动方式主要通过礼物、打字获得短暂的和主播互动的机会,临场感的缺乏和交互方式的单一是最大的不足。而VR直播所带来的沉浸式的体验直接把直播从1.0时代推向了2.0时代。

一个完整的VR直播解决方案一般涉及采集端、云端、用户端里的多个环节,如图所示,这些环节环环相扣,我们基于云端资源和现有的设备资源,探索了采集、处理与分发三大架构,涵盖从采集端到云端和用户端的业务流程,实践了VR直播一整套的解决方案。

(一)VR采集端

采集主要包括视频拍摄、数据采集与输出。采集设备一般分为电影级和广播级。信号源可以是多种,VR直播一般由4-16个摄像信号构成,全方位360°全景信号。采用高清信号输出,构建成4k信号。虚拟的信号设备可以使用HDMI、SDI、AV、VGA、File、IP 流等信号。

1.电影级采集设备

电影级采集设备目前主要有HeadcaseVR、HypeVR、NextVR、J2VR等。2016年,全新移动VR拍摄方案的提供商HeadcaseVR团队正式亮相。采用2/3英寸的CCD传感器,单分辨率1920×1080。帧率表现为60FPS。J2VR是中国的团队,是国内最早进入全景视觉领域发展的创新型公司。J2VR也是经过几代更新的电影及VR解决方案提供商。采用4台RedDragon分别对四个方向进行拍摄采集,最终达到24K录制100FPS的标准。

2.广播级采集设备

XONE一体化全景摄像机支持机内实时拼接,支持双组360°全景视频同步拍摄,采用SONY 1/1.8英寸CMOS,全景录制6K/全景直播4K。支持通过RTMP协议进行串流推送,支持通过PC客户端或APP客户端进行预览、编码,支持H264/.H265 HEVC高压缩比编码,帧率为1-30fps。

3.民用级

国内民用级的全景摄像机较多,例如暴风魔眼、Insta 360、Theta、Wipet、360fly 等,在拼接畸变、流畅性、色彩还原、矫正等多个方面还不成熟,适合在自拍旅游等场景使用。

4.核心算法

VR直播采集设备完成的不止是采集内容这一步。设备里面一般会配套搭载的软件和算法,这才是核心技术。在VR直播中,所有的拼接都是直接即刻完成的,例如缝合、映射、美颜、编码、特效(白平衡、曝光等),即将多镜头拍摄的画面进行亮度色彩调整、对齐、畸变矫正、投影到球面等一系列处理后,基于图像特征control points(控制点),合成为一幅完整画面的过程。

核心图像处理算法,直接影响系统资源占有率,直接影响码流、带宽和存储。核心算法的好坏直接影响图像边缘弯曲的矫正、场景的分割以及虚拟PTZ、转动、放大,这些都是由核心算法带动的。

现在业内的产品,针对图像矫正有两种处理方式,一种是前端摄像机内置软件处理,另一种是后端软件处理,它们都是对图像边缘像素和水平展开进行矫正,图像矫正的关键在于图像边缘像素的还原完整度如何。前种方法节省了后端和网络资源,避免了带宽和存储的压力,即在前端就完成了对图像进行矫正处理压缩,最终将一个水平展开的图像传输到后端平台,使用者可根据需求选择全景画面或四画面显示,图像很具实时性。而后一种将图像矫正做到后端电脑上,其优势是借助电脑硬件快速的处理能力和软件的完备性,完美地实现全景图像展开和四画面显示。从处理能力来说,无疑后端机更具突出表现,效果会更好一些,但缺乏实时性。

图像矫正算法被嵌入到摄像机内是当前技术市场的主流,其更符合用户即插即用的使用习惯,借助PC机的产品功能虽然很完美但未必会被用户接受。

(二)VR云端处理

VR云端处理包括视频数据处理、实时同步、视频编辑、合成、数据推送、云存储与云端转码等。我们利用现有的推流设备以及阿里视频云资源实现了上述功能。

1.推流

对于从VR采集的视频流,我们使用NSCaster推送至云端服务器。NSCaster整机采用便携化设计,设备高度集成化,含内置主机、17.3寸全高清显示屏、PC键盘、鼠标触摸板、导播操作键盘、摄像机云台操作杆、视频输入输出接口封装、专业音频输入输出、调音台、蓝牙无线通话、TALLY输出、热插拔数据硬盘、DVD刻录机等。支持总共12路输入,包括四路SDI/HD-SDI/3G-SDI摄像机输入、一路全接口(SDI/HDMI/DVI/VGA/分量)输入、一路网络输入、两路DDR(视频素材)输入、四路虚拟场景输入。

网络输入可用于通过网络接入电脑桌面、Android设备、iOS设备;也可以接入网络流信号,支持RTMP/RTSP/MMS/VJVGA/VJTeacher/HTTP TS/UDP TS协议,支持IP摄像机输入;也可以用于远程访谈连线。

两路DDR,用于播放本地视音频和图片素材,支持绝大部分常用视音频和图片文件;支持单文件播放和列表播放,支持循环播放;支持播放进度调整,支持播放倍率调整,支持播放时间倒数;支持与切换配合自动播放;支持MMS推流/拉流、FLASH/RTMP推流、UDP TS单播/组播网络直播。

2.视频云处理平台比较

视频云处理平台具备快速部署视频服务、顺畅运营、集成方便、开发快速上线,并且运维简单等产品特性。我们重点对国内主要的四家视频云服务商进行了比较和分析,详见表1。

腾讯云视频互动直播方案比较成熟,与腾讯云通信(IM)结合紧密,业务集成度较高,目前台内新麦是很好的案例。七牛直播云沿袭七牛云的精品路线,侧重于直播,开放云端API实现透明播控管理,CDN节点相对要少一些。金山视频云提供了点播数据挖掘、H.265编码其特色(当然H.265需要视频源高清而且终端性能强劲才有明显效果),客户端SDK集中在移动端,直播还支持OTT播放盒、超级电视等多屏播放,在VR直播方面已经在GITHUB开放了部分SDK。网易视频云功能相对完善,同时支持实时互动直播,而且具有各种场景的完整解决方案,拥有千万级并发量,SDK也非常全面。接入方便,新手也只需一天就可以为APP接入音视频功能。

(1)稳定性比较

近期云计算的宕机现象再次发生,云服务的稳定性成为影响用户抉择的重要因素之一。当然,对于视频云服务来说,稳定性不止于数据中心层,更需要考虑视频流链路的稳定,包括对弱网环境的处理,对卡顿、延迟现象有极大的容忍度。如表2:

表2 关于视频云平台稳定性比较

从一定程度上说,自建机房意味着具备专业的运维团队、更强的突发事件应对能力、更高效的突发事件响应速度,而这些因素恰恰是提供稳定服务的关键。此外,传输机制保证了数据的安全性,网络QoS策略则能够保障复杂网络下的流畅直播体验。而服务模式决定了是否能够快速响应客户的技术、服务诉求。

(2)技术服务

企业级云服务和消费级产品最大的不同就是对技术服务的需求更甚于对资费的敏感,刚刚发展起来的云服务尤其如此。对于视频云服务,因为复杂的场景、冗长的链路背后是复杂的技术,而视频服务商还需要快速为自己的用户解决问题,最终使用户满意,所以技术支持必不可少。如表3:

表3 关于视频云平台技术服务比较

3.金山云的优势

云平台VR具体技术参数与一般的视频并无区别,比较大的亮点就是各家H.265的技术。例如金山公司的H.265生态链打通后,H.265和VR结合具备了画质和带宽的优势。

限制VR直播的问题在于码流。因为VR视频内容在映射后,肉眼可视的分辨率会下降很多。所以对原始视频的画质要求就比较高,一般都要求是4K或者8K,在4K分辨率下,码流接近20M。如果H.265能够在采集端得到大范围的推广,可以大幅降低此处的带宽压力。华为公司拥有最多的核心专利,是标准的主导者,但是H.265受限于专利费,目前看来大幅应用于采集端还有很长的路要走。

具体优势体现为上行码率自适应、窄带高清转码、截图、录制、时移等功能和服务;具备较低带宽直播时延,能保证直播的实时交互;千万级直播并发能力,具备可动态扩展的直播技术架构。提供URL加密、视频加密、防盗链多种安全防护,减少盗播、录播风险。

(三)用户端开发

用户端主要包括全平台播放器部署,同时支持PC、手机、VR头显方式呈现。

全平台播放器部署采用了KSYMediaPlayer SDK的SDK包进行开发,重点实践了APP端的体验。KSYMediaPlayer SDK是金山云播放内核官方推出的在iOS和Android平台上使用的软件开发工具包(SDK),为iOS和Android开发者提供简单、快捷的接口,帮助开发者实现iOS和Android平台上的多媒体播放应用。

1.KSYMediaPlayer SDK的快速集成

金山云播放内核涵盖Android、iOS、Flash和浏览器插件四个平台,基于FFmpeg自主研发音视频媒体播放内核,作为一款全平台兼容的软件播放方案,金山云播放内核提供了跨终端平台的播放器SDK,以及开放的音视频播放、控制接口和完整的开源调用示例,不仅极大地降低了开发门槛,同时支持客户快速在多个平台发布产品。

(1)KSYMediaPlayer SDK功能

与系统播放器MPMoviePlayerController接口一致,可以无缝快速切换至KSYMediaPlayer;本地全媒体格式支持, 并对主流的媒体格式(mp4、avi、wmv、flv、mkv、mov、rmvb等)进行优化;支持广泛的流式视频格式,HLS、RTMP、HTTP Rseudo-Streaming等;低延时直播体验,配合金山云推流sdk,可以达到全程直播稳定的4秒内延时;实现快速满屏播放,为用户带来更快捷优质的播放体验;支持画面旋转、音量调节等各种功能;版本适配支持iOS 7.0以上版本;业内一流的H.265解码;2M大小的超轻量级直播sdk;支持bitcode,提供了支持直播和点播两个静态库。相比直播,点播支持了更丰富的封装格式和音视频编解码格式,二者支持的具体功能如表4:

表4 点播和直播支持协议

(2)运行环境

KSY MediaPlayer iOS SDK可运行于iPhone/iPod Touch/iPad,支持iOS7.0及以上版本;支持armv7/arm64以及虚拟机运行。

(3)快速集成

Step1集成framework

将金山云SDK解压后,将framework目录下KSYMediaPlayer.framework复制到项目下,选择需要集成的target,在target->BuildPhases->LinkBinaryWithLibraries下,将 KSYMediaPlayer.framework添加进去,然后添加另外四个系统库:

VideoToolbox.framework

libstdc++.6.tbd或者libstdc++.6.dylib

libbz2.tbd或者libbz2.dylib

libz.tbd或者libz.dylib

Step2调用

打开需要集成播放视频功能的视图源码,把如下代码复制并粘贴到将要播放视频的位置,列入到播放/停止按钮的方法中。

1.导入头文件

#import

2.初始化player

准备需要视频播放的UIView;

新建 player;

设置 url;

调用prepareToPlay开始播放。由于已经设置shouldAutoplay为TRUE,则prepare完成后立即开始播放。

三、结语

通过上述的采集、处理、分发、播放等集成一体的VR直播解决方案,达到了稳定输出的效果,可以通过APP和VR眼镜进行观看直播。

随着直播的不断演化发展,直播对于各行各业的影响也在日益深入,并逐渐开始从个人走向企业,已经成为一个标配,成为大家传递信息的一种新方式。VR将是信息传递的重要方式。VR直播将扮演非常重要的角色。它会深入到生活的方方面面,深入到各个行业中。未来3到5年,VR直播行业将会有较大的发展,会成为人们日常生活中获取知识并与亲朋好友交流的一种重要方式。

猜你喜欢
全景云端矫正
戴上耳机,享受全景声 JVC EXOFIELD XP-EXT1
云端之城
全景敞视主义与侦探小说中的“看”
“体态矫正”到底是什么?
行走在云端
云端创意
从5.1到全景声就这么简单 FOCAL SIB EVO DOLBY ATMOS
全景搜索
矫正牙齿,不只是为了美
矫正牙齿,现在开始也不迟