Unity3D RTSP/RTMP播放SDK相关(支持Windows/Android/iOS) windows/android/iOS播放器SDK(V2)Unity3D调用说明(更新于2020/03/25 RTSP直播播放器SDK 支持RTSP H.265播放及扩展录像、业内为数不多真正好用的RTSP播放器SDK,支持IE浏览器OCX控件接口调用; Unity3D RTMP/RTSP直播播放器 SDK 业内首家Windows支持Unity3D的超低延迟RTMP/RTSP直播播放器SDK,支持快照、录像、实时静音、view旋转、快速切换URL等特性; RTMP/RTSP多路流媒体转RTMP H.265播放及扩展录像、业内为数不多真正好用的RTSP播放器SDK; Unity3D RTMP/RTSP直播播放器SDK 业内首家Android支持Unity3D的超低延迟RTMP/RTSP 播放器SDK; Unity3D RTMP/RTSP直播播放器SDK 业内首家iOS支持Unity3D的超低延迟RTMP/RTSP直播播放器SDK,支持快照、录像、实时静音、view旋转、快速切换
技术背景上篇文章,我们介绍了Unity平台RTMP、RTSP播放器录像功能,这里,我们详细的介绍下,做个RTSP或RTMP拉流端录像模块有哪些需要考虑的技术点? 在我们常规的考量,RTMP或RTSP流录制,无非就是拉取数据写文件而已,接口设计StartRecorder()/StopRecorder()足矣。 后再录像;支持录像事件回调,从开始录像,到录像结束均有event callback上来。 除了上述的设计,还需要确保和RTSP、RTMP播放在一个实例下,确保播放的过程中可以随时录像,录像的过程中,可以随时播放。 录像模块设计无图无真相,先看录像设置:图片开始录像、停止录像:图片Windows平台,我们提供了C++和C#的接口,本文以C++接口设计为例:先说录像设置:设置录制纯音频或纯视频: /**
品牌露出:在直播转推过程中,添加频道Logo或动态滚屏文字。 多流合一:将摄像头画面与本地桌面、或AI算法分析出的边框结果合成后,生成新的流推送到服务器。 本文将结合SmartMediakit(大牛直播SDK),详细拆解如何在Windows平台实现一个全能中间件”:它既是播放器(拉流解码),又是渲染引擎(GDI+绘制水印),更是推流器(二次编码推RTMP+ 核心架构设计我们的目标是打造一个闭环的视频处理管道(Pipeline):[RTSP/RTMP源] ⬇️ (拉流)[SmartPlayer播放器] -> 解码 -> [RGB32/I420数据回调] ⬇️ (编码) [RTMP推流] & [本地MP4录像]基于您提供的源码,我们将重点分析三个核心模块:数据回调桥接、GDI+动态水印渲染、以及多图层推流配置 设置RTMP URLif (NT_ERC_OK != push_api_.SetURL(push_handle, url.c_str(), NULL))return false; // 3.
技术设计本文以大牛直播SDK的Windows平台RTSP|RTMP直播播放录制功能设计为例,谈谈我们的接口的细粒度设计。 目前,我们录像模块,涵盖了Windows/Linux/android/iOS 推送端(涵盖轻量级RTSP服务模块、RTMP推流模块和GB28181设备接入模块)和RTSP|RTMP播放端,主要实现了如下功能 : [拉流]支持拉取RTSP流录像; [拉流]支持拉取RTMP流录像; [推流端录像]支持RTMP|RTSP推送端同步录像; [轻量级RTSP服务录像]支持轻量级RTSP服务SDK同步录像; [推流端录像实时暂停 ; [音频转码]支持音频(PCMU/PCMA,Speex等)转AAC后再录像; [265支持]支持RTSP/RTMP H.265录制到MP4文件; [推送端265录像]推送端SDK支持H265录像; [ 专注做好一件事,极致做精一件事,口碑做成一件事,比快更快,让RTSP|RTMP直播播放器更适用于延迟要求苛刻的使用场景(如平衡控制、无人机、智能机器人等),是我们一直的追求。
技术背景我们在对接RTSP播放器相关的技术诉求的时候,遇到这样的需求,客户做特种设备巡检的,需要把摄像头拍到的RTSP流拉下来,然后添加动态水印后,再生成新的RTSP URL,供平台调用。 真个流程需要延迟尽可能的低,分辨率要支持到1080p,并需要把添加过动态水印的数据,保存到本地。 技术实现在此之前,大牛直播SDK有非常成熟的RTSP播放、轻量级RTSP服务和录像模块,要做的就是,拉取到RTSP流后,把解码后的YUV或RGB回调给上层,上层通过图层的形式,添加动态文字水印(图片水印亦可 ),然后,投递给轻量级RTSP服务,RTSP服务对外提供个拉流的RTSP URL,无图无真相:左侧就是我们基于Windows平台C#的播放器的demo,二次开发的,添加了软、硬编码设置(考虑到分辨率比较高 ,添加支持了硬编码选项设置)、动态水印设置、轻量级RTSP服务、实时录像和RTMP推送。
好多开发者在做Windows平台特别是单屏多画面显示时,希望像监控摄像机一样,可以在播放画面添加OSD台标,以实现字符叠加效果,大多开发者可很轻松的实现以上效果,针对此,本文以大牛直播SDK (Github )的Windows平台demo为例,简单介绍下具体实现: Windows平台RTMP播放器、RTSP播放器C++ demo Windows平台C++的demo,以录像过程为例,动态在左上角显示个闪动的图标 +当前时间,具体效果如下: CPP添加osd.png 核心代码 std::shared_ptr<nt_argb_image_logo> CSmartPlayerDlg::MakeLogo() { std data_.swap(buffer); } bitmap.UnlockBits(&locked_bitmapData); } return logo_image; } Windows平台RTMP 播放器、RTSP播放器C# demo Windows平台C#的demo,添加了“设置台标”选择框,在player窗口左上角显示“叠加字符展示”,具体内容、坐标可自定义,具体效果如下: 添加osd.png
只要设备支持标准的RTSP/Onvif协议,都可以接入至EasyNVR进行直播、录像、检索与回放服务。 去年我们对EasyNVR等平台增加了水印功能,主要是为了方便用户上传专属水印图片防止自己的视频源被盗用、或用于展示和宣传自己的品牌。 近期我们接到反馈,用户现场使用EasyNVR添加水印后,非按需通道开启了15路,CPU就会占50%左右,而使用ffmpeg开启了15路,CPU则只会占15%左右。 554/h264/ch1/main/av_stream -vf "movie=1.png [watermark]; [in][watermark] overlay=10:10 [out]"-f flv rtmp 我们的EasyNVR平台添加了-vcodec libx264参数,指定了H.264编码器,编码后可以支持Web播放器播放。
只要设备支持标准的RTSP/Onvif协议,都可以接入至EasyNVR进行直播、录像、检索与回放服务。 去年我们对EasyNVR等平台增加了水印功能,主要是为了方便用户上传专属水印图片防止自己的视频源被盗用、或用于展示和宣传自己的品牌。 近期我们接到反馈,用户现场使用EasyNVR添加水印后,非按需通道开启了15路,CPU就会占50%左右,而使用ffmpeg开启了15路,CPU则只会占15%左右。 554/h264/ch1/main/av_stream -vf "movie=1.png [watermark]; [in][watermark] overlay=10:10 [out]"-f flv rtmp 我们的EasyNVR平台添加了-vcodec libx264参数,指定了H.264编码器,编码后可以支持Web播放器播放。
;支持外部编码前音视频数据对接;支持外部编码后音视频数据对接;支持RTMP扩展H.265(需设备支持H.265特定机型硬编码)和Enhanced RTMP;支持特定机型硬编码;支持实时音量调节;支持扩展录像模块 RTMP服务器或CDN;支持断网自动重连、网络状态回调;支持实时动态水印;支持实时快照;支持降噪处理、自动增益控制;支持外部编码前音视频数据对接;支持外部编码后音视频数据对接;支持RTMP扩展H.265 (需设备支持H.265特定机型硬编码)和Enhanced RTMP;支持实时音量调节;支持扩展录像模块;支持Unity接口;支持H.264扩展SEI发送模块;支持Android 5.1及以上版本。 其他功能: 录像和快照:支持录像功能,并且在推流过程中可以实时快照,方便用户记录重要时刻。 水印功能:Windows 平台支持文字水印、PNG 水印、实时遮挡,Android 平台支持文字水印、PNG 水印,为视频添加个性化的标识或保护版权。
RTMP 播放器 SDK 优化首帧时间与延迟,适用于直播互动与远程监控场景,支持软解/硬解切换。 、远程取证、内容审查归档 链路组合:RTSP/RTMP 流 → [播放器 SDK] → [播放端录像模块] → 本地磁盘 / NAS推荐模块配置: 支持定时截图 / 快照(周期触发 / 人工触发) 支持自动分片录制 RTMP 播放器 SDKAndroid / iOS / WindowsRTMP–硬解 / 软解YUV / PCM / SEI是(播放端录像)自动重连静音、音量调节、低延迟模式HTTP-FLV 播放器 SDKAndroidHTTP 录像模块(推送端)(保存直播内容为 MP4) SEI 数据注入模块(添加定位、水印、告警等元信息) 部署环境:Android 9.0+ 手机或工业终端 亮点价值: 首帧秒开、低延迟推送; 案例3:AI 视频分析前端接入 场景描述:在 AI 视频识别、物体检测、行为分析等系统中,需将摄像头或播放器的解码帧送入 AI 模型做实时推理。
、编码前、编码后数据对接,功能强大,性能优异,配合大牛直播SDK的SmartPlayer播放器,轻松实现毫秒级的延迟体验,满足大多数行业的使用场景。 平台arm64技术特点和优势全自研框架,易于扩展,自适应算法让延迟更低、采集编码传输效率更高;所有功能以SDK接口形式提供,所有状态,均有event回调,完美支持断网自动重连;SDK模块化,可和大牛直播播放器 ;支持外部编码前音视频数据对接;支持外部编码后音视频数据对接;支持RTMP扩展H.265(需设备支持H.265特定机型硬编码)和Enhanced RTMP;支持特定机型硬编码;支持实时音量调节;支持扩展录像模块 RTMP服务器或CDN;支持断网自动重连、网络状态回调;支持实时动态水印;支持实时快照;支持降噪处理、自动增益控制;支持外部编码前音视频数据对接;支持外部编码后音视频数据对接;支持RTMP扩展H.265 (需设备支持H.265特定机型硬编码)和Enhanced RTMP;支持实时音量调节;支持扩展录像模块;支持Unity接口;支持H.264扩展SEI发送模块;支持Android 5.1及以上版本。
VPS、SPS、PPS、IDR 帧以类似 AVC 的方式封装; 关键帧/非关键帧的标记逻辑复用原有字段; 播放器只需在解复用阶段区分 NALU 类型,即可接入 H.265 解码器。 3. 三、大牛直播SDK RTMP播放器架构大牛直播SDK RTMP播放器基于 跨平台全自研内核,在 Windows、Linux(x86_64/aarch64)、Android、iOS 四大平台上保持一致的 3. :AAC/PCMA/PCMU/Speex 原始数据可直接做转码或波形分析; ARGB 图像叠加(Windows 平台):可实现水印、标注、Logo 叠加等功能; 录像扩展:可与大牛直播 SDK 的录像模块组合 3. 工业视觉在工业检测与自动化场景中,视频流不仅需要显示,更需要 与 AI 引擎实时联动。
设置遮盖层,用于设定一个长方形或正方形区域(可自指定区域大小),遮盖不想给用户展示的部分; 3. 水印:添加PNG水印,支持推送或录像过程中,随时添加、取消水印; 4. 如果是屏幕:默认帧率是5帧,可以根据实际场景调整,选取屏幕区域,可以实时拉取选择需要采集或录像区域; 如果是叠加模式:可选择摄像头叠加到屏幕,还是屏幕叠加到摄像头; 更高需求的用户,可以设置水印或应用层遮盖 回答:Windows 64位库支持H.265编码,如果推RTMP流,需要服务器支持RTMP H.265扩展,播放器SDK,也需要同步支持RTMP H.265扩展播放。 如果是轻量级RTSP服务SDK对接的话,只需要播放器支持RTSP H.265即可。 如果推摄像头数据,建议采用可变码率+H.265编码。 如何设置码率参数更合理? 22 RTMP/RTSP推送端录像 NT_PB_SetRecorderDirectory:设置本地录像目录, 必须是英文目录,否则会失败 NT_PB_SetRecorderFileMaxSize:设置单个录像文件最大大小
通过RTMP推送,观众可以几乎实时地观看到主播的内容,增强用户体验。 兼容性考虑:RTMP协议已经被众多流媒体服务器和播放器所支持,具有较高的兼容性。 做好了RTMP推送模块,发现现有的RTMP播放都不足以满足我们毫秒级的延迟诉求,继续自研框架,做了RTMP的直播播放器。本文以大牛直播SDK的Android平台RTMP直播推送模块为例。 屏幕采集推送;支持自建标准RTMP服务器或CDN;支持断网自动重连、网络状态回调;支持实时动态水印;支持实时快照;支持降噪处理、自动增益控制;支持外部编码前音视频数据对接;支持外部编码后音视频数据对接; 性能优异:配合SmartPlayer播放器,实现毫秒级延迟体验,满足多种行业使用场景。准备工作: 权限配置:确保在Android项目中添加了必要的权限,如相机、麦克风等。 扩展功能: 本地录像与快照:支持本地录像和快照功能,通过相关接口实现。H.265与Enhanced RTMP支持:除了H.264外,还支持H.265编码和Enhanced RTMP扩展。
拉流、推流、录像及轻量级 RTSP 服务的全能终端。 我们不需要解码视频帧,而是直接从播放器底层 hook 住编码后的数据包(AVPacket),直接喂给推流器。 场景三:转推RTMP前端拉取的RTSP或RTMP流,可以通过大牛直播SDK的RTMP推送模块,转推到自建RTMP服务器或CDN,相关逻辑如下:private void handlePushRtmp() 我们可以只录像不推流,也可以边推流边录像。底层支持自动切片(分段保存)。 全栈式的协议栈(Full-Stack Protocol Support): 一套代码打通了 RTSP/RTMP 拉流、RTMP 推流、轻量级 RTSP 服务端以及本地 MP4 录像。
通过 Android 端 RTSP 播放器模块及 YUV 数据回调机制,系统可在实时播放的同时进行 动态水印叠加、录像存档、二次编码以及轻量级 RTSP 服务再发布。 2️⃣ 中间层:水印叠加与数据转投递在 demo 中,播放器回调的 YUV 数据会交由业务层进行轻量级图像处理。 常见操作包括: 叠加设备编号、时间戳、水印 Logo; 局部标注(如检测点框选)。 3️⃣ 推送端:再编码与录像/再发布推送端收到帧数据后,通过 JNI 调用进入 SmartPublisherJniV2 的底层模块, 由其统一调度录像(MP4/FLV)与轻量级 RTSP/RTMP/HTTP-FLV ,再可选开启 RTSP/RTMP 再发布; 4️⃣ 整个过程共享同一时间戳体系,录像、推流与播放保持帧级同步。 它让系统拥有三种能力: 可看:低延迟、高稳定的实时画面; 可用:YUV 数据可供 AI/水印/再编码复用; 可传:轻量 RTSP/RTMP/FLV 服务可随时转发。
通常来说,直播一般用 RTMP、RTSP,点播用 HTTP。 Flash Player: 基于浏览器插件,页面嵌入一个 flash 播放器。缺点是必须要有浏览器支持。这样的方式已经被各大浏览器放弃,在谷歌浏览器中已经不再支持flash。 3. 视频抓图,获取静态图和动态图 给视频加水印 可使用ffmpeg 视频添加水印(logo) 它包含了这些软件包 库 说明 libavcodec 提供多种格式的 视频/音频 编解码器的实现; libavformat 比较常用的 VLC 播放器。 VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。 主站:https://www.videolan.org/ 3.4 DVR 录像 DVR: SRS支持将RTMP流录制成FLV或MP4文件。下面的描述以FLV为例,但是对MP4也是一样的。
技术维度大牛直播SDK RTMP 推流模块OBS功能定位可嵌入任意业务系统的实时音视频推流内核,提供推流、采集、编码、混音、水印、录像等 SDK 接口独立应用程序,集成推流、场景切换、录屏等功能,主要面向桌面主播与录制用户集成方式 、水平/垂直翻转、旋转(0°/90°/180°/270°)、快照、画面合成(屏幕+摄像头) 外部数据接入:支持编码前/编码后音视频数据对接 网络适配:断网自动重连、网络状态回调 录像扩展:支持独立录像模块 9.0+特色功能DXGI 设置 / Aero 启停 / H.264 扩展 SEIH.264 扩展 SEI / aarch64 支持横屏/竖屏 / liverecord 模式 / H.264 扩展 SEI3. SDK 接口开放,适配行业定制需求(无人机回传、应急指挥、工业监控等) 低延迟优化:配合 SmartPlayer 播放器可实现毫秒级延迟体验 高可用性:断网重连、网络状态实时回调,保障长时间稳定运行 多数据源融合:支持多路视频合成、音视频混音、水印叠加等实时处理 六、展望:RTMP 推流在 AI × 视频链路中的演进RTMP 作为成熟的实时传输协议,在 CDN 分发、云端处理、跨平台播放等环节依然不可替代
3. RTMP 推流模块、录像模块、轻量级 RTSP 服务模块、水印模块、混音模块、预览模块之间完全解耦,既能独立使用,也能任意组合形成完整链路。 3. 时间域同步机制时间,是视频系统的“秩序核心”。RTMP 推流模块通过“单一主时钟 + 层级对齐机制”维持音视频同步与系统一致性。 在画面层面,还支持添加动态水印(如时间戳、设备编号、位置标识等),既满足溯源与品牌展示需求,也为监控与分析提供辅助信息。 九、与RTSP|RTMP播放器 / 转发 / 服务端的系统协同 与 SmartPlayer RTSP|RTMP播放器协同: 基于统一的时间语义与低延迟管线,实现端到端的同步控制与抖动平衡,让“看见即行动
引言:延迟与功能,RTMP播放器的核心生命线在企业级直播、安防监控、远程互动等实时视频系统中,RTMP 依然是应用最广、生态最成熟、穿透性最强的流媒体协议之一。 大牛直播SDK RTMP 播放器正是针对这些痛点而生。 3. 功能矩阵:不仅低延迟,更是全场景适配 如无单独说明,以下功能均在 Windows / Linux(x86_64 & aarch64)/ Android / iOS 全平台统一支持。 垂直镜像、等比例缩放(除 Android Surface 模式)适配多种安装方向与显示需求下载速度监测实时回调下载速度,可自定义回调间隔网络监控与带宽适配视频叠加Windows 平台支持 ARGB 图像叠加水印 对比开源RTMP播放器:性能差距一目了然在实际项目中,RTMP 播放器的优劣不仅取决于“能否播放”,更取决于延迟、稳定性、跨平台一致性以及功能可扩展性。