GMTC2018 《AR在直播系统中的应用》 李超
2020-02-27 283浏览
- 1.AR在直播中的应用 李超 沪江音视频架构师
- 2.
- 3.
- 4.01 VR/AR/MR 介绍 02 AR技术与现状 03 ARKit运行机制 04 AR核心概念 05 ARKit Demo 任意门 06 ARCore 运行机制 07 ARCore 与 ARKit 区别 08 AR在直播系统中的应用
- 5.PART 01 01 VR/AR/MR 介绍
- 6.VR (Virtual Reality) VR 虚拟现实,是一种可以创建和体验的计算机仿真系统。用户可以完全沉浸到该环境中并在该环境中 进行各种交互。
- 7.
- 8.AR (Augmented Reality) 增强现实,就是将虚拟世界与现实世界结合到一起,并能进行互动。 AR 增强现实技术,是一种实时地计算视频图像的姿态(位置和角度)并在视频里加上相应图像、视频、3D模型的技术。
- 9.
- 10.MR MR (Mixed Reality) 混合现实技术,是虚拟现实技术的进一步发展,该技术通过在虚拟环境中引入真实场景。也就是说, MR是合并现实和虚拟世界而产生的新的可视化环境。
- 11.PART 02 02 AR技术与应用现状
- 12.2017ARKit发布 2017年6月5日,WWDC上苹果的发布 ARKit。世界为之震惊,AR从之前的象牙塔走入了“寻常百姓家”。 ARkit的推出,加速了AR行业的发展。
- 13.Tango 在 ARKit之前,Google的 Tango项目特别吸引 人们的眼球,但它需要专门的硬件。 ARKit推出后,只需要一台手机就可做到了。 TANGO
- 14.AR应用场景 从目前的情况看,AR技术很可能在以下几个行业里 最先被应用推广。 游戏 电商 教育 直播 AR
- 15.PART 03 03 AR核心概念
- 16.特征点 特征点是计算机视觉中的一种关键技术。通常用在人脸 AR识别中。 特征点是指图像灰度值发生剧烈变化的点或者在图像边 缘上曲率较大的点。像边缘特征点,角点等都是常见的 特征点。
- 17.运动跟踪 ARKit 使用视觉惯性测距技术获取手机的姿态 AR(位置与方向)。 其原理是,对摄像头采集到的图像序列进行计算 机视觉分析,找出其 特征点 在连续的图像帧之 间的位置变化,再通过设备的运动传感器,最终 得到设备的位置和方向。 AR
- 18.场景理解 AR场景理解中最重要的就是平面检测 。 也就是识别出地面、桌子等平面。 识别的方法,是在 3D 空间中,Y值为0的一个区域。
- 19.光线评估 AR通过手机估算出当前环境的光线强度, 这样可以让虚拟物体显示在真实环境中更加逼真。
- 20.PART 04 04 ARKit运行机制
- 21.ARKit的核心类 ARCamera ARSession ARSCNView
- 22.ARKit虚拟物品 SCNScene SCNNode SCNMaterial
- 23.ARKit运行机制 • ARConfiguration • ARFrame • ARAnchor
- 24.PART 05 05 ARKit Demo 任意门
- 25.
- 26.PART 06 06 ARCore 运行机制
- 27.ARCore核心Session类 Google的 ARCore 只实现在AR的核心算法 运动跟踪、场景理解、光照评估 ARCore 的核心是Session类,它实现在 了上面的三大技术。
- 28.ARCore运行机制 Session OpenGL ES ARCORE GLSurfaceView
- 29.View组件 要了解 Surface、SurfaceTexture、SurfaceView、 GLSurfaceView、TextureView 等组件的相关知识。
- 30.OpenGL ES • 矩阵变换 AR•什么是EGL • OpenGL ES API
- 31.PART 07 07 ARCore与ARKit的迥异
- 32.ARKit与ARCore AR它们使用相同的核心算法。 • ARKit 类和API相对更完整。ARCore只关注核心算法。 • ARKit可以商用,ARCore只能在有限的机型上测试,未 来的路还很长。
- 33.PART 08 08 AR在直播系统中的应用
- 34.AR 视频通话与AR 音视频通话的基本原理:采集,编码,传输,解码,渲染。 AR在视频通话中的实现与本地的AR应用有着本质的区别。
- 35.
- 36.视频通话与AR要解决的难点 远端视频如何在虚拟屏幕上渲染? AR与非AR客户端, 甚至 ARKit 与 ARCore 如何互通? AR端无法直接从 ARCamera 获取视频 帧率过高导致传输码流过大
- 37.设置参数及启动Session configuration.planeDetection= .horizontal sceneView.debugOptions= [ARSCNDebugOptions.showFeaturePoints] sceneView.automaticallyUpdatesLighting=true sceneView.session.run(configuration)
- 38.获得锚点及设置虚拟物品 ExtensionARViewController:ARSCNViewDelegate{ funcrenderer(_renderer:SCNSceneRenderer,didAddnode:SCNNode,foranchor:ARAnchor){ …… } } Guard let portalScene =SCNScene(named:"Model.scnassets/tjgc.scn") else { return } Let portalNode = portalScene.rootNode.childNode(withName:"tjgc",recursively:false)!
- 39.展望 裸3D离我们还很遥远,但通过手机我们可以实 现部分黑科技,可以将 AR 认为是一个瓶子, 这个瓶子可以装天下 目前AR才刚刚起步我们可以畅想,但还需要生态, AR之路并非坦途 AR
- 40.
- 41.
- 42.
- 43.