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

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

    Unity播放器架构设计2.1 核心模块划分2.1.1 PlayerInstance模块 管理单个播放实例的生命周期,负责视频播放、录制及视频帧回调。 3. 低延迟播放技术实现3.1 网络优化策略3.1.1 缓冲时间设置 将缓冲时间设置在几十毫秒到几百毫秒之间,减少数据缓冲带来的延迟,同时保证播放稳定性。 开启RTSP TCP/UDP自动切换功能,使播放器能根据网络状况自动选择最优传输模式。 /RGB数据通过回调接口传递给Unity,避免在Unity层处理复杂的协议栈和解码逻辑。 的Texture2D,避免每帧重建(通过is_need_init_texture_标志控制) 结语通过大牛直播SDK的深度集成与参数调优,开发者能够在Unity中构建毫秒级延迟的RTSP/RTMP播放器

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

    Linux平台Unity下RTMP|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等平台统一开发管理,

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

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

    此外,Unity的社区资源丰富,开发者可以方便地获取各种插件和工具,加速开发进度。 面临的挑战与解决方案 实现多实例播放器时,面临的主要挑战之一是资源管理和性能优化。 模式设置]支持RTSP TCP/UDP模式设置; [RTSP TCP/UDP自动切换]支持RTSP TCP、UDP模式自动切换; [RTSP超时设置]支持RTSP超时时间设置,单位:秒; [RTSP 401 Marshal.Copy(src, d_plane, dst_index, d_stride); src = IntPtr.Add(src, s_stride); // 按源步长移动指针}3. 总结与展望本文实现了一个高性能Unity多实例播放器,关键技术包括硬件解码、YUV处理和异步事件管理,毫秒级延迟,可以满足大多数低延迟场景诉求。 随着人工智能技术的发展,在集成大牛直播SDK的UnityRTSP|RTMP播放模块的时候,后续可以在播放器中引入智能播放和推荐功能。

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

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

    因此,在 Unity 中集成 RTSP/RTMP 的播放器,已经成为多数可视化方案的基础能力要求。 一、 Unity下播放 RTSP / RTMP 的典型技术挑战尽管 Unity 拥有强大的跨平台图形能力,但它并不原生支持任何流媒体解码与播放功能。 开发者通常需要自行调用底层系统 API 或集成第三方播放器实现 RTSP / RTMP 流播放。 3️⃣ 数据可视化与 AI 分析协同能力与通用播放器最大不同点之一是:不仅能看,还能“拿到每一帧”。 以下是基于 RTSP/RTMP 协议和 Unity 渲染框架的典型落地场景,以及各自的技术价值分析。

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

    RTSP协议探究和RTSP播放器技术实现

    RTSP协议探究RTSP播放器可广泛应用于对延迟要求比较高的场景下,比如协同操控相关的智能机器人或无人机、实时视频监控、远程视频会议、网络电视等。通过控制信令实现对流媒体数据的远程控制和传输管理。 如何实现RTSP播放器 本文以大牛直播SDK的Windows平台RTSP直播播放器为例,大概介绍下,如何集成RTSP直播播放能力。 相关cs头文件,加入需要集成的工程;3. IntPtr.Zero, video_frame_ts_callback_);NT_SP_SetAudioPCMFrameCallBack:设置音频PCM帧回调, 吐PCM数据出来,目前每帧大小是10ms,一般播放器无使用需求的话 就让播放器吐出数据来,用GDI绘制 //video frame callback (YUV/RGB) //format请参见 NT_SP_E_VIDEO_FRAME_FORMAT,如需回调YUV

    1.7K10编辑于 2024-08-08
  • 来自专栏RTSP/RTMP直播相关

    RTSP播放器技术选型指南

    通过全自研技术框架,大牛直播SDK的RTSP播放器以功能齐全、性能优异、超低延迟、低代码低集成复杂度,在行业内享有较高的评价,服务了数百家B端用户。 技术特点超低延迟与稳定性超低延迟:大牛直播SDK的RTSP播放器在延迟控制方面表现出色,能够将播放延迟稳定地控制在较低水平,这对于直播场景尤为重要,能够显著提升用户体验。 跨平台支持多平台兼容:大牛直播SDK的RTSP播放器支持Windows、Linux(x86_64|aarch64)\Android、iOS多个平台,满足了不同场景下的使用需求。 客户评价与市场认可客户反馈:数百家业内公司一致认可,大牛直播SDK的RTSP播放器在性能、稳定性和功能方面均表现出色。 RTSP播放器在超低延迟、稳定性、跨平台支持、功能丰富性、易用性与集成性等方面均表现出色,是一款值得推荐的流媒体播放解决方案。​

    1.1K10编辑于 2024-09-06
  • 来自专栏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 0.0f, 0.0f, 0.0f); } } 以上是Unity3D下实现RTMP或RTSP全景视频播放的大概流程,感兴趣的开发者可自行尝试。

    1.5K50编辑于 2022-04-05
  • 来自专栏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直播相关

    RTSP播放器开发填坑之道

    好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTSP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延迟:大多数RTSP的播放都面向直播场景,如果延迟过大,严重影响体验,所以,低延迟是衡量一个好的RTSP播放器非常重要的指标,目前大牛直播SDK的RTSP直播播放延迟比开源播放器更优异(大牛直播SDK ; 备注:如果是超低延迟模式下,可以0 buffer,不做音视频同步: 3. 支持多实例:大牛直播SDK提供的RTSP直播播放SDK支持在设备性能允许的情况下,支持多实例播放RTSP流数据,大多开源播放器对多实例支持不太友好; 4. D3D检测:一般来说市面上的大多Windows都支持D3D,有些小众化的,只支持GDI模式绘制,所以为了更好的兼容性,这个接口非常必要; 15.

    2.6K40发布于 2021-03-17
  • 来自专栏RTSP/RTMP直播相关

    Android平台Unity3D下如何同时播放多路RTMP|RTSP流?

    ​技术背景好多开发者,提到希望在Unity的Android头显终端,播放2路以上RTMP或RTSP流,在设备性能一般的情况下,对Unity下的RTMP|RTSP播放器提出了更高的要求。 实现思路目前,我们是通过大牛直播SDK原生的RTMP|RTSP播放器,设置回调解码后的YUV或RGB数据,然后投递到Unity层,在Unity层做渲染。 对于每一路RTMP或RTSP流,可以分别创建个播放实例,并启动播放。可以创建一个管理类,用于统一管理多个播放器实例,方便对多路流的播放状态进行监控和控制。 当从原生播放器中获取到视频流的数据后,需要将数据回调到 Unity 中进行渲染。 中播放RTMP|RTSP流可能并不简单,因为Unity没有内置对RTMP|RTSP的直接支持。

    48920编辑于 2024-09-23
  • 来自专栏RTSP/RTMP直播相关

    Android与Unity跨平台共享纹理的低延迟RTSPRTMP播放器实现

    因此,共享纹理方案 应运而生: 在原有低延迟软解/硬解的基础上,进一步优化视频渲染路径, 实现解码后的视频数据从 Android 原生播放器直接传递给 Unity 的渲染管线, 绕过 CPU 拷贝瓶颈, 我们的目标 在 Unity Android 平台 上,基于成熟的软解与硬解方案,稳定实现 RTSP/RTMP 直播流的超低延迟播放,支持从标清到超高清的高分辨率流媒体接入。 的 ExternalTexture 实现共享 架构分层: 原生播放器封装为 SmartPlayerUnity3d,对 Unity 层暴露接口 核心逻辑隐藏在 InternalSmartPlayer ,防止外泄与反编译 JNI 事件回调,保障数据同步 架构示意:[ RTSP/RTMP 流 ] ↓[ 大牛直播 SDK 播放器 (Native) ] ↓[ OpenGL OES 采用 超高清 RTSP/RTMP 视频流,结合 Unity 的三维场景可视化, 能够实现多视角、多终端的视频实时监控与调度。

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

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

    好多开发者在做AR、VR或者教育类产品时,苦于如何在windows平台构建一个稳定且低延迟的RTSP或者RTMP播放器,如果基于Unity3d完全重新开发一个播放器,代价大、而且周期长,不适合快速出产品 ,我们认为当前最好的方式就是集成现有Native平台上成熟稳定播放器,回调rgb/yuv数据到上层,上层做绘制即可。 ),本文以调用大牛直播SDK(Github)的Windows平台RTSP、RTMP播放器SDK为例,具体代码如下: public void Play(int sel) { } } 3.Unity3D创建相应的RGB/YUV420等Shader,获取图像数据来填充纹理即可 private void UpdateYUVTexture(VideoFrame 具体播放效果如下 windows4player.png 总结 Unity3d下,做多路播放的话,首先确保调用的拉流解码数据的模块具备回调yuv/rgb数据能力,回上来后,再上层直接刷新显示即可,是不是没有你想的那么复杂

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

    如何打造毫秒级响应的RTSP播放器:架构拆解与实战优化指南

    自研播放器虽然可以通过 GStreamer、FFmpeg 等工具链实现延迟压缩,但往往开发成本高、跨平台适配难、稳定性难以保障。那么,如何评估一款 RTSP 播放器的延迟表现? 二、 市面主流 RTSP 播放方案横向评估当前开发者在构建 RTSP 播放功能时,常面临“选用通用播放器 vs 自研定制 vs 商业SDK”之间的技术权衡。 延迟控制 支持裸码流直接回调,绕过传统缓冲机制; Windows/Android/iOS 平台可启用硬件解码(MediaCodec/VideoToolbox); 渲染链路精简,可与 OpenGL / Unity3D 跨平台适配 完整支持 Windows / Linux / Android / iOS / macOS / Unity3D / Web 平台; 支持裸SDK调用和 UI 控件集成,兼容 C/C++、Java 这一机制在 Unity3D、AR/VR头显设备中极为关键,可将系统延迟压缩至 100-200ms。

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

    【技术分享】如何实现功能完备性能优异的RTMP、RTSP播放器

    忙里偷闲,今天我们就再聊一聊老生常谈的问题:如何实现功能完备性能优异的RTMP、RTSP播放器? 音视频同步处理:在极端低延迟下,音视频同步是可以忽略的,如果超过200ms的音视频时间差值,感官体验还是很差的,除此之外,还有些前端RTMP或RTSP时间戳会乱跳,这种也需要很好的兼容和矫正。3. RTSP TCP/UDP模式设定、自动切换:TCP、UDP模式设定这个好理解,好多设备在特定网络环境下,可能仅支持单模式,甚至有些服务器转出来的RTSP流,服务端就做了限定,如果一个通用的RTSP播放器 可扩展:比如,我们RTMP、RTSP播放器,针对Unity平台的配套解决方案,Unity环境下调用我们原生的RTMP、RTSP播放模块,通过回调YUV/RGB数据,在Unity绘制,实现Unity环境下低延迟播放的友好体验 总结不管是基于开源播放器二次开发,还是全自研内核,一个好的RTMP播放器RTSP播放器,设计的时候,更多考虑的应该是如何做的更灵活、更稳定、延迟更低、资源占用更小,单纯的几个接口,很难满足通用化的产品诉求

    2K30编辑于 2022-12-28
  • 来自专栏RTSP/RTMP直播相关

    如何设计开发RTSP直播播放器

    ​技术背景我们在对接RTSP直播播放器相关技术诉求的时候,好多开发者,除了选用成熟的RTSP播放器外,还想知其然知其所以然,对RTSP播放器的整体开发有个基础的了解,方便方案之作和技术延伸。 技术实现技术难点在探讨RTSP直播播放器技术实现之前,我们先来看,为什么RTSP播放器的开发看似简单,实则复杂,或者说做播放器容易,做个好的播放器,为什么就那么难? RTSP播放器设计要点1. 低延迟:大多数RTSP的播放都面向直播场景,所以,如果延迟过大,严重影响体验,所以,低延迟是衡量一个好的RTSP播放器非常重要的指标,目前大牛直播SDK的RTSP直播播放延迟比开源播放器更优异,而且长时间运行下 ;3.

    1.8K10编辑于 2024-10-12
  • 来自专栏RTSP/RTMP直播相关

    Unity下如何播放8K超高分辨率的RTMP流?

    选择合适的RTMP播放器插件首先,需要选择一个支持8K视频流播放的RTMP播放器插件。并非所有插件都支持8K分辨率,据我们了解,好多Unity的RTMP播放器,连4K都非常吃力。 软件兼容性:Unity版本和RTMP播放器插件需要兼容,同时操作系统也需要支持相应的视频解码技术,8K的视频流,肯定是需要硬解码,软解几乎不太现实。3. 可选的RTMP播放插件本文以大牛直播SDK的Android平台Unity3D RTSP|RTMP播放模块为例:开始播放:/* * SmartPlayerAndroidMono.cs * Author: ("release");u3d_video_frame_obj = null;}总结综上所述,使用Unity RTMP播放器播放8K流需要综合考虑硬件、软件、网络带宽和稳定性等多个方面的因素。 以Android平台为例,通过实际测试,在quest3头显,配合我们的RTSP|RTMP播放器,在unity下,可以实现毫秒级延迟的8K视频数据播放,如果是Windows平台,设备性能相对会更好一些。

    71510编辑于 2024-09-09
  • 来自专栏国标视频云平台

    SkeyePlayer RTSP Windows播放器抓图代码重构

    SkeyePlayer RTSP Windows端(下文简称:SkeyePlayer)播放器之前抓图代码主要通过OpenCV来实现,且数据格式转换的效率过于低下;故而在当时的代码中采用线程机制来解决抓图导致视频播放时卡顿的问题 got = 0; // init ffmpeg av_register_all(); fileext = file + strlen(file) - 3; 当然强大的格式转换函数也支持图像的缩放,且效率很高; 图像编码,细心的同学不难发现,ffmpeg的编码和存文件/推送流的代码是通用的,这套代码可以用来抓图也可以用来编码H264、265等然后存文件(如MP4等)或者推送RTMP/RTSP strScreenCapturePath, pThread->channelId, szTime) ; int nYuvBufLen = frameinfo.width*frameinfo.height*3; pShotThreadInfo, 0, NULL); pThread->manuScreenshot = 0; } 目前我们所支持的最大数据格式是RGB24,所以我们定义了WidthHeight3+

    77920编辑于 2023-04-19
  • 来自专栏RTSP/RTMP直播相关

    Windows平台RTSP播放器、RTMP播放器几点设计细节讨论

    我们在实现Windows平台RTSP播放器或RTMP播放器的时候,需要考虑的点很多,比如多实例设计、多绘制模式兼容、软硬解码支持、快照、RTSP下TCP-UDP自动切换等,以下就其中几个方面,做个大概的探讨 视频绘制模式 我们在实现Windows平台播放的时候,一般首选D3D,D3D不支持的情况下,考虑数据回上来,采用GDI模式,一般实现如下,先做D3D检测,以大牛直播SDK播放端为例(Github),调用 实时快照 实时快照功能不表,是一个好的RTSP播放器和RTMP播放器必备的功能,实时快照是把解码后的yuv数据重新编码成png,所以有一定的CPU消耗,不建议过于频繁操作,具体实现如下: set_capture_image_call_back_(result, image_name); } } 后续,我们将针对RTSP 和RTMP播放器设计过程中的其他点,做更进一步的探讨,谢谢大家的关注。

    1.9K00发布于 2020-06-07
  • 来自专栏ccf19881030的博客

    视沃科技-大牛直播SDK

    Unity3D RTSP/RTMP播放SDK相关(支持Windows/Android/iOS) windows/android/iOS播放器SDK(V2)Unity3D调用说明(更新于2020/03/25 ) Unity3d RTSP/RTMP直播播放端SDK视频演示 Unity3D-Windows RTSP/RTMP播放端exe下载(更新于2020/04/29) Unity3D-Android RTSP OCX控件接口调用; Unity3D RTMP/RTSP直播播放器SDK 业内首家Windows支持Unity3D的超低延迟RTMP/RTSP直播播放器SDK,支持快照、录像、实时静音、view RTMP超低延迟直播播放器SDK(支持RTMP H.265扩展播放); RTSP直播播放器SDK 支持RTSP H.265播放及扩展录像、业内为数不多真正好用的RTSP播放器SDK; Unity3D RTMP超低延迟直播播放器SDK(支持RTMP H.265扩展播放); RTSP直播播放器SDK 支持RTSP H.265播放及扩展录像、业内为数不多真正好用的RTSP播放器SDK; Unity3D

    5.4K30发布于 2020-10-28
  • 来自专栏RTSP/RTMP直播相关

    Android平台实现Unity3D下RTMP推送

    Unity3D下的RTMP或RTSP播放器一样,好多开发者苦于在Unity环境下,如何高效率低延迟的把数据采集并编码实时推送到流媒体服务器,实现Unity场景下的低延迟推拉流方案。 Android平台Unity3D的RTSP或RTMP播放器,可以参考 https://cloud.tencent.com/developer/article/1800633 本文以Android平台为例 下图系Android平台Unity环境下采集屏幕,编码推送到RTMP服务器,然后Windows平台播放器拉取RTMP流播放,为了方便看到延迟效果,特地在Android端的Unity窗口显示了当前时间,可以看到 ,整体延迟在毫秒级: Unity3d采集.jpg 数据采集推送 unity数据采集相对简单,可以很轻松的拿到RGB24的数据: texture_ = new Texture2D(video_width_ : publisher_event = "服务器不支持RTSP推送, 推送的RTSP URL: " + param3; break;

    1.2K30发布于 2021-06-08
领券