很多开发者在做Android平台RTMP推流或轻量级RTSP服务(摄像头或同屏)时,总感觉接口不够用,以大牛直播SDK为例 (Github) 我们来总结下,我们常规需要支持的编码前音视频数据有哪些类型: * LANDSCAPE = 2; //横屏 home键在右边的情况 * LANDSCAPE_LEFT_HOME_KEY = 3; //横屏 home键在左边的情况 支持RGBA数据接入(支持裁剪后数据接入,主要用于同屏场景): /** * Set live video data(no encoded data). 支持RGB565数据接入(主要用于同屏场景): /** * Set live video data(no encoded data). pcm_short_array, int offset, int len, int sample_rate, int channel, int per_channel_sample_number); 9.
平台与架构覆盖RTMP 推流模块的最大特点之一,是它覆盖的操作系统与硬件架构范围之广:平台支持架构特征与用途Windowsx86 / x64(Debug & Release)桌面推屏、教学录课、企业直播 这些能力并非“堆功能”,而是为了在不同系统中实现同一个目标: 让时间与画面在任意设备上保持同频,让推流成为系统秩序的一部分。 三、技术特点:系统化能力栈RTMP 推流模块的价值,不仅在于“能推流”,而在于它构建了一套完整的系统能力栈。 自动断网重连与网络状态回调 支持录像扩展模块 兼容 Unity 接口,可嵌入移动 3D/VR 场景 iOS 平台编码能力 视频:H.264 / H.265(软硬编) 音频:AAC 采集能力 前后摄像头切换 支持横屏与竖屏推流 稳定,是信任的起点; 延迟,是系统的灵魂。让系统与现实同频,正是这套 RTMP 推流模块历经多年仍然屹立不倒的原因。
SDK 接口嵌入式播放、局域网推流,支持国产操作系统运行✅ 培训/教学组织内部知识培训、远程入职指导、实时答疑等画面清晰度高、可录制、可截图、水印防扩散,支持回看和归档✅ 会议大屏联动主会场 + 分会场同时观看同一流媒体视频支持 、麦克风采集,编码为 RTMP 推流格式,支持边推边录实现远程视频讲解、培训演示、摄像同步,适配国产软硬件平台 RTMP/RTSP 播放支持低延迟 RTMP 和 RTSP 播放,解码后画面渲染至窗口或导出 ✅ 架构设计思路 终端采集层:桌面端通过摄像头或屏幕采集生成视频源;移动端可通过 App 采集上传; 推流与中转层:大牛推流SDK将音视频编码为 RTMP 格式推送至内网 RTMP 服务,支持私有流控与转发 UOS 桌面 + ARM终端屏幕采集 + RTMP分发 + 多平台播放本地编码推流,支持大屏/移动端多终端并发播放✅ 科研/高校远程报告答辩统信 Linux教师端摄像头推流 + 播放器嵌入低延迟互动演示 、信创平台兼容良好✅ 金融行业办公桌面通话系统麒麟桌面 + 私有视频服务器点对点 RTMP 推拉流可控部署、可审计、支持双向实时视频通信✅ 智慧园区多楼宇视频广播Linux中控平台 + 多RTMP节点本地采集推流
服务端系统为国内自主研发系统,需支持国产化软硬件平台部署,终端支持国产化终端访问。性能要求:1) 系统需满足直播流大并发访问,支持大于2000点的并发。 系统内置流媒体服务,支持≥2000点并发,可接入rtmp、及rtsp视频流。输出rtmp、http_ts、http_flv、HLS视频流,支持H.265的编码视频流。ê27. 系统支持将接入的直播流信号转推至其他平台。28. 系统支持rtmp、rtsp直播流拉取。用于本地直播资源。29. 系统支持云发布功能,通过组件自定义编辑发布页面。30. 3.3.1直播资源系统内置自主流媒体系统,可直接接收推流信号,进行大规模本地化分发。支持直播流状态显示,预览等。 3.4 推流拉流系统底层基于流媒体系统开发,除完成信号流的推流接入推送的功能性应用外,还可以从其它平台拉流,以及转推至其他直播平台。适用于更多音视频实时传输场景。支持直播流状态显示,添加删除等操作。
,推流和流媒体SkeyeLive服务于一身的同屏功能组件,具有低延时、高效率传输、低丢包率等特点。 SkeyeLive同屏解决方案 从早期的简单拉rtsp、rtmp流再转推rtmp或者rtsp分发,到现在形成完善的音视频采集,到超低延迟,高并发的流媒体综合功能组件软件,SkeyeLive已经经过了5年的开发迭代历史 ; 其早期的版本采用live555和rtmp推流的方式,到现在创新性地采用可靠高效udp传输协议kcp进行流媒体传输的时代的终极同屏组件,skeyelive经过了长期的用户反馈和稳定性测试,现已形成了一套完善的同屏技术体系 ; 用户只需要调用SkeyeLive几个简单的API接口,即可采集摄像头和桌面/麦克风和扬声器进行同屏推流,然后通过URL地址: skeyelive://[ip]:8432 (SkeyeLive默认同屏端口 100ms以内,最高不超过300ms; 8、同屏播放端支持麦克风、扬声器单独和同时播放; 9、同屏直播单台并发不低于200台并发; 10、同屏播放端支持断线重连,5秒内恢复重连; 11、支持7*24小时运行
背景分析互联网同屏直播越来越火热,我们知道很多游戏主播都采用同屏的方式给观众直播,同屏直播组件层出不穷,SkeyeLive就是OpenSKEYE视开视频云团队研发的一款简单、高效、稳定的集采集,编码,推流和流媒体 SkeyeLive同屏解决方案从早期的简单拉rtsp、rtmp流再转推rtmp或者rtsp分发,到现在形成完善的音视频采集,到超低延迟,高并发的流媒体综合功能组件软件,SkeyeLive已经经过了5年的开发迭代历史 ;其早期的版本采用live555和rtmp推流的方式,到现在创新性地采用可靠高效udp传输协议kcp进行流媒体传输的时代的终极同屏组件,skeyelive经过了长期的用户反馈和稳定性测试,现已形成了一套完善的同屏技术体系 ;用户只需要调用SkeyeLive几个简单的API接口,即可采集摄像头和桌面/麦克风和扬声器进行同屏推流,然后通过URL地址:skeyelive://[ip]:8432 (SkeyeLive默认同屏端口 100ms以内,最高不超过300ms;8、同屏播放端支持麦克风、扬声器单独和同时播放;9、同屏直播单台并发不低于200台并发;10、同屏播放端支持断线重连,5秒内恢复重连;11、支持7*24小时运行,长期运行无累计延迟
推流支持可本地部署推流节点,支持自定义推流目标地址、私有协议封装医院内网/专网中实现实时图像回传,无公网依赖 低延迟播放器引擎原生支持 RTMP / RTSP 播放,端到端延迟可控在 100~250ms ,支持离线授权,保障数据合规与隐私安全 平台高度兼容推流与播放均支持国产操作系统(如UOS/麒麟)、ARM架构、嵌入式终端 可对接智能诊疗系统播放端支持图像数据回调,可与AI模块、智能标注工具、病例系统无缝集成 4K编码推流 + RTMP低延迟播放 + SDK边推边录⚕️ ICU探视家属远程视频探视局域网安全访问、视频加密摄像头→RTMP内网流→播放器嵌入医院门户 远程影像阅片医生远程查看病灶影像、实时讨论高清影像传输 、时间轴回放RTMP推流 + 跨平台播放器 + 录制模块 跨院协作区域医疗中心与基层医院联动多端视频汇聚、统一调度RTSP/RTMP汇聚→大牛SDK多实例播放 + 协同管理 ✅ 大牛直播SDK的能力并非 以下是针对典型国产平台的适配与部署能力概览:平台类型支持情况适配说明应用场景举例 UOS 桌面系统✅ 完整支持推流 / 播放 / 录制 / 回调提供 .so 动态库 + C/C++接口 + Qt/PyQt
图片 今天我们讲解下“通过RTSP、RTMP、HTTP等流媒体协议将监控摄像机、手机推流、同屏桌面等终端设备接入SkeyeVSS视频融合平台”,从而将非标协议转成GB28181协议,以实现复杂海量设备、 接入RTMP流 首选,协议类型选择“RTMP”,然后在“接入流媒体地址”中输入RTMP流地址,以手机端推流为例,输入流地址:rtmp://114.116.122.72:11935/live/stream Rtsp传输协议方式支持TCP/UDP和MUTICAST三种方式,默认选择TCP拉流方式,正常情况下TCP拉流的效果也最好,配置完后点击“保存”即可。 接入http流 首选,协议类型选择“HTTP”,然后在“接入流媒体地址”中输入HTTP流地址,以MP4流地址为例,输入流地址:http://clips.vorwaerts-gmbh.de/big\_buck 图片 多分屏视频广场图片多分屏播放接入的非标视频流图片
图片今天我们讲解下“通过RTSP、RTMP、HTTP等流媒体协议将监控摄像机、手机推流、同屏桌面等终端设备接入SkeyeVSS视频融合平台”,从而将非标协议转成GB28181协议,以实现复杂海量设备、视频缘接入的统一运维管理 接入RTMP流首选,协议类型选择“RTMP”,然后在“接入流媒体地址”中输入RTMP流地址,以手机端推流为例,输入流地址:rtmp://114.116.122.72:11935/live/streamRtsp 传输协议方式支持TCP/UDP和MUTICAST三种方式,默认选择TCP拉流方式,正常情况下TCP拉流的效果也最好,配置完后点击“保存”即可。 接入http流首选,协议类型选择“HTTP”,然后在“接入流媒体地址”中输入HTTP流地址,以MP4流地址为例,输入流地址:http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4Rtsp 传输协议方式支持TCP/UDP和MUTICAST三种方式,默认选择TCP拉流方式,正常情况下TCP拉流的效果也最好,配置完后点击“保存”即可。
图片今天我们讲解下“通过RTSP、RTMP、HTTP等流媒体协议将监控摄像机、手机推流、同屏桌面等终端设备接入SkeyeVSS视频融合平台”,从而将非标协议转成GB28181协议,以实现复杂海量设备、视频缘接入的统一运维管理 接入RTMP流首选,协议类型选择“RTMP”,然后在“接入流媒体地址”中输入RTMP流地址,以手机端推流为例,输入流地址:rtmp://114.116.122.72:11935/live/streamRtsp 传输协议方式支持TCP/UDP和MUTICAST三种方式,默认选择TCP拉流方式,正常情况下TCP拉流的效果也最好,配置完后点击“保存”即可。 接入http流首选,协议类型选择“HTTP”,然后在“接入流媒体地址”中输入HTTP流地址,以MP4流地址为例,输入流地址:http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4Rtsp 传输协议方式支持TCP/UDP和MUTICAST三种方式,默认选择TCP拉流方式,正常情况下TCP拉流的效果也最好,配置完后点击“保存”即可。
技术背景好多开发者,希望我们能系统的介绍下无纸化同屏的原理和集成步骤,以Android平台为例,无纸化同屏将Android设备上的屏幕内容实时投射到另一个显示设备(如Windows终端、国产化操作系统或另一台 技术考量指标本文以大牛直播SDK Android同屏采集推送为例,介绍下我们前些年做Android同屏采集推送的时候,一些注意点:声明所需权限:在Android应用的AndroidManifest.xml 如H.264、H.265等,以及设置合适的分辨率、帧率、码率,以适应不同的网络环境和接收设备的性能;流媒体协议:为了将编码后的视频流实时传输到接收端,Android无纸化同屏技术通常采用RTMP推流模式或轻量级 推送模块为例,我们主要实现了如下功能:音频编码:AAC/SPEEX;视频编码:H.264、H.265;推流协议:RTMP;[音视频]支持纯音频/纯视频/音视频推送;[摄像头]支持采集过程中,前后摄像头实时切换 总结以上是Android平台屏幕采集、音频播放声音采集、麦克风采集编码打包推送到RTMP和轻量级RTSP服务的相关技术实现,做成高稳定低延迟的同屏系统,还需要有配套好的RTMP、RTSP直播播放器,整体部署
EasyScreenLive是一款简单、高效、稳定的集采集,编码,组播,推流和流媒体RTSP服务于一身的同屏功能组件,在大屏显示投屏,无纸化会议同屏演示,课堂同屏等,可以配合全屏显示,在很多项目中都能够实现项目推流的需求 RTMP流到EasyDSS的过程。 1、推RTMP流到EasyDSS DEMO示例中选择屏幕采集,然后Capture,接着添加EasyDSS的信息,RTMPush IP为部署EasyDSS服务的IP地址,本案例中,直接用的青犀团队在线演示的地址 ,Port为推流端口,在线演示的端口被定义为10035,Stream为推流标识,如上图,我们自定义推流标识为hls/Seven,填写完毕信息后,我们点击StartPushRTMP按钮,日志栏提示推流成功 打开WEB页面,在直播管理页面->视频直播列表显示中,可以看到刚刚我们推上来的流信息,有ID、名称、推流开关、推流鉴权、推流计划、录像计划、状态、分享开关、直播状态、推送流量等信息显示,方面直观,除了页面可以直播播放以外
大牛直播SDK推出的跨平台 RTMP 推流 SDK,正是这个场景下的“底层引擎”——它像一条高速、稳定、可控的数字通道,将任意终端的画面与音频高效推送到分发节点,再由各类终端实现毫秒级同步播放,让“同屏 以下四类痛点几乎是所有项目都会遇到的: 跨平台一致性难保障 不同终端(Windows 会议一体机、Android 触控大屏、iOS 平板、PC 客户端对推流协议与编码器支持差异大。 技术架构:跨平台 RTMP 推流 + 播放的同屏闭环针对无纸化会议与智慧教室的核心诉求,我们基于大牛直播SDK的跨平台 RTMP 推流 SDK,构建了一套**“推流端 → 分发端 → 播放端”**的完整闭环架构 解决方案: Windows 推流端采集屏幕操作和语音,使用硬件编码减少 CPU 占用; RTMP 推流至云端 CDN,全球分发; 本地并行录制高码率视频,用于后期复盘与考核。 可以预见,这套以跨平台 RTMP 推流为核心的技术栈,将继续在政企协作、教育培训、远程教学等领域发挥关键作用,并在未来与 AI、低延迟传输协议的深度结合中,成为下一代智慧协作系统的核心基石。
EasyDSS能支持多屏播放,可兼容Windows、Android、iOS、Mac等操作系统,还能支持CDN转推,具备较强的可拓展性与灵活性。 OBS Studio是免费开源的视频录制与直播流软件,支持Windows、macOS、Linux操作系统,在视频直播功能上,也深受用户的欢迎。 今天和大家分享一个技术干货,如何使用OBS推流到EasyDSS平台实现同屏播放。 操作步骤如下:1)首先,打开OBS:2)打开设置,选择推流:3)按照rtmp://{ip}:{port}/{application}/id这个规则,配置相关参数后,即可推送流成功,实现视频直播同屏的效果 ,如图:我们在此前的文章也分享过如何使用OBS进行推流录屏与直播,感兴趣的用户可以翻阅我们往期的文章进行了解。
推流SDK,跨平台,支持Windows、Android、iOS平台,特别针对如在线教育、会议同屏等传统场景开发,以SDK开发包的形式提供,功能强大,可扩展性强,如可支持录像、快照、外部原始YUV/RGB 推流]超低延时的RTMP协议直播推流SDK(Windows/Android/iOS支持RTMP扩展H.265推送); [视频格式]Windows/Android平台支持H.264/H.265编码(Android ,Android/iOS平台支持H.265硬编码; [横竖屏推流]Android/iOS平台支持支持横屏、竖屏推流; [多分辨率支持]支持摄像头或屏幕多种分辨率设置; [Windows推屏]Windows ,实时快照; [纯音频推流]支持仅采集音频流并发起推流功能; [纯视频推流]支持特殊场景下的纯视频推流功能; [降噪]Windows/Android平台支持环境音、手机干扰等引起的噪音降噪处理、自动增益 如果是传统行业,比如智慧教室、无纸化会议同屏等,需要结合自己的业务,进行二次开发,而且对延迟、稳定性、还有可扩展性要求很高的话,可以考虑用SmartPublisher这种基于接口定制的SDK降低开发周期
、码率(bit-rate)设置;支持RTMP推送 live|record模式设置;支持前置摄像头镜像设置;支持软编码、特定机型硬编码;支持横屏、竖屏推送;支持Android屏幕采集推送;支持自建标准RTMP 低延迟和高效传输:采用自适应算法,能够实现更低的延迟和更高的采集、编码、传输效率,确保视频流的实时性和流畅性,这对于对实时性要求较高的在线教育、会议同屏等场景非常重要。 推流功能: RTMP 推流:提供超低延时的 RTMP 协议直播推流功能,并且 Windows、Linux、Android、iOS 支持 RTMP 扩展 H.265 推送,在保证推流质量的同时,能够有效降低带宽占用 推流模式设置:支持 RTMP 推送的 Live(直播)和 Record(录制)模式设置,可根据不同的应用场景进行选择。 SmartPublisher:作为一款专业的推流 SDK,主要针对在线教育、会议同屏等传统场景开发。它具有很强的可扩展性,支持录像、快照、外部原始 YUV/RGB 数据接入或编码后数据集成等功能。
EasyScreenLive是集采集、编码、组播、推流和流媒体RTSP服务于一身的同屏功能组件,具备低延时, 高效能,低丢包等特点,目前该组件仅支持Windows、Android平台。 image.png 在EasyScreenLive demo程序中,部分用户有将视频流推送到腾讯云进行直播的需求,然而腾讯云给的rtmp推流的地址没有端口,导致EasyScreenLive程序端口无法正确填写 image.png EasyScreenLive demo实际是可以实现推到腾讯云直播的,因为EasyScreenLive支持rtsp和rtmp推流。 因此我们从网上查找rtmp有默认端口,所以进行rtmp默认端口号测试。 rtmp默认端口:1935 下图是腾讯云rtmp推流地址: image.png 解决该问题的方式就是把红色标注的程序填写到EasyScreenLive demo中的RTMP栏。
要是有一种技术解决方案解决以上痛点就好了~ 另外有些小伙伴目前线上稳定运行的业务是通过 RTMP 推流,或者推流端仅支持 RTMP/RTSP 推流(比如安防视频画面流、赛事直播在线媒体流、移动端推出直播流等 如下图所示,TRTC 最新支持以 RTMP 协议推流至 RTC 房间的方案,常见 RTMP 流的来源: 在 PC 端通过 OBS 或 其他直播平台工具 进行RTMP推流; 在服务端通过FFMPEG推在线媒体流 OS X、Windows、Linux 操作系统,适用多种直播场景,满足大部分直播行为的操作需求。 、一起看春晚,辅以千人同屏互动的能力展示在现场大屏幕,营造更有沉浸感和参与感的直播互动体验。 以上服务器地址 + 串流密钥组成 RTMP 推流地址,也可以供 FFmpeg 或其他 RTMP 库推流。
图片有用户反馈,在EasyCVR平台添加RTMP_PUSH通道时,若与RTSP通道名重复,系统会弹出推流名重复的提示,如下图:图片收到反馈后技术人员立即开展排查。 已知添加RTMP通道时,通道名不能重复,但在判断通道名称是否存在时,查询了所有通道类型的通道名称,正确的查询应该是只查询RTMP类型的通道名称,判断通道名称是否存在。 于是技术人员在SQL语句增加通道类型过滤条件,并进行了测试,平台现在已经可正常添加RTMP和RTSP同名的通道了。
有关OBS Studio的源码下载、安装过程和使用说明详见之前的文章《使用OBS Studio开启RTMP直播推流》。 RTMP Streamer是一个安卓手机端的开源RTMP直播推流框架,可用于RTMP直播和RTSP直播,其升级版还支持SRT直播(腾讯视频云就采用SRT协议)。 有关RTMP Streamer的源码下载、安装过程和使用说明详见之前的文章《使用RTMP Streamer开启APP直播推流》。 SRT Streamer是一个安卓手机端的开源SRT协议直播推流框架,可用于RTMP直播和SRT直播。 SRS是一款国产的开源实时视频服务器,支持RTMP、WebRTC、HLS、HTTP-FLV、SRT等流媒体协议。