首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏RTSP/RTMP直播相关

    Unity下如何实现低延迟的全景RTMP|RTSP流渲染

    以下是一些可以使用Unity3D全景播放的场景:虚拟现实体验:全景视频可以用来创建逼真的虚拟环境,使用户能够感受到身临其境的感觉;培训模拟器:全景视频可以用来创建真实的训练环境,例如飞行模拟器、驾驶模拟器等 在Unity3D平台上实现全景实时RTMP或RTSP流渲染,可以通过以下方式:获取全景视频数据源:首先,需要拉取RTMP或RTSP流数据,解码后,把RGB或YUV数据,回调到unity,从而获取到全景视频流数据 技术实现图片本文以大牛直播SDK的RTMP推送端作为数据采集,获取全景窗体数据后,编码打包推送到RTMP服务,或启动个轻量级RTSP服务,对外提供个RTSP的拉流URL。 然后,播放端,拉取RTSP或RTMP的URL,把YUV或RGB数据回调上来,然后,再在Unity窗体绘制出来。 全景播放RTMP或RTSP实时流,可以广泛用于各种需要提供真实场景或沉浸式体验的场景,为用户带来更加逼真的体验。

    65000编辑于 2023-07-27
  • 来自专栏RTSP/RTMP直播相关

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

    好多开发者的使用场景,需要在Windows特别是Android平台实现Unity3D的全景实时视频渲染,本文以Windows平台为例,简单介绍下具体实现: 如果是RTSP或RTMP流数据,实际上难点,主要在于拉取 RTSP或RTMP流,解析解码,然后把解码后的YUV数据,回调到Unity层,Unity创建个Sphere,创建个材质球(Material),并把材质球挂在到Sphere即可。 本文以Windows推送端采集全景视频,编码推送到RTMP服务器,播放端拉流回调数据并在Unity渲染为例(左侧是Unity播放端,滑动鼠标,可以实现全景内容切换): unity全景.jpg 废话不多说 ,大概流程如下: 本文以调用我们写的RTSP、RTMP直播播放模块为例,首先是初始化模块,然后设置拉流的参数信息: public void Play(int sel) { if (videoctrl 下实现RTMP或RTSP全景视频播放的大概流程,感兴趣的开发者可自行尝试。

    1.5K50编辑于 2022-04-05
  • 来自专栏RTSP/RTMP直播相关

    Unity环境下RTMP推流+RTMP播放低延迟解决方案

    在本文之前,我们发布了Unity环境下的RTMP推流(Windows平台+Android平台)和RTMP|RTSP拉流(Windows平台+Android平台+iOS平台)低延迟的解决方案,今天做个整体汇总 Unity环境下RTMP推流 Unity环境下,不管是camera还是窗体数据也好,主要是高效率的拿到原始数据,采集端可用的数据格式是RGB的,拿到之后,通过高效率的数据传递,发给封装后的原生SDK,完成数据编码和 RTMP推送。 Unity环境下RTMP|RTSP播放器 Unity环境下RTMP或RTSP直播播放我们前几年就有发布,并已应用在好多传统行业领域,比如教育或工业仿真或一些低延迟的控制场景。 相关博客: Windows平台Unity3d下如何同时播放多路RTSP或RTMP流 https://cloud.tencent.com/developer/article/1800633 如何在Unity3d

    4.2K10发布于 2021-06-15
  • 来自专栏RTSP/RTMP直播相关

    Unity平台如何实现RTSP转RTMP推送?

    技术背景Unity平台下,RTSP、RTMP播放和RTMP推送,甚至包括轻量级RTSP服务这块都不再赘述,今天探讨的一位开发者提到的问题,如果在Unity下,实现RTSP播放的同时,随时转RTMP推送出去 RTSP转RTMP,在原生环境下老早已经有了,这里,其实就是把原生的挪到Unity即可,相关流程如下:图片技术实现本文以Windows平台为例,在RTSP播放模块的基础上,加个RTSP转RTMP推送模块 开始转推RTMP、停止转推:public bool StartPush(int sel, String url){ if (videoctrl[sel].is_pushing_) return audio_info.parameter_info_, audio_info.parameter_info_size_); }}总结实际上,Unity 环境下的RTSP转RTMP推送,相对RTMP、RTSP播放或推流,对接更容易,因为基本不涉及到页面交互,感兴趣的开发者可以尝试看。

    64200编辑于 2023-07-14
  • 来自专栏RTSP/RTMP直播相关

    Unity环境下实现Camera高帧率RTMP推送

    UnityRTMP直播背景方面不再赘述,今天主要讨论的是,Unity环境下,如何实现Camera高帧率RTMP推送,这里提到的高帧率,不再局限于常规环境下的30帧,以VR头显为例,更高的帧率(比如50 图片图片之前,我们老早实现了Unity环境下的RTMP低延迟推送,原生环境下,比如windows下,可轻松实现50帧+的编码和RTMP推送(需要播放端也有高帧率播放的能力)。 好多开发者对这块比较感兴趣,今天分享几个点,权当抛砖引玉:数据源:拿到期望的高帧率数据是基础,以Android或Windows的Unity环境为例,如果你想推50帧,起码camera能每秒读到超过50帧的数据 内部音频、麦克风+unity内部音频混音或Unity下2路内部音频混音,麦克风的话,可以原生实现,然后直接调用即可,Unity内部音频可以通过AudioClip读取数据,编码的话,考虑到通用性,一般建议 环境下高帧率RTMP推送一点抛砖引玉的介绍,实际开发过程中,可能还需要考虑多实例、异常网络环境处理等各种情况,如果原生开发这块,有很好的积累,这块都不难。

    92220编辑于 2022-08-21
  • 来自专栏RTSP/RTMP直播相关

    Android平台实现Unity3D下RTMP推送

    Unity3D下的RTMP或RTSP播放器一样,好多开发者苦于在Unity环境下,如何高效率低延迟的把数据采集并编码实时推送到流媒体服务器,实现Unity场景下的低延迟推拉流方案。 如果只需要拿到Unity的窗体或摄像机数据推出去,可在Unity下获取到需要推送的原始数据,然后封装原生的RTMP推流接口,调用原生SDK实现数据推送,这种做法的好处是,可以自定义需要采集的数据内容,只要按照原生 Android平台Unity3D的RTSP或RTMP播放器,可以参考 https://cloud.tencent.com/developer/article/1800633 本文以Android平台为例 ,介绍下Unity环境下的Android平台RTMP推流,数据采集在Unity完成,数据编码推送,调用大牛直播SDK(官方)Android平台RTMP直播推送SDK原生库对外二次封装的接口,高效率的实现 下图系Android平台Unity环境下采集屏幕,编码推送到RTMP服务器,然后Windows平台播放器拉取RTMP流播放,为了方便看到延迟效果,特地在Android端的Unity窗口显示了当前时间,可以看到

    1.2K30发布于 2021-06-08
  • 来自专栏RTSP/RTMP直播相关

    Unity下如何实现RTMP或RTSP播放端录像?

    好多开发者问我们,Unity环境下,除了RTSP或RTMP的播放,如果有录像诉求,怎么实现?实际上录像相对播放来说,更简单一些,因为不涉及到绘制,只要拉流下来数据,直接写mp4文件就好了。 本文以大牛直播SDK的Windows平台为例,大概介绍下如何实现Unity环境下的录制,Linux、Android、iOS平台实现也类似,都是原生接口,然后对接下就好:图片开始录像因为涉及到可能同时录制多路的场景 NTSmartPlayerSDK.NT_SP_Close(videoctrl[sel].player_handle_); videoctrl[sel].player_handle_ = IntPtr.Zero; }}以上是Unity 平台RTMP或RTSP播放端录像相关接口设计和调用实例,感兴趣的开发者可以参考。

    50800编辑于 2023-09-11
  • 来自专栏RTSP/RTMP直播相关

    Unity低延迟RTSP|RTMP播放器开发指南

    概述与优势1.1 SDK功能特性1.1.1 支持协议与格式 支持RTMP、RTSP协议,兼容H.265、H.264视频格式及AAC、PCMA等音频格式,满足多样化播放需求。 Unity播放器架构设计2.1 核心模块划分2.1.1 PlayerInstance模块 管理单个播放实例的生命周期,负责视频播放、录制及视频帧回调。 核心技术架构设计4.1 原生模块与Unity的高效交互大牛直播SDK的核心优势在于其原生模块(Windows/Linux/Android/iOS)直接处理流媒体协议解析、解码和网络优化,仅将解码后的YUV /RGB数据通过回调接口传递给Unity,避免在Unity层处理复杂的协议栈和解码逻辑。 的Texture2D,避免每帧重建(通过is_need_init_texture_标志控制) 结语通过大牛直播SDK的深度集成与参数调优,开发者能够在Unity中构建毫秒级延迟的RTSP/RTMP播放器

    97210编辑于 2025-02-20
  • 来自专栏RTSP/RTMP直播相关

    Android平台如何实现Unity3D下RTMP推送

    Unity3D下的RTMP或RTSP播放器一样,好多开发者苦于在Unity环境下,如何高效率低延迟的把数据采集并编码实时推送到流媒体服务器,实现Unity场景下的低延迟推拉流方案。 如果只需要拿到Unity的窗体或摄像机数据推出去,可在Unity下获取到需要推送的原始数据,然后封装原生的RTMP推流接口,调用原生SDK实现数据推送,这种做法的好处是,可以自定义需要采集的数据内容,只要按照原生 本文以Android平台为例,介绍下Unity环境下的Android平台RTMP推流,数据采集在Unity完成,数据编码推送,调用大牛直播SDKAndroid平台RTMP直播推送SDK原生库对外二次封装的接口 ,高效率的实现RTMP推送。 下图系Android平台Unity环境下采集屏幕,编码推送到RTMP服务器,然后Windows平台播放器拉取RTMP流播放,为了方便看到延迟效果,特地在Android端的Unity窗口显示了当前时间,可以看到

    1.5K20发布于 2021-06-08
  • 来自专栏RTSP/RTMP直播相关

    Unity下如何实现RTMP或RTSP流播放和录制

    技术背景在探讨Unity平台RTMP或RTSP直播流数据播放和录制之前,我们先简单回顾下RTSP或RTMP直播流数据在Unity平台的播放流程:通过Native RTSP或RTSP直播播放SDK回调RGB /YUV420/NV12等其中的一种未压缩的图像格式;Unity下创建相应的RGB/YUV420等Shader; Unity从各个平台获取图像数据来填充纹理即可。 Unity3D环境下,我们之前已覆盖以下模块:Windows平台RTMP直播推送模块(采集Unity窗体、摄像头或屏幕); Windows平台RTMP|RTSP直播播放模块; Linux平台RTMP 直播推送模块(采集Unity窗体、Unity声音); Linux平台RTMP|RTSP直播播放模块; Android平台RTMP直播推送模块(采集Unity窗体、麦克风或Unity声音); Android 平台RTMP|RTSP直播播放模块; iOS平台RTMP|RTSP直播播放模块。

    2.7K60编辑于 2022-12-24
  • 来自专栏RTSP/RTMP直播相关

    Windows平台Unity下播放RTSP或RTMP如何开启硬解码?

    ​ 我们在做Windows平台Unity播放RTMP或RTSP的时候,遇到这样的问题,比如展会、安防监控等场景下,需要同时播放多路RTMP或RTSP流,这样对设备性能,提出来更高的要求。 虽然我们软解码,已经做的资源占有非常低了,但考虑到多路播放的情况,我们也设计了硬解码的接口,下面大概讲下,如何在Unity下开启硬解码: 图片 检测系统是否支持硬解码 /* * 检查是否支持 extern UInt32 NT_SP_SetH265HardwareDecoder(IntPtr handle, Int32 is_hardware_decoder, Int32 reserve); Unity

    78110编辑于 2023-08-25
  • 来自专栏RTMP推送

    SmartMediakit的RTMP推流全景解析:低延迟、跨平台与系统协同

    文章将从 协议规范、架构实现、平台与功能全景、时间域同步机制、网络自适应与断网重连、工程化落地方法论 等多个维度出发,深入解析它如何在快速变化的时代中依然保持稳定、如何让“实时”真正接近“现实”。 扩展 H.265 与 Enhanced RTMP; 支持多层合成、混音、AGC、VAD、降噪; 支持录像模块、Unity 接口与 SEI 扩展。 四、平台功能清单(全景RTMP 推流模块的核心价值,在于它在不同平台上都能保持一致的功能结构和性能表现。 与 RTMP H.265 扩展(特定机型硬编) 支持录像扩展模块与 Unity 引擎接口 健壮性特征 断网自动重连与网络状态回调 全链路异常自恢复机制 兼容多实例、多窗口场景运行 Linux 平台 与 Unity / 三维引擎: 提供 Unity 接口,可无缝接入 XR、头显与可视化仿真系统,让实时视频流成为三维空间的一部分,支撑更沉浸的交互体验。

    47610编辑于 2025-11-03
  • 来自专栏RTSP/RTMP直播相关

    Unity3D下Linux平台播放RTSP或RTMP

    背景 尽管Windows平台有诸多优势,Linux平台的发展还是势不可挡,特别实在传统行业,然而Linux生态构建,总是差点意思,特别是有些常用的组件,本文基于已有的Linux平台RTSP、RTMP播放模块 ,构建Unity下的RTSP和RTMP直播播放。 技术实现 实际上,Unity层面这块没什么好介绍的,和Windows、Android、iOS平台一样,调用原生的播放模块,回调解码后的数据,在Unity绘制,主要的技术难点,还在原生的处理,也就是拉流、 先上个直观感受图,本视频以Windows平台采集秒表计时器窗体,然后编码打包传输到RTMP服务,Unity3D的Linux平台RTMP播放器拉流播放,整体延迟毫秒级。 Unity下,简单来说就是拉流解码回调,上层绘制,其实也没有那么复杂,需要注意的是DllImport的写法、之前C++结构体或枚举的转换、Unity3D对Linux的版本兼容等一些细节,对熟悉C#的开发者来说

    1.4K20编辑于 2022-04-01
  • 来自专栏RTSP/RTMP直播相关

    Windows平台Unity Camera场景实现轻量级RTSP服务和RTMP推送

    技术背景 随着VR技术在医疗、军事、农业、学校、景区、消防、公共安全、研学机构、展厅展馆,商场等场所普及,开发者对Unity平台下的直播体验提出了更高的要求。 技术实现 Unity平台下的RTMP推流、RTMP、RTSP播放前几年已经覆盖了Windows、Linux、Android、iOS平台。 本文主要介绍Windows平台Unity环境下的轻量级RTSP服务。通过对外提供RTSP拉流URL的形式,供内网其他终端调用。 ,一个RTSP Service下面挂载多个RTSP Stream,对外提供RTSP拉流的URL,整体设计方案如下: 图片 我们看看支持的音视频采集选项,其中视频这块,除了Unity下的Camera场景覆盖 ,还有Windows摄像头、屏幕数据,音频采集覆盖了Unity声音、扬声器、麦克风,还有混音数据。

    83200编辑于 2023-02-28
  • 来自专栏RTSP/RTMP直播相关

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

    ​ 关于Unity实现RTMP直播推送技术方案,之前零散的写过几篇介绍,得到了好多开发者的关注。 以Android平台为例,目前视频这块,我们demo实现的是Camera数据的采集,然后编码投递到底层,如果设备没有性能瓶颈,可达到高帧率(60帧)均匀的RTMP推送效果。 麦克风的数据采集,我们是直接基于原生的Android,通过Unity调用Android实现数据采集推送,外部PCM数据,我们以AudioClip为例,读取到数据,每隔10ms传下去,两路外部PCM也就是两路 数据有了,实现RTMP推送这块,小菜一碟了,由于我们有多年的RTMP推送方面的技术积累,对我们来说,无非就是多一种类型的数据源而已。 经过实际测试,配合我们自研的RTMP播放器,轻松实现超过50帧的RTMP毫秒级延迟的体验,足够应对大多数行业场景了。​

    76400编辑于 2022-09-03
  • 来自专栏RTSP/RTMP直播相关

    Linux平台UnityRTMP|RTSP低延迟播放器技术实现

    、网络自动重连等,RTMP支持扩展H265播放, RTSP也支持H265播放。 Linux原生的RTSP、RTMP播放模块这里我们不做赘述,本文主要讲的是如何在Linux平台构建Unity下的RTSP和RTMP低延迟直播播放。 技术实现国产操作系统和Linux平台下,Unity环境的播放器,和Windows、Android、iOS平台基础流程并无大的差异,简单来说,通过调用原生的播放模块,回调解码后的YUV或RGB数据,投递到 Unity侧,在Unity下完成绘制,这里就需要原生的RTMP、RTSP播放模块,拉流解码延迟非常低,数据投递效率非常高,无图无真相:Linux平台,我们是回调的YUV的数据,也就是 NT_SP_E_VIDEO_FRAME_FROMAT_I420 RTMP、RTSP直播播放器大概的实现参考,随着国产操作系统的推进,Linux下RTMP、RTSP高质量的播放器需求越来越大,Unity下,可以实现和Windows、Android等平台统一开发管理,

    49300编辑于 2024-06-18
  • 来自专栏RTSP/RTMP直播相关

    如何在Unity3d实现多路RTSP或RTMP流播放

    好多开发者在做AR、VR或者教育类产品时,苦于如何在windows平台构建一个稳定且低延迟的RTSP或者RTMP播放器,如果基于Unity3d完全重新开发一个播放器,代价大、而且周期长,不适合快速出产品 等其中的一种未压缩的图像格式 比如Windows平台,我们回调YUV上来(NT_SP_E_VIDEO_FRAME_FROMAT_I420),本文以调用大牛直播SDK(Github)的Windows平台RTSP、RTMP Debug.LogError("sel: " + sel + " w:" + u3d_frame.width_ + "h:" + u3d_frame.height_); } } 3.Unity3D 具体播放效果如下 windows4player.png 总结 Unity3d下,做多路播放的话,首先确保调用的拉流解码数据的模块具备回调yuv/rgb数据能力,回上来后,再上层直接刷新显示即可,是不是没有你想的那么复杂

    2.5K00发布于 2021-03-12
  • 来自专栏RTSP/RTMP直播相关

    Unity实现高性能多实例RTSP|RTMP播放器技术实践

    Unity平台的优势与挑战Unity在多媒体应用中的优势 Unity作为一款强大的游戏开发引擎,具有高效的图形渲染能力和丰富的资源管理功能,能够很好地支持多媒体应用的开发。 整体架构设计废话不多说,先上实际测试时延,左侧用大牛直播SDK的Windows平台RTMP直播推送模块,采集毫秒计数器窗体,推RTMP到nginx服务器,右侧unity的播放器,播放RTMP流,同时四路播放 功能列表: [支持播放协议]RTMP、RTSP; [多实例播放]支持多实例播放; [事件回调]支持网络状态、buffer状态等回调; [视频格式]支持RTMP扩展H.265,H.264; [音频格式]支持 输入验证与错误处理 在用户输入视频流URL时,UIController类会对输入的URL进行验证,确保其符合RTSP或RTMP协议的格式。 随着人工智能技术的发展,在集成大牛直播SDK的Unity的RTSP|RTMP播放模块的时候,后续可以在播放器中引入智能播放和推荐功能。

    67000编辑于 2025-02-16
  • 来自专栏RTSP/RTMP直播相关

    RTSP|RTMP播放器 in Unity:开源不够用?从工程视角重新定义播放器选型

    因此,在 Unity 中集成 RTSP/RTMP 的播放器,已经成为多数可视化方案的基础能力要求。 一、 Unity下播放 RTSP / RTMP 的典型技术挑战尽管 Unity 拥有强大的跨平台图形能力,但它并不原生支持任何流媒体解码与播放功能。 主流开源方案技术对比对比维度FFmpeg 插件GStreamer for UnityVLC Unity 插件协议支持✅ RTSP / RTMP / 本地文件✅ 多协议,可自定义管线✅ RTSP / RTMP 以下是基于 RTSP/RTMP 协议和 Unity 渲染框架的典型落地场景,以及各自的技术价值分析。 中实现低延迟全景画面播放,支持头显端部署,画面流畅;支持与交互逻辑结合,实现“所见即控”体验远程医疗与检测手术辅助、远程设备监控实时视频传输延迟稳定在 100–250ms 内,支持1080P及4K高清流

    52400编辑于 2025-07-27
  • 来自专栏RTSP/RTMP直播相关

    Unity3D下如何采集camera场景数据并推送RTMP服务?

    Unity3D使用场景Unity3D是非常流行的游戏开发引擎,可以创建各种类型的3D和2D游戏或其他互动应用程序。 推送服务本文以大牛直播SDK开发的Unity3D下Android平台的RTMP推送camera场景的demo为例,结合Unity和原生模块交互,大概介绍下核心实现逻辑。 图片开始推送RTMP服务: public bool StartRtmpPusher() { if (is_pushing_rtmp_) { is_pushing_rtmp_ && ! _ = false; }技术总结Unity3D下采集camera场景并推送RTMP具有重要的意义,可以为实时监控、在线直播、视频教程制作、增强现实和虚拟现实应用以及数据记录和分析等领域提供有力的支持

    88740编辑于 2023-09-01
领券