Unity下实现跨平台的RTMP推流|轻量级RTSP服务|RTMP播放|RTSP播放低延迟解决方案

2018年,我们开始在原生RTSP|RTMP直播播放器的基础上,对接了Unity环境下的低延迟播放,毫秒级延迟,发布后,就得到了业内一致的认可。然后我们覆盖了Windows、Android、iOS、Linux的RTMP推送、轻量级RTSP服务和RTSP|RTMP播放。

目前看,Unity环境下,我们在行业内的延迟几乎是最低的(当然原生的RTSP|RTMP播放器也是),已经覆盖了以下模块:

  • Windows平台RTMP直播推送SDK(采集Unity窗体、摄像头或屏幕);
  • Windows平台轻量级RTSP服务SDK(采集Unity窗体、摄像头或屏幕);
  • Windows平台RTMP|RTSP直播播放SDK;
  • Linux平台RTMP直播推送SDK(采集Unity窗体、Unity声音);
  • Linux平台RTMP|RTSP直播播放SDK;
  • Android平台RTMP直播推送SDK(采集Unity窗体、摄像头、麦克风或Unity声音);
  • Android平台轻量级RTSP服务SDK(采集Unity窗体、摄像头、麦克风或Unity声音);
  • Android平台RTMP|RTSP直播播放SDK;
  • iOS平台RTMP|RTSP直播播放SDK。

1. Unity环境下RTMP推流、轻量级RTSP服务模块

Unity环境下,不管是camera还是窗体数据也好,主要是高效率的拿到原始数据,采集端可用的数据格式是RGB的,拿到之后,通过高效率的数据传递,发给封装后的原生SDK,完成数据编码和RTMP推送。

需要注意的地方有几点:

  1. 数据采集投递,确保高效率;

  2. 屏幕分辨率发生变化,可实时适配;

  3. Unity和原生SDK之间通信,比如event回调等;

  4. 屏幕数据如有水平或垂直翻转,需要有一定的矫正。

2. Unity环境下RTMP|RTSP播放器

Unity环境下RTMP或RTSP直播播放我们前几年就有发布,并已应用在好多传统行业领域,比如教育或工业仿真或一些低延迟的控制场景。

相关实现逻辑如下:

  1. Native RTSP或RTSP直播播放SDK回调RGB/YUV420/NV12等其中的一种未压缩的图像格式;

  2. Unity3D创建相应的RGB/YUV420等Shader;

3.Unity3D从各个平台获取图像数据来填充纹理即可;

需要注意的有几点:

  1. 多实例支持:播放端和推送不一样,比如智慧城市,播放端有多路场景,所以多实例支持是必备功能,多实例环境下,需要能有好的区分event状态回调等;

  2. 尽可能高效率的数据传递,确保资源占有最小化;

  3. 视频分辨率变化后,能自动适配;

  4. Unity和原生SDK之间通信,比如event回调等;

  5. 长时间运行稳定性。

相关博客

Windows平台Unity3d下如何同时播放多路RTSP或RTMP流

如何在Unity3d平台下低延迟播放RTMP或RTSP流

Windows平台实现Unity下窗体|摄像头|屏幕采集推送

Android平台实现Unity3D下RTMP推送

Unity3D平台实现全景实时RTMP|RTSP流渲染

Unity3D下Linux平台播放RTSP或RTMP流

Android平台实现VR头显Unity下音视频数据RTMP推送

Unity实现Camera和Audio数据的低延迟RTMP推送技术探讨

Android平台Unity下如何通过WebCamTexture采集摄像头数据并推送至RTMP服务器或轻量级RTSP服务

相关推荐
向宇it2 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
Heaphaestus,RC4 小时前
【Unity3D】获取 GameObject 的完整层级结构
unity·c#
芋芋qwq4 小时前
Unity UI射线检测 道具拖拽
ui·unity·游戏引擎
tealcwu5 小时前
【Unity服务】关于Unity LevelPlay的基本情况
unity·游戏引擎
大眼睛姑娘7 小时前
Unity3d场景童话梦幻卡通Q版城镇建筑植物山石3D模型游戏美术素材
unity·游戏美术
鹿野素材屋11 小时前
Unity Dots下的动画合批工具:GPU ECS Animation Baker
unity·游戏引擎
韦德斯13 小时前
嵌入式Linux的RTC读写操作应用
linux·运维·c语言·arm开发·实时音视频
CrystalShaw13 小时前
RTC QoS方法十三.(ReedSolomonFEC简介)
实时音视频
Vodka~13 小时前
物联网——UNIX时间戳、BKP备份寄存器、RTC时钟
物联网·实时音视频
小春熙子19 小时前
Unity图形学之着色器之间传递参数
unity·游戏引擎·技术美术·着色器