RTSP直播播放器SDK 支持RTSP H.265播放及扩展录像、业内为数不多真正好用的RTSP播放器SDK,支持IE浏览器OCX控件接口调用; Unity3D RTMP/RTSP直播播放器 H.265播放及扩展录像、业内为数不多真正好用的RTSP播放器SDK; Unity3D RTMP/RTSP直播播放器SDK 业内首家Android支持Unity3D的超低延迟RTMP/RTSP 直播播放器SDK 业内首屈一指的RTMP超低延迟直播播放器SDK(支持RTMP H.265扩展播放); RTSP直播播放器SDK 支持RTSP H.265播放及扩展录像、业内为数不多真正好用的RTSP 播放器SDK; Unity3D RTMP/RTSP直播播放器SDK 业内首家iOS支持Unity3D的超低延迟RTMP/RTSP直播播放器SDK,支持快照、录像、实时静音、view旋转、快速切换 ]Windows平台支持文字水印、png水印、实时遮挡,Android平台支持文字水印、png水印; [RTMP推送模式]支持RTMP推送 live|record模式设置(需服务器支持); [镜像]
技术背景上篇文章,我们介绍了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+动态水印渲染、以及多图层推流配置
技术背景我们在对接RTSP播放器相关的技术诉求的时候,遇到这样的需求,客户做特种设备巡检的,需要把摄像头拍到的RTSP流拉下来,然后添加动态水印后,再生成新的RTSP URL,供平台调用。 真个流程需要延迟尽可能的低,分辨率要支持到1080p,并需要把添加过动态水印的数据,保存到本地。 技术实现在此之前,大牛直播SDK有非常成熟的RTSP播放、轻量级RTSP服务和录像模块,要做的就是,拉取到RTSP流后,把解码后的YUV或RGB回调给上层,上层通过图层的形式,添加动态文字水印(图片水印亦可 ),然后,投递给轻量级RTSP服务,RTSP服务对外提供个拉流的RTSP URL,无图无真相:左侧就是我们基于Windows平台C#的播放器的demo,二次开发的,添加了软、硬编码设置(考虑到分辨率比较高 ,添加支持了硬编码选项设置)、动态水印设置、轻量级RTSP服务、实时录像和RTMP推送。
技术设计本文以大牛直播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直播播放器更适用于延迟要求苛刻的使用场景(如平衡控制、无人机、智能机器人等),是我们一直的追求。
好多开发者在做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 水印,为视频添加个性化的标识或保护版权。
、编码前、编码后数据对接,功能强大,性能优异,配合大牛直播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及以上版本。
RTMP 播放器 SDK 优化首帧时间与延迟,适用于直播互动与远程监控场景,支持软解/硬解切换。 、远程取证、内容审查归档 链路组合:RTSP/RTMP 流 → [播放器 SDK] → [播放端录像模块] → 本地磁盘 / NAS推荐模块配置: 支持定时截图 / 快照(周期触发 / 人工触发) 支持自动分片录制 RTMP 播放器 SDKAndroid / iOS / WindowsRTMP–硬解 / 软解YUV / PCM / SEI是(播放端录像)自动重连静音、音量调节、低延迟模式HTTP-FLV 播放器 SDKAndroidHTTP 转发 SDKAndroid / LinuxRTSP InGB28181 Out––是(转发流录像)国标 SIP 注册 / 上报兼容主流国标平台播放器端录像 SDK全平台任意播放流–––MP4 封装、定时 录像模块(推送端)(保存直播内容为 MP4) SEI 数据注入模块(添加定位、水印、告警等元信息) 部署环境:Android 9.0+ 手机或工业终端 亮点价值: 首帧秒开、低延迟推送;
通过RTMP推送,观众可以几乎实时地观看到主播的内容,增强用户体验。 兼容性考虑:RTMP协议已经被众多流媒体服务器和播放器所支持,具有较高的兼容性。 做好了RTMP推送模块,发现现有的RTMP播放都不足以满足我们毫秒级的延迟诉求,继续自研框架,做了RTMP的直播播放器。本文以大牛直播SDK的Android平台RTMP直播推送模块为例。 屏幕采集推送;支持自建标准RTMP服务器或CDN;支持断网自动重连、网络状态回调;支持实时动态水印;支持实时快照;支持降噪处理、自动增益控制;支持外部编码前音视频数据对接;支持外部编码后音视频数据对接; 性能优异:配合SmartPlayer播放器,实现毫秒级延迟体验,满足多种行业使用场景。准备工作: 权限配置:确保在Android项目中添加了必要的权限,如相机、麦克风等。 扩展功能: 本地录像与快照:支持本地录像和快照功能,通过相关接口实现。H.265与Enhanced RTMP支持:除了H.264外,还支持H.265编码和Enhanced RTMP扩展。
这使得 RTMP 能够继续承担 超低延迟直播链路 的角色,为 SDK 与终端播放器奠定了基础。二、RTMP协议与视频编码标准的结合1. 三、大牛直播SDK RTMP播放器架构大牛直播SDK RTMP播放器基于 跨平台全自研内核,在 Windows、Linux(x86_64/aarch64)、Android、iOS 四大平台上保持一致的 :AAC/PCMA/PCMU/Speex 原始数据可直接做转码或波形分析; ARGB 图像叠加(Windows 平台):可实现水印、标注、Logo 叠加等功能; 录像扩展:可与大牛直播 SDK 的录像模块组合 毫秒级延迟(100~200ms):满足实时指挥与应急处置需求; ARGB 图像叠加:可在视频上实时叠加水印、Logo 或告警标识; 断网自动重连:保证监控链路的连续性与高可用性。 2. 在 安防监控、远程教育、工业视觉、低空经济 等关键行业,大牛直播 SDK RTMP 播放器已经被验证为高性能、稳定可控的解决方案。
拉流、推流、录像及轻量级 RTSP 服务的全能终端。 我们不需要解码视频帧,而是直接从播放器底层 hook 住编码后的数据包(AVPacket),直接喂给推流器。 场景三:转推RTMP前端拉取的RTSP或RTMP流,可以通过大牛直播SDK的RTMP推送模块,转推到自建RTMP服务器或CDN,相关逻辑如下:private void handlePushRtmp() 我们可以只录像不推流,也可以边推流边录像。底层支持自动切片(分段保存)。 全栈式的协议栈(Full-Stack Protocol Support): 一套代码打通了 RTSP/RTMP 拉流、RTMP 推流、轻量级 RTSP 服务端以及本地 MP4 录像。
水印:添加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:设置单个录像文件最大大小
.B0.B4.E5.8D.B0 一、举例添加盲水印: 注意下几点: 开启盲水印: image.png 1、put的域名格式为pic.ap-beijing格式 2、put的地址url后图片名字为cos上不存在的图片名 3、fileid中的图片名和put不同 4、body为要添加盲水印的图片 5、rule参数解读: 例:watermark/3/type/ <type>/image/ <imageUrl>/text/ <text> watermark/3/ 添加盲水印 watermark/4/ 提取盲水印 <type> 盲水印类型,有效值:1 半盲;2 全盲;3 文字 <imageUrl> 盲水印图片地址 指定的水印图片必须同时满足如下 3 个条件: 1. 盲水印图片与原图片必须位于同一个对象存储桶下; 2. <text> 盲水印文字,需要经过 URL 安全的 Base64 编码。当 type 为3时必填,type 为1或2时无效。
最近碰到一些事,需要给中介身份证,为了防止被滥用,学习了一下PS添加水印和隐藏水印的方式。 效果如下: 第一步先创建水印文字,画布的大小决定后续填充后文字的密度。 保存为可填充的图案 将需要设置水印的图像添加填充 最终效果: 隐藏水印 隐藏水印顾名思义就是不能一眼看到的,但是通过放大调整颜色等手段依旧可以,正所谓没有银弹,能做的也只是提高一下违法的成本罢了。 然后在需要打上水印的图案中建立一个文字图层: 然后我们用刚才的 2×2 的图片来填充文字。 最后设定透明度和柔光即可隐藏该水印。
通过 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。 常用到的功能有: 视频采集 视频格式转换 视频截图 给视频加水印 功能 说明 视频采集 采集摄像头的图像,进行屏幕录制,将视频流传送给流媒体服务器,支持直播应用。 视频抓图,获取静态图和动态图 给视频加水印 可使用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 接口独立应用程序,集成推流、场景切换、录屏等功能,主要面向桌面主播与录制用户集成方式 形式,支持二次开发与深度定制,可与业务逻辑紧密结合无 SDK 版本,主要通过软件本身使用,二次集成需依赖插件或虚拟摄像头输出延迟表现针对弱网与低延迟优化,推流端到播放端可达 100~250ms(配合自家播放器 、水平/垂直翻转、旋转(0°/90°/180°/270°)、快照、画面合成(屏幕+摄像头) 外部数据接入:支持编码前/编码后音视频数据对接 网络适配:断网自动重连、网络状态回调 录像扩展:支持独立录像模块 SDK 接口开放,适配行业定制需求(无人机回传、应急指挥、工业监控等) 低延迟优化:配合 SmartPlayer 播放器可实现毫秒级延迟体验 高可用性:断网重连、网络状态实时回调,保障长时间稳定运行 多数据源融合:支持多路视频合成、音视频混音、水印叠加等实时处理 六、展望:RTMP 推流在 AI × 视频链路中的演进RTMP 作为成熟的实时传输协议,在 CDN 分发、云端处理、跨平台播放等环节依然不可替代