技术背景上篇文章,我们介绍了Unity平台RTMP、RTSP播放器录像功能,这里,我们详细的介绍下,做个RTSP或RTMP拉流端录像模块有哪些需要考虑的技术点? 在我们常规的考量,RTMP或RTSP流录制,无非就是拉取数据写文件而已,接口设计StartRecorder()/StopRecorder()足矣。 后再录像;支持录像事件回调,从开始录像,到录像结束均有event callback上来。 除了上述的设计,还需要确保和RTSP、RTMP播放在一个实例下,确保播放的过程中可以随时录像,录像的过程中,可以随时播放。 录像模块设计无图无真相,先看录像设置:图片开始录像、停止录像:图片Windows平台,我们提供了C++和C#的接口,本文以C++接口设计为例:先说录像设置:设置录制纯音频或纯视频: /**
技术设计本文以大牛直播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、RTMP播放外,还需要实现RTSP、RTMP流数据的本地录像功能。 本文以大牛直播SDK的Windows平台播放模块为例,介绍下如何实现RTSP、RTMP流录像。 功能设计 [拉流]支持拉取RTSP流录像; [拉流]支持拉取RTMP流录像; [逻辑分离]和播放、转发功能完全分离,支持随时录像; [参数设置]支持设置单个录像文件大小、录像路径等,并支持纯音频、纯视频 、音视频录制模式; [音频转码]支持音频(PCMU/PCMA,Speex等)转AAC后再录像; [265支持]支持RTSP/RTMP H.265录制到MP4文件; [事件回调]从开始录像,到录像结束均有 | 0x5, /*断开连接*/ NT_SP_E_EVENT_ID_NO_MEDIADATA_RECEIVED = NT_SP_E_EVENT_ID_BASE | 0x8, /*收不到RTMP
好多开发者提到,在目前开源播放器如此泛滥的情况下,为什么还需要做自研框架的RTMP播放器,自研和开源播放器,到底好在哪些方面?以下大概聊聊我们的一点经验,感兴趣的,可以关注 github: 1. 低延迟:大多数RTMP的播放都面向直播场景,如果延迟过大,严重影响体验,所以,低延迟是衡量一个好的RTMP播放器非常重要的指标,目前大牛直播SDK的RTMP直播播放延迟比开源播放器更优异(大牛直播SDK 支持多实例:大牛直播SDK提供的RTMP直播播放SDK支持在设备性能允许的情况下,支持多实例播放RTMP流数据,大多开源播放器对多实例支持不太友好; 除了常规的多实例外,比如大屏监控场景下,尽管我们CPU 视频view旋转:好多摄像头由于安装限制,导致图像倒置,所以一个好的RTMP播放器应该支持如视频view实时旋转(0° 90° 180° 270°)、水平反转、垂直反转,开源或第三方播放器不具备此功能; 长期运行稳定性:大牛直播SDK提供的RTMP直播播放SDK适用于长时间运行,开源播放器对长时间运行稳定性支持较差; 11.
二、 架构设计:播放器系统模块划分一个稳定、高性能的 RTMP 播放器不仅仅是“拉流+解码+渲染”这么简单。 AI / 录像SDK 组合 / 音视频格式灵活组合录制支持通过上述核心能力的构建,大牛直播SDK 打造了一个 高性能、可裁剪、可定制、低延迟、强兼容 的 Android RTMP 播放器模块,成为各类视频系统开发者在 以下为主要技术能力对比表: 播放器功能能力对比表能力维度大牛直播SDK RTMP播放器通用开源播放器(ExoPlayer等)协议兼容性✅ 支持 RTMP / Enhanced RTMP-H.265 / ✅ 实时截图 + 录像模块❌ 无原生支持画面控制能力✅ 角度旋转 / 镜像 / 等比缩放 / 亮度饱和度调节❌ 需自行扩展渲染逻辑六、 应用落地场景参考—— 多行业、多终端、多场景,RTMP低延迟播放器的价值释放随着高清视频技术的持续演进与低延迟应用场景的不断拓展 接口组合Pico、Quest、电视端、VR一体机视频分析前端节点采集-解码-YUV回调链路AI盒子、视觉边缘计算终端 应用扩展与组合能力扩展方向配套模块组合本地录像支持RTMP播放器 + 录像SDK(支持音视频
RTSP直播播放器SDK 支持RTSP H.265播放及扩展录像、业内为数不多真正好用的RTSP播放器SDK,支持IE浏览器OCX控件接口调用; Unity3D RTMP/RTSP直播播放器 ); RTSP直播播放器SDK 支持RTSP H.265播放及扩展录像、业内为数不多真正好用的RTSP播放器SDK; Unity3D RTMP/RTSP直播播放器SDK 业内首家Android 支持Unity3D的超低延迟RTMP/RTSP直播播放器SDK,支持快照、录像、实时静音、view旋转、快速切换URL等特性; 录像SDK 支持拉取rtmp/rtsp流实时录像模块/实时快照功能 SDK 支持RTSP H.265播放及扩展录像、业内为数不多真正好用的RTSP播放器SDK; Unity3D RTMP/RTSP直播播放器SDK 业内首家iOS支持Unity3D的超低延迟RTMP /RTSP直播播放器SDK,支持快照、录像、实时静音、view旋转、快速切换URL等特性; 录像SDK 支持拉取rtmp/rtsp流实时录像模块/实时快照功能,支持纯音频、纯视频、音视频录制模式
技术背景我们在做RTSP、RTMP直播播放器的时候,有个比较重要的功能,就是拉流端实时录像,包括设置单个录像文件大小、文件前缀、audio转AAC、只录制视频或只录制音频、开始录像、停止录像事件状态回调等 我们录像模块,覆盖了RTMP、轻量级RTSP服务、RTSP|RTMP播放端录像,平台覆盖了Windows、Linux、Android、iOS,主要功能设计如下: [拉流]支持拉取RTSP流录像; [拉流 ]支持拉取RTMP流录像; [推流端录像]支持RTMP|RTSP推送端同步录像; [轻量级RTSP服务录像]支持轻量级RTSP服务SDK同步录像; [推流端录像实时暂停/恢复]支持推送端录像过程中实时暂停录像 /PCMA,Speex等)转AAC后再录像; [265支持]支持RTSP/RTMP H.265录制到MP4文件; [推送端265录像]推送端SDK支持H265录像; [推送端外部编码数据对接录像]支持推送端外部编码后数据 总结RTSP、RTMP播放端录像,我们的设计,是播放和录像分离,可以只录像或只播放,如果同时录像和播放,只需要一个拉流实例来完成。
RTMP 播放器 SDK 优化首帧时间与延迟,适用于直播互动与远程监控场景,支持软解/硬解切换。 、远程取证、内容审查归档 链路组合:RTSP/RTMP 流 → [播放器 SDK] → [播放端录像模块] → 本地磁盘 / NAS推荐模块配置: 支持定时截图 / 快照(周期触发 / 人工触发) 支持自动分片录制 RTMP 播放器 SDKAndroid / iOS / WindowsRTMP–硬解 / 软解YUV / PCM / SEI是(播放端录像)自动重连静音、音量调节、低延迟模式HTTP-FLV 播放器 SDKAndroidHTTP 转发 SDKAndroid / LinuxRTSP InGB28181 Out––是(转发流录像)国标 SIP 注册 / 上报兼容主流国标平台播放器端录像 SDK全平台任意播放流–––MP4 封装、定时 推荐组合: 推送端:RTMP 推送模块 + SEI 扩展数据注入 地面接收端:RTMP 播放模块 + 播放端录像模块 分发中继端:RTMP 录制 + 前端播放 部署环境:无人机安卓终端 + 控制中心
我们知道多数监控摄像头都是支持RTMP协议的,当然公安部的摄像头是支持GB28181协议的,这个我们在本文不做过多赘述,我们来探讨一下网页播放RTMP视频流的播放器。 ? ? 网页可以播放RTMP视频流吗?当然是可以的,但是对于PC端来说,网页播放RTMP流媒体视频流将会承受更多的服务器压力,满足网页播放RTMP视频流有哪些要求,下文我们一起来看一下。 1.便捷。 我们研发的流媒体服务器自身支持对成功接入的摄像机实时视频进行7*24h录像,支持录像的检索与回放,并且支持网络硬盘录像机NVR按设备、通道、日期获取对应录像文件进行录像的检索与回放,无需安装各个安防厂商的视频播放插件 本文已经为大家介绍完毕啦,结论就是网页是能够播放RTMP视频流的,如果想体验网页播放RTMP视频流的流媒体服务器或者播放器,可以继续关注本栏目。
LiveGBS支持集成分享的直播页面,也可以集成云端录像或是设备录像回看页面2.1、视频流地址播放器集成通过接口或其它方式获取视频流的地址,设置到web播放器|APP播放器|PC播放器中,进行播放。 ,或是 手机浏览器访问分享的直播页面3.2、时间轴回放分享页集成同样设备录像和云端录像,也可以通过时间轴页面分享集成到自己的业务系统。 通过传递的type 区分是设备录像 还是 云端录像<iframe src="http://ip:10000/playback.html? 播放流格式, 设备<em>录像</em>有效, 可选, webrtc/flv/ws_flv/hls/<em>rtmp</em>, 默认 auto checktoken 鉴权 token, 可选, 没有开启分享的通道需要携带登录接口返回的 直播流地址取上面接口返回的 <em>RTMP</em> 字段,对应的 <em>RTMP</em> 端口需要在服务端开放 TCP,如"RTMP": "rtmp://192.168.2.135:11935/hls/34020000001110000234
技术背景我们在对接Windows平台RTSP|RTMP直播播放模块的时候,有开发者提出来这样的技术需求,他们做驾考、全景摄像头、多路会议录制等场景的时候,希望把多路视频流数据,合并到一路保存或者对外推送到 RTMP服务。 技术实现多路RTSP|RTMP流合流,实际上我们2016年就有这块demo,当时合流的数据是本地采集的摄像头或屏幕数据,和外部RTSP、RTMP流,合成后输出(类似于传统意义的连麦操作)。 这里大概说下思路,外部的RTSP|RTMP流数据,解码后,把YUV或RGB数据回调上来,然后,按照图层的形式,分别贴摄像头、屏幕数据或解码后的流数据。 );if (add_layer_config(text_layer, type))text_layer_index_ = index++;return index > 0;}合成后数据,可以对外推送到RTMP
我们在实现Windows平台RTSP播放器或RTMP播放器的时候,需要考虑的点很多,比如多实例设计、多绘制模式兼容、软硬解码支持、快照、RTSP下TCP-UDP自动切换等,以下就其中几个方面,做个大概的探讨 is_gdi_render_ = true; playWnd.Visible = false; // 不支持D3D就让播放器吐出数据来 实时快照 实时快照功能不表,是一个好的RTSP播放器和RTMP播放器必备的功能,实时快照是把解码后的yuv数据重新编码成png,所以有一定的CPU消耗,不建议过于频繁操作,具体实现如下: set_capture_image_call_back_(result, image_name); } } 后续,我们将针对RTSP和RTMP 播放器设计过程中的其他点,做更进一步的探讨,谢谢大家的关注。
技术背景RTMP播放器的延迟可以受到多种因素的影响,包括网络状况、推流设置、播放器配置以及CDN分发等。因此,RTMP播放器的延迟并不是一个固定的数值,而是可以在一定范围内变化的。 然而,当网络状况不佳、推流设置不当或播放器配置不合理时,延迟可能会增加。具体来说,RTMP播放器的延迟可能受到以下因素的影响:网络状况:网络延迟和丢包是影响RTMP播放器延迟的重要因素。 此外,由于视频数据的处理和传输需要一定的时间,因此即使在最理想的情况下,RTMP播放器的延迟也会存在一定的最小值。综上所述,RTMP播放器的延迟可以控制在一定范围内,但具体数值会受到多种因素的影响。 ]完美支持和录像SDK组合使用。 所以,我们可以有底气的说,在没测试过大牛直播SDK的SmartPlayer RTMP播放器之前,你甚至不相信行业内,RTMP播放器延迟可以稳定的做到毫秒级。
好多开发者问我们,Unity环境下,除了RTSP或RTMP的播放,如果有录像诉求,怎么实现?实际上录像相对播放来说,更简单一些,因为不涉及到绘制,只要拉流下来数据,直接写mp4文件就好了。 (考虑到磁盘读写IO,Windows平台一般不建议多录录制),录像的话,需要考虑的是,设置好文件录制规则,比如,是否录制纯音频或纯视频、单个录制文件大小、文件录制目录等,并设置录像回调事件:/* * SmartPlayerWinMono.cs file_name); } else if (status == 2) //status 2:表示已经写好一个录像文件 { Debug.Log("RecordCallBack, 已生成一个录像文件 NTSmartPlayerSDK.NT_SP_Close(videoctrl[sel].player_handle_); videoctrl[sel].player_handle_ = IntPtr.Zero; }}以上是Unity平台RTMP 或RTSP播放端录像相关接口设计和调用实例,感兴趣的开发者可以参考。
RTMP H.265)、GB28181设备接入、推送端播放端实时录像、多路流媒体转发(RTSP转RTMP,RTMP转RTMP,RTSP|RTMP转GB28181)、音视频导播、动态视频合成、音频混音、 大牛直播SDK的RTMP播放器在行业内享有较高的评价,其特点主要体现在以下几个方面:超低延迟大牛直播SDK的RTMP播放器在延迟控制方面表现出色,能够将播放延迟稳定地控制在较低水平。 多平台兼容大牛直播SDK的RTMP播放器支持Windows、Linux、Android、iOS等多个平台,满足了不同场景下的使用需求。无论是PC端还是移动端,用户都可以轻松接入并使用该播放器。 数百家业内公司一致认可其RTMP播放器的性能、稳定性和功能。 ]完美支持和录像SDK组合使用。
,我们可能无法直接通过播放器控制音量,这时候,可以使用操作系统的全局音频控制来调节RTSP或RTMP播放器的音量。 当你调整系统音量时,所有正在播放音频的应用程序(包括 RTMP 播放器)的音量也会相应地改变。 利用播放模块自带的音量调节控制一个功能完善的RTSP或RTMP播放器,一般自带实时静音或实时音量调节,如果支持这种模式,就非常方便,可以只条件播放器的volume,不影响系统的音量。 录像功能: 实时录像:在播放或非播放状态下,可拉取 RTMP 或 RTSP 流录制本地文件。如果需要截取MP4文件的一部分,也可通过开始录像、停止录像重新录制 MP4 文件。 播放器如何设计音量调节接口 以大牛直播SDK的Windows平台RTSP、RTMP播放器为例,最早,我们设计的接口如下,直接通过实时静音来完成音量调节:/* * smart_player_sdk.cs
很多开发者在开发RTSP或RTMP播放器的时候,不晓得哪些event回调事件是有意义的,针对此,我们以大牛直播SDK(github)的Android平台RTSP/RTMP直播播放端为例,简单介绍下常用的 录像状态:如开始录像、录像完成; 5. 实时快照:返回快照状态和快照存放路径; 6. 数据缓冲状态:如开始buffering、buffering percent、停止buffering; 7. 流实时下载回调:显示播放rtsp或rtmp流时,实时流量,注意,这块最好是可设置回调时间间隔,防止不必要的资源消耗; 8. RTSP错误状态:如401鉴权不通过。 (param3 返回包含录像 路径在内的录像文件 名)EVENT_DANIULIVE_ERC_PLAYER_ONE_RECORDER_FILE_FINISHED已生成一个录像文件 (param3 返回包含录像 会返回缓冲百分比)EVENT_DANIULIVE_ERC_PLAYER_STOP_BUFFERING停止缓冲数据EVENT_DANIULIVE_ERC_PLAYER_DOWNLOAD_SPEED返回当前 RTSP/RTMP
医疗手术直播:在医疗领域,低延迟播放器可以用于实时获取手术室的视频画面,供远程专家进行实时指导,提高手术的成功率和安全性。Python下的RTMP、RTSP播放器延迟可以做到多低? 以大牛直播SDK的Windows平台RTMP推送模块采集毫秒计数器窗口,然后推RTMP流到NGINX服务器,Python播放器拉流播放,整体延迟如下:听说图片信服力不够? 功能丰富Python下的RTMP、RTSP播放器,实际上还是调用的C接口的,所以Windows平台播放器支持的功能,Python下依然支持,完善的功能,覆盖了95%以上的使用场景。 大牛直播SDK做Python下的低延迟RTMP、RTSP播放器,除了常规播放外,更多的是为了方便做Python下的视觉算法对接处理。 结论基于Python实现的RTSP/RTMP播放器具有简单易用、功能丰富、可扩展性强等特点。
我们需要怎样的直播播放器?很多开发者在跟我聊天的时候,经常问我,为什么一个RTMP或RTSP播放器,你们需要设计那么多的接口,真的有必要吗? 带着这样的疑惑,我们今天聊聊Android平台RTMP、RTSP播放器常规功能,如软硬解码设置、实时音量调节、实时快照、实时录像、视频view翻转和旋转、画面填充模式设定、解码后YUV、RGB数据回调等 :图片延迟延迟延迟RTMP或RTSP直播播放器,特别是在一些交互场景下,对延迟要求近乎苛刻,所以,毫秒级的延迟,是一个直播播放器聊下去的基础,200-400ms的整体时延,是大家比较期望的,是的,你没看错 ,RTMP的也可以做到极低延迟。 或RTSP播放器,还需要支持的客制化功能有支持回调H.264/H.265/AAC数据,或回到解码后的YUV或RGB数据,设置播放缓冲、设置快速播放、设置音频输出类型等,一个通用的RTSP、RTMP播放器
引言:延迟与功能,RTMP播放器的核心生命线在企业级直播、安防监控、远程互动等实时视频系统中,RTMP 依然是应用最广、生态最成熟、穿透性最强的流媒体协议之一。 大牛直播SDK RTMP 播放器正是针对这些痛点而生。 在实际工程落地中,它已被广泛认可为 RTMP 播放器领域的高性能标杆方案,并成功支撑了数百家企业的核心视频业务。2. 支持指定缩放后的图像回调AI 视频分析、二次图像处理音频数据回调解码前 AAC/PCMA/PCMU/Speex 数据回调语音识别、音频处理自适应播放音视频参数变化自动适配动态码率、分辨率切换无缝播放录像扩展与录像 对比开源RTMP播放器:性能差距一目了然在实际项目中,RTMP 播放器的优劣不仅取决于“能否播放”,更取决于延迟、稳定性、跨平台一致性以及功能可扩展性。