​ 在本文之前,我们发布了Unity环境下的RTMP推流(Windows平台+Android平台)和RTMP|RTSP拉流(Windows平台+Android平台+iOS平台)低延迟的解决方案,今天做个整体汇总,权当抛砖引玉。 1.Unity环境下RTMP推流 Unity环境下,不管是camera还是窗体数据也好,主要是高效率的拿到原始数据,采集端可用的数据格式是RGB的,拿到之后,通过高效率的数据传递,发给封装后的原生SDK,完成数据编码和RTMP推送。 ​ 需要注意的地方有几点: 1.数据采集投递,确保高效率; 2.屏幕分辨率发生变化,可实时适配; 3.Unity和原生SDK之间...

什么是自旋锁? C自旋锁是一种低层次的同步原语,用于保护共享资源的访问。自旋锁是一种轻量级的锁,适用于短时间的资源锁定。 自旋锁的特点:当一个线程尝试获取已经被另一个线程占有的自旋锁时,这个线程会进入一个循环(自旋),在这个循环中它不断地检查锁是否已经被释放。如果锁已经被释放,那么该线程就可以获取到锁并执行。如果锁仍然被占用,该线程就会一直处于自旋状态,直到获取到锁。 自旋锁的一个重要特点是它不会导致调用者睡眠,如果自旋锁已经被占用,调用者会一直处于忙等待状态,直到能够获取到锁。这就意味着自旋锁应当只在持锁时间短并且线程不会被阻塞的情况下使用,否则会浪费处理器时间,降低多处理器系统的并行性能...

技术背景 我们在做Android平台GB28181设备接入侧模块的时候,特别是执法记录仪或类似场景,系统除了对常规的录像有要求,还需要能和GB28181平台侧交互,比如实现设备侧视音频文件检索、下载或回放。本文假定记录仪或相关设备已经完成录像,主要来探讨下设备视音频文件检索相关。 规范解读 先回顾下GB/T28181-2016视音频文件检索基本要求: 文件检索主要用区域、设备、录像时间段、录像地点、录像内容为条件进行查询,用Message消息发送检索请求和返回查询结果,传送结果的Message消息可以发送多条,应支持附录N多响应消息传输的要求。文件检索请求和应答命令采用MANSCDP协议格式定...

随着VR类、游戏类场景的快速发展,开发者对Unity3d低延迟的直播需求量越来越大,前两年,大牛直播SDK发布了Windows平台、Android平台和iOS平台的Unity3dRTMP和RTSP的播放,好多公司用起来体验都非常好,以下介绍大概实现流程。 本文以Android平台为例,我们的实现:基于大牛直播SDK现有非常成熟的nativeRTMP和RTSP播放模块,回调解码后的原始数据,传递给Unity3d,实现相应的绘制即可,对应demo,可以参考Github。 具体步骤如下: 1.NativeRTSP或RTSP直播播放SDK回调RGB/YUV420/NV12等其中的一种未压缩的图像格...

  rWdoMCxJ3E9e   2023年11月02日   28   0   0

技术背景 随着Unity3D的应用范围越来越广,越来越多的行业开始基于Unity3D开发产品,如传统行业中虚拟仿真教育、航空工业、室内设计、城市规划、工业仿真等领域。 基于此,好多开发者苦于在Unity环境下,没有低延迟的推拉流解决方案,前几年,我们在Unity环境下推出了跨平台低延迟的RTMP|RTSP直播播放器,很好的解决了好多对延迟要求苛刻的使用场景。 随着时间的推移,越来越多的开发者联系我们,希望我们能推出Unity环境下的RTMP推送模块,获取到unity的实时数据,更低延迟更高效率的实现数据传输推送,基于此,我们发布了Unity环境下的RTMP推送模块。 本文以Windows平...

  rWdoMCxJ3E9e   2023年11月02日   63   0   0

技术背景 随着Unity3D的应用范围越来越广,越来越多的行业开始基于Unity3D开发产品,如传统行业中虚拟仿真教育、航空工业、室内设计、城市规划、工业仿真等领域。 基于此,好多开发者苦于在Unity环境下,没有低延迟的推拉流解决方案,前几年,我们在Unity环境下推出了跨平台低延迟的RTMP|RTSP直播播放器,很好的解决了好多对延迟要求苛刻的使用场景。 随着时间的推移,越来越多的开发者联系我们,希望我们能推出Unity环境下的RTMP推送模块,获取到unity的实时数据,更低延迟更高效率的实现数据传输推送,基于此,我们发布了Unity环境下的RTMP推送模块。 本文以Windows...

技术背景 随着智慧数字人、AI数字人的兴起,越来越多的公司着手构建​全息、真实感数字角色等技术合成的数字仿真人虚拟形象,通过“虚拟形象+语音交互(T-T-S、ASR)+自然语言理解(NLU)+深度学习”,构建适用于数字客服、虚拟展厅讲解、 智慧城市、智慧医疗、智慧教育等场景,通过人机可视化语音交互,释放人员基础劳动力,降低运营成本,提升智慧交互体验。​ ​一个有“温度”的智慧数字人,有多个维度组成,如图像识别、语音识别、语义理解等,本文主要阐述的是如何把这样一个智慧数字人,通过编码传输,以更低的延迟和好的体验,呈现给用户。​ 技术实现​ ​本文以Windows平台为例,从技术角度探讨...

  rWdoMCxJ3E9e   2023年11月02日   38   0   0

背景 尽管Windows平台有诸多优势,Linux平台的发展还是势不可挡,特别实在传统行业,然而Linux生态构建,总是差点意思,特别是有些常用的组件,本文基于已有的Linux平台RTSP、RTMP播放模块,构建Unity下的RTSP和RTMP直播播放。 技术实现 实际上,Unity层面这块没什么好介绍的,和Windows、Android、iOS平台一样,调用原生的播放模块,回调解码后的数据,在Unity绘制,主要的技术难点,还在原生的处理,也就是拉流、解码、回调数据这块。 先上个只管感受图,本视频以Windows平台采集秒表计时器窗体,然后编码打包传输到RTMP服务,Unity3D的Linu...

  rWdoMCxJ3E9e   2023年11月02日   32   0   0

好多开发者的使用场景,需要在Windows特别是Android平台实现Unity3D的全景实时视频渲染,本文以Windows平台为例,简单介绍下具体实现: 如果是RTSP或RTMP流数据,实际上难点,主要在于拉取RTSP或RTMP流,解析解码,然后把解码后的YUV数据,回调到Unity层,Unity创建个Sphere,创建个材质球(Material),并把材质球挂在到Sphere即可。 本文以Windows推送端采集全景视频,编码推送到RTMP服务器,播放端拉流回调数据并在Unity渲染为例(左侧是Unity播放端,滑动鼠标,可以实现全景内容切换): 废话不多说,大概流程如下: 本文以调用我...

  rWdoMCxJ3E9e   2023年11月02日   44   0   0

​背景 随着技术发展的日新月异,虚拟现实产业已经从过去的探索期,自2020年起,慢慢过渡到高速发展期,随着5G时代的到来,大带宽高可靠低延迟网络环境,为虚拟现实产业提供了很好的网络保障,虚拟现实在越来越多的场景下有了应用价值,典型场景如工业互联网、虚拟仿真、文旅文博、智慧交通、智慧能源、智慧医疗、智慧校园、智慧农业等。同事,行业也对清晰度、流畅性和交互感也提出了更高的要求。本文从Android平台的采集推送为例,介绍下基于头显或类似终端的低延迟解决方案。 实现 大多数头显设备,基于Android平台,本文以Unity环境下的窗体采集、麦克风、和Unity内部音频采集为例,介绍下具体实现思路,其...

  rWdoMCxJ3E9e   2023年11月02日   59   0   0

Unity下RTMP直播背景方面不再赘述,今天主要讨论的是,Unity环境下,如何实现Camera高帧率RTMP推送,这里提到的高帧率,不再局限于常规环境下的30帧,以VR头显为例,更高的帧率(比如50帧),体验会更好。 Android平台Unity推送Camera Windows平台Unity推送Camera 之前,我们老早实现了Unity环境下的RTMP低延迟推送,原生环境下,比如windows下,可轻松实现50帧+的编码和RTMP推送(需要播放端也有高帧率播放的能力)。 好多开发者对这块比较感兴趣,今天分享几个点,权当抛砖引玉: 数据源:拿到期望的高帧率数据是基础,以Android...

  rWdoMCxJ3E9e   2023年11月02日   62   0   0

关于Unity实现RTMP直播推送技术方案,之前零散的写过几篇介绍,得到了好多开发者的关注。以Android平台为例,目前视频这块,我们demo实现的是Camera数据的采集,然后编码投递到底层,如果设备没有性能瓶颈,可达到高帧率(60帧)均匀的RTMP推送效果。 视频采集这块,不再是难题,用ReadPixels从当前RenderTarget读取到图像数据即可,视频编码的话,我们分软编码、硬编码两块,硬编码,我们又实现了native层的硬编(5.0+以上版本),效率更高,native层我们做的可圈可点的一个地方是,armv7a也可以支持。 视频采集这块,需要考虑的是,如果场景分辨率发送变化,需...

  rWdoMCxJ3E9e   2023年11月02日   84   0   0

技术回顾 在本文开头,我们先一起回顾下GB/T28181联网系统通信协议结构: 联网系统在进行视音频传输及控制时应建立两个传输通道:会话通道和媒体流通道。 会话通道用于在设备之间建立会话并传输系统控制命令; 媒体流通道用于传输视音频数据,经过压缩编码的视音频流采用流媒体协议RTP/RTCP传输。 具体如下图: 我们先来看看会话初始协议: 安全注册、实时视音频点播、历史视音频的回放等应用的会话控制采用IETFRFC3261规定的Register、Invite等请求和响应方法实现; 历史视音频回放控制采用SIP扩展协议IETFRFC2976规定的INFO方法实现; 前端设备控制、信息查询、...

  rWdoMCxJ3E9e   2023年11月02日   105   0   0
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~