| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 三维,XR视频低延时实时传输 -> 正文阅读 |
|
[游戏开发]三维,XR视频低延时实时传输 |
前言 伴随硬件性能和网络带宽的提升,终端部署的三维实时渲染,VR,AR等高计算,高数据量的服务也逐步可实现集中部署或云端部署。如云游戏,智慧园区中的数字孪生,智慧城市中的数据可视化,智慧教育中的三维可视化课程。云端部署一方面有利于简化终端配置要求,另外一方面可以更方便的实现内容管理,版权保护等。 云游戏,数字孪生等应用场景中,实现云端部署的核心技术要求是必须做到在保证视频质量的前提下必须做到低延时。与传统的单项直播或者点播不同,该场景下伴随着操作交互。如云游戏中,视频画面必须快速伴随终端设备的操作做出调整(如终端鼠标,键盘操作切换视角)。最近公司做了一个三维实时编码传输模块,下面描述下具体需求和实现。 参数要求 视频:分辨率可支持720P/1080/2K/4K,帧率25/30/60fps,根据硬件配置和项目需求可选 视频编码格式:H.264,H.265 码率:可调(1-10M) 开启:秒开 全流程延时:<100ms(含编码 传输 解码) 架构:B/S, C/S可选 操作系统:Windows 和 Linux 方案 因为公司有行业领先的RTC实时低延时传输技术,因此对我们来讲关键是视频编码部分。因为三维图像实时渲染一般通过GPU实现,因此视频编码选择GPU编码,这样可以节省硬件投资。 GPU视频编码 图像和视频类算法的特性是数据量大,分块化,可并行。这种算法用通用CPU计算效率低,成本高,却特别适合硬件模块化,计算并行化。最早期的视频编码芯片(如TI)是将视频编码算法的部分硬件化(如运动估计,运动补偿,熵编码),整个算法的实现还需开发人员排流水,实现并行化。当前视频编码一般直接调用硬件厂商提供的接口即可。当然如果想根据自身应用特点对调整相应编码器参数,就需要对视频编码算法本身有一定的了解。 英伟达GPU 视频编码 首先需要对英伟达GPU架构做基本了解,同时对选择的GPU编码性能做一定评估。可以在英伟达相关网站查询了解相关信息。NVIDIA VIDEO CODEC SDK | NVIDIA Developer;Video Encode and Decode GPU Support Matrix [NEW] | NVIDIA Developer; 根据上图可以对GPU编码架构有整体认识,GPU编码单元与其他单元的关系 ?然后通过上图判断选择的GPU属于那个系列,具有多少个视频编码单元,编码路数是否有限制。 通过上图可以看下GPU对应型号在不同模式下的编码性能。 根据上图可以判断选择的GPU编码性能 最后根据需求或客户选定的GPU型号,对GPU视频能力有大致判断。 实现 ?实现上不做详细描述了,参考NVIDIA VIDEO CODEC SDK。 视频编码参数根据网络环境 服务器配置 客户需求进行相应调整。 传输上需要采用低延时传输算法,传统的流媒体传输算法无法满足。 最终实现低延时三维实时传输互动视频? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 20:36:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |