很多开发者在做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). int channel, int per_channel_sample_number, int is_low_latency); /** * 传递PCM混音音频数据给SDK, 每10ms
SDK 接口嵌入式播放、局域网推流,支持国产操作系统运行✅ 培训/教学组织内部知识培训、远程入职指导、实时答疑等画面清晰度高、可录制、可截图、水印防扩散,支持回看和归档✅ 会议大屏联动主会场 + 分会场同时观看同一流媒体视频支持 、麦克风采集,编码为 RTMP 推流格式,支持边推边录实现远程视频讲解、培训演示、摄像同步,适配国产软硬件平台 RTMP/RTSP 播放支持低延迟 RTMP 和 RTSP 播放,解码后画面渲染至窗口或导出 ✅ 架构设计思路 终端采集层:桌面端通过摄像头或屏幕采集生成视频源;移动端可通过 App 采集上传; 推流与中转层:大牛推流SDK将音视频编码为 RTMP 格式推送至内网 RTMP 服务,支持私有流控与转发 UOS 桌面 + ARM终端屏幕采集 + RTMP分发 + 多平台播放本地编码推流,支持大屏/移动端多终端并发播放✅ 科研/高校远程报告答辩统信 Linux教师端摄像头推流 + 播放器嵌入低延迟互动演示 、信创平台兼容良好✅ 金融行业办公桌面通话系统麒麟桌面 + 私有视频服务器点对点 RTMP 推拉流可控部署、可审计、支持双向实时视频通信✅ 智慧园区多楼宇视频广播Linux中控平台 + 多RTMP节点本地采集推流
平台与架构覆盖RTMP 推流模块的最大特点之一,是它覆盖的操作系统与硬件架构范围之广:平台支持架构特征与用途Windowsx86 / x64(Debug & Release)桌面推屏、教学录课、企业直播 这些能力并非“堆功能”,而是为了在不同系统中实现同一个目标: 让时间与画面在任意设备上保持同频,让推流成为系统秩序的一部分。 三、技术特点:系统化能力栈RTMP 推流模块的价值,不仅在于“能推流”,而在于它构建了一套完整的系统能力栈。 自动断网重连与网络状态回调 支持录像扩展模块 兼容 Unity 接口,可嵌入移动 3D/VR 场景 iOS 平台编码能力 视频:H.264 / H.265(软硬编) 音频:AAC 采集能力 前后摄像头切换 支持横屏与竖屏推流 稳定,是信任的起点; 延迟,是系统的灵魂。让系统与现实同频,正是这套 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 推流拉流系统底层基于流媒体系统开发,除完成信号流的推流接入推送的功能性应用外,还可以从其它平台拉流,以及转推至其他直播平台。适用于更多音视频实时传输场景。支持直播流状态显示,添加删除等操作。
技术背景好多开发者,希望我们能系统的介绍下无纸化同屏的原理和集成步骤,以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直播播放器,整体部署
推流支持可本地部署推流节点,支持自定义推流目标地址、私有协议封装医院内网/专网中实现实时图像回传,无公网依赖 低延迟播放器引擎原生支持 RTMP / RTSP 播放,端到端延迟可控在 100~250ms ,支持离线授权,保障数据合规与隐私安全 平台高度兼容推流与播放均支持国产操作系统(如UOS/麒麟)、ARM架构、嵌入式终端 可对接智能诊疗系统播放端支持图像数据回调,可与AI模块、智能标注工具、病例系统无缝集成 4K编码推流 + RTMP低延迟播放 + SDK边推边录⚕️ ICU探视家属远程视频探视局域网安全访问、视频加密摄像头→RTMP内网流→播放器嵌入医院门户 远程影像阅片医生远程查看病灶影像、实时讨论高清影像传输 、时间轴回放RTMP推流 + 跨平台播放器 + 录制模块 跨院协作区域医疗中心与基层医院联动多端视频汇聚、统一调度RTSP/RTMP汇聚→大牛SDK多实例播放 + 协同管理 ✅ 大牛直播SDK的能力并非 以下是针对典型国产平台的适配与部署能力概览:平台类型支持情况适配说明应用场景举例 UOS 桌面系统✅ 完整支持推流 / 播放 / 录制 / 回调提供 .so 动态库 + C/C++接口 + Qt/PyQt
,推流和流媒体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小时运行,长期运行无累计延迟
图片 今天我们讲解下“通过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拉流的效果也最好,配置完后点击“保存”即可。
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 数据接入或编码后数据集成等功能。
环境介绍 当前使用的操作系统: win10 64位 一、部署EasyDarwin服务器 据官网介绍,EasyDarwin拥有完整的源代码,可以帮助开发者更快更简单实现流媒体音视频产品功能,使用完全免费 -CSDN下载windows系统下搭建RTSP流媒体服务器很好用的框架,可以拉流和收流。 (&oc,nullptr,"rtsp",filename); //发布到网络 软件运行效果: 网页上已经提示收到发布的rtsp流: 采用PotPlayer播放的效果: 效果: 实现桌面同屏 如果想自己采用FFMPEG代码方式推流本地摄像头+声卡数据或者摄像头+声卡数据到服务器,可以参考这里:FFMPEG音视频开发: 完成摄像头、桌面本地录制与rtmp推流(windows)_DS小龙哥的专栏 /rtsp)_DS小龙哥的专栏-CSDN博客一、环境介绍操作系统:win10 64位QT版本:QT5.12.6编译器:MinGW 32ffmpeg版本: 4.2.2完整工程下载地址(下载即可编译运行):
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栏。
三、音频采集:麦克风 + 系统内录的双路混音引擎Android 10+ 的 AudioPlaybackCapture 让系统内录变得合法,但绝大部分开源代码在“系统音 + 麦克风”并存时会崩溃、延迟巨大 四、传输核心:RTMP 推流 + 内置 RTSP 服务的双模引擎大牛直播 SDK 最大亮点之一是: 手机端既能推流,也能自己变成 RTSP 服务器。 下面分别来看。 4.1 RTMP 推流:专业级配置能力RTMP 推流在 LibPublisherWrapper.java 中进行了全封装,支持: H.264 / H.265(软编 + 硬编) 可变码率(VBR) 动态码率估算 比如大牛直播SDK的SmartPlayer:rtsp://192.168.1.8:8554/stream1非常适合: 会议同屏 局域网监控 课堂投屏 车载/无人机视频链路 工控屏幕共享 不需要 ④ RTMP 推流 + 内置 RTSP 服务的“双通道能力”除了常见的 RTMP 推流外,SDK 还能在设备上直接启动 RTSP 服务,将终端变成轻量级流媒体节点。
技术背景好多开发者希望搞清楚,Android平台同屏采集到编码推送RTMP的大概流程,简单来说,Android上采集屏幕数据,先进行audio和屏幕采集权限申请,包括在清单文件中声明权限和动态申请权限 初始化 RTMP 连接:使用选择的 RTMP 库或 SDK,初始化 RTMP 连接,设置 RTMP 服务器的地址、端口号、推流路径等参数。 代码示例以大牛直播SDK的Android的SmartServicePublisherV2的同屏demo为例,启动APP后,先选择需要采集的分辨率(如果选原始分辨率,系统不做缩放),然后选择“启动媒体投影 以Android平台RTMP推送模块为例,我们主要实现了如下功能:音频编码:AAC/SPEEX;视频编码:H.264、H.265;推流协议:RTMP;[音视频]支持纯音频/纯视频/音视频推送;[摄像头] 和轻量级RTSP服务整体流程非常清晰,所以说,如果只是技术学习,很容易打通并实现相关推流demo,如果是要实现高稳定低延迟的同屏系统,还需要有配套好的RTMP、RTSP直播播放器,整体部署,内网大并发环境下