3款知名RTMP推流模块比较:OBS VS SmartPublisher VS Flash Media Live Encoder
OBS
功能强大,几乎所有你想要的场景它都有,用起来很顺手。可以将桌面、摄像头、程序窗口通过rtmp推送到流媒体服务器上。
当然如果你是开发者,想基于OBS做二次开发,实现二次产品化的化,难度比较大,OBS代码量很大,驾驭起来难度很大,有bug的话,跟踪起来很累。
下载地址:OBS下载
以下是官方介绍:
What is OBS Studio?
OBS Studio is software designed for capturing, compositing, encoding, recording, and streaming video content, efficiently.
It's distributed under the GNU General Public License v2 (or any later version) - see the accompanying COPYING file for more details.
Quick Links
- Website: https://obsproject.com
- Help/Documentation/Guides: https://github.com/obsproject/obs-studio/wiki
- Forums: https://obsproject.com/forum/
- Build Instructions: https://github.com/obsproject/obs-studio/wiki/Install-Instructions
- Developer/API Documentation: https://obsproject.com/docs
- Donating/backing/sponsoring: https://obsproject.com/contribute
- Bug Tracker: https://github.com/obsproject/obs-studio/issues
SmartPublisher
SmartPublisher是大牛直播SDK (Github)的RTMP推流SDK,跨平台,支持Windows、Android、iOS平台,特别针对如在线教育、会议同屏等传统场景开发,以SDK开发包的形式提供,功能强大,可扩展性强,如可支持录像、快照、外部原始YUV/RGB数据接入,或编码后数据集成等,集成难度较低,Windows平台对外提供C++和C#接口,Android端提供JNI接口,iOS平台提供Object C接口调用。
功能支持
如不单独说明,系Windows、Android、iOS全平台支持。
- [视频采集处理]Windows平台涵盖“Windows视频采集处理SDK”功能;
- [音频采集处理]Windows平台涵盖“Windows音频采集处理SDK”功能;
- [本地预览]Windows平台支持摄像头/屏幕/合成数据实时预览功能,Android/iOS平台支持本地前后置摄像头预览;
- [摄像头反转/旋转]Windows平台支持摄像头水平反转、垂直反转、0°/90°/180°/270°旋转;
- [摄像头采集]除常规YUV格式外,Windows平台还支持MJPEG格式的摄像头采集;
- [麦克风/扬声器采集]Windows平台音频输入端支持麦克风、扬声器,或麦克风和扬声器混音输入;
- [RTMP推流]超低延时的RTMP协议直播推流SDK(Windows/Android/iOS支持RTMP扩展H.265推送);
- [视频格式]Windows/Android平台支持H.264/H.265编码(Android H.265硬编码),iOS平台支持H.264编码;
- [音频格式]Windows/Android/iOS平台支持AAC编码,Windows/Android平台支持Speex编码;
- [音频编码]Windows/Android平台支持Speex推送、Speex编码质量设置;
- [音量调节]Windows/Android平台采集端支持实时音量调节(其中,Windows平台混音模式下支持单独控制麦克风、扬声器音量);
- [H.264硬编码]Windows/Android/iOS平台支持H.264特定机型硬编码;
- [H.265硬编码]Windows/Android/iOS平台支持H.265特定机型硬编码;
- [硬编码自适应]Android/iOS平台支持硬编码自适应,如检测到硬编码不支持,自动切换到软编(iOS如H.265硬编,先切换到H.264硬编码,如不支持再尝试H.264软编);
- [软硬编码参数配置]支持gop间隔、帧率、bit-rate设置;
- [软编码参数配置]支持软编码profile、软编码速度、可变码率设置;
- [多实例推送]支持多实例推送(如同时推送屏幕/摄像头和外部数据);
- [RTMP扩展H.265]Windows/Android/iOS推送SDK支持RTMP扩展H.265推送,Windows针对摄像头采集软编码,使用H.265可变码率,带宽大幅节省,效果直逼传统H.265编码摄像头,Android/iOS平台支持H.265硬编码;
- [横竖屏推流]Android/iOS平台支持支持横屏、竖屏推流;
- [多分辨率支持]支持摄像头或屏幕多种分辨率设置;
- [Windows推屏]Windows平台支持屏幕裁剪、窗口采集、屏幕/摄像头数据合成等多种模式推送;
- [移动端推屏]Android平台支持后台service推送屏幕(推送屏幕需要5.0+版本);
- [移动端推屏]iOS平台支持后台推送屏幕(基于ReplayKit,需要iOS 10.0+版本);
- [事件回调]支持各种状态实时回调;
- [水印]Windows平台支持文字水印、png水印、实时遮挡,Android平台支持文字水印、png水印;
- [RTMP推送模式]支持RTMP推送 live|record模式设置(需服务器支持);
- [镜像]Android/iOS平台支持前置摄像头实时镜像功能;
- [前后摄像头实时切换]Android/iOS平台支持采集过程中,前后摄像头切换;
- [复杂网络处理]支持断网重连等各种网络环境自动适配;
- [动态码率]支持根据网络情况自动调整推流码率;
- [实时静音]支持推送过程中,实时静音/取消静音;
- [实时快照]支持推流过程中,实时快照;
- [纯音频推流]支持仅采集音频流并发起推流功能;
- [纯视频推流]支持特殊场景下的纯视频推流功能;
- [降噪]Windows/Android平台支持环境音、手机干扰等引起的噪音降噪处理、自动增益、VAD检测;
- [回音消除]Android平台支持实时传递远端PCM数据,方便回音消除处理;
- [外部编码前视频数据对接]支持YUV数据对接;
- [外部编码前音频数据对接]支持PCM对接;
- [外部编码后视频数据对接]支持外部H.264数据对接;
- [外部编码后音频数据对接]外部AAC/PCMA/PCMU/SPEEX数据对接;
- [推送端休眠设置]Windows平台支持休眠接口(设置成休眠模式后CPU会适当降低);
- [编码后数据输出]Android平台支持输出编码后的H264/AAC数据到上层,方便对接第三方平台(如GB28181)对接;
- [扩展录像功能]完美支持和录像SDK组合使用,录像相关功能,可参见”Windows/Android/iOS录像SDK“;
- [裁剪模式]Android/iOS平台支持特定分辨率摄像头裁剪模式设置;
- [服务器兼容]支持自建服务器(如Nginx、SRS)或CDN。
Flash Media Live Encoder
Adobe Flash Media Live Encoder 3.2 Adobe Flash Media Live Encoder 3.2 实时视频和音频捕捉软件是一个媒体编码器,它能够将音频和视频实时流式传送到 Adobe Flash Media Server 软件或 Flash 视频流服务(FVSS) 上。此软件能够随时广播体育赛事、Web 广播、音乐会等实时活动。
跨平台支持
利用 Flash Media Live Encoder 中的扩展支持 — 现在在 PC 和 Mac 平台上可用。
支持多种输入设备
能够从提供原始视频并支持 Microsoft DirectShow 滤镜的任何网络摄像机、FireWire 或 USB 设备流式传输实时视频。
下载地址: Flash Media Live Encoder
总结
如果寻求工具型的产品,OBS和Flash Media Live Encoder足够了,只是需要把屏幕或摄像头数据,推送到公网RTMP服务器或者CDN,易用性好,功能强大。
如果是传统行业,比如智慧教室、无纸化会议同屏等,需要结合自己的业务,进行二次开发,而且对延迟、稳定性、还有可扩展性要求很高的话,可以考虑用SmartPublisher这种基于接口定制的SDK降低开发周期,提高开发效率和产品稳定性,腾出更多的精力进行业务逻辑的开发。
感兴趣的开发者可以自行选择。
3款知名RTMP推流模块比较:OBS VS SmartPublisher VS Flash Media Live Encoder的更多相关文章
- day122:MoFang:OSSRS流媒体直播服务器&基于APICloud的acLive直播推流模块实现RTMP直播推流
目录 1.docker安装OSSRS流媒体直播服务器 2.基于APICloud的acLive直播推流模块实现RTMP直播推流 3.直播流管理 1.docker安装OSSRS流媒体直播服务器 1.OSS ...
- Windows平台摄像头或屏幕RTMP推送介绍:OBS VS SmartPublisher
好多开发者问道,既然有了OBS,你们为什么还要开发SmartPublisher? 的确,在我们进行Windows平台RTMP推送模块开发之前,市面上为数不多的Windows平台RTMP推流工具当属OB ...
- ffmpeg+EasyDSS流媒体服务器实现稳定的rtmp推流直播
本文转自EasyDarwin团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/74783269 需求 在做EasyDSS开发时,总 ...
- 前端多媒体(7)—— 在浏览器中实现rtmp推流
示例:https://young-cowboy.github.io/gallery/rtmp_client/index.html 在国内的直播场景中通常使用,rtmp协议作为推流协议.RTMP是Rea ...
- 一步一步实现直播软件源码的RTMP推流流媒体服务
第一步:准备工具 OBS推流工具下载及配置可以参见:OBS推流工具 第二步:安装流媒体服务 Windows/Linux系统环境中搭建直播流媒体服务 极速安装,下载解压一键启动即可,支持Windows和 ...
- 安卓直播开源: RTMP 推流SDK
前些日子在github上提交了基于GPUImage的IOS直播推流SDK(https://github.com/runner365/GPUImageRtmpPush) 最近整理了android直播推流 ...
- 全球第一款纯数据GPRS模块 有方M590 概述
更多精彩请到http://blog.tuzhuke.info/?cat=30 M590为全球第一款纯数据GPRS模块,专注数据收发功能,GPRS数据以及短信数据.没有电话语音功能,可以能够拨打或者接听 ...
- C++ 实现的netstat -an 的功能<转>-目的为获取rtmp推流地址如果是域名的话查看1935的ip
目的可能是为了获取rtmp真正的推流ip 如果rtmp推流地址是域名,往CDN推流的话,需要nslookup 的那种DNS解析,然后获取的几个ip 可以使用netstat -n 等命令查看 1935 ...
- win10下一分钟快速搭建rtmp推流服务器
为了让大家少踩笔者踩过的坑,目前将工作中搭建rtmp推流服务器的步骤总结如下: 步骤1: 下载 nginx 1.7.11.3 Gryphon 下载链接: http://nginx-win.ecsds. ...
随机推荐
- 集成学习——GBDT(手推公式)
- 隐私计算FATE-离线预测
一.说明 Fate 的模型预测有 离线预测 和 在线预测 两种方式,两者的效果是一样的,主要是使用方式.适用场景.高可用.性能等方面有很大差别:本文分享使用 Fate 基于 纵向逻辑回归 算法训练出来 ...
- 使用Karmada实现Helm应用的跨集群部署
摘要:借助Karmada原生API的支持能力,Karmada可以借助Flux轻松实现Helm应用的跨集群部署. 本文分享自华为云社区< 使用Karmada实现Helm应用的跨集群部署[云原生开源 ...
- IDEA Unicode码转中文
1.打开设置 2.打开文件编码设置,按如图设置
- 深度学习基础-基于Numpy的感知机Perception构建和训练
1. 感知机模型 感知机Perception是一个线性的分类器,其只适用于线性可分的数据. f(x) = sign(w.x + b) 其试图在所有线性可分超平面构成的假设空间中找 ...
- 对 API 平台的再思考【eolink翻译】
API 是推动现代企业数字化转型的基础.它不但连接了内部应用程序.合作伙伴和客户,同时也快速持续地向市场提供了各种新产品.版本和功能. 但当下还是以集中式的 API 交付为主.一个企业的对外 API ...
- 【Unity基础知识】基础游戏单位GameObject中常用的属性和API
一.GameObject中的成员变量 主要思想:得到该脚本依附的GameObject的相关信息 现有: Lesson4的代码: using System.Collections; using Syst ...
- Netty-ProtobufVarint32
效果 ProtobufVarint32LengthFieldPrepender编码器用于在数据最前面添加Varint32,表示数据长度 ProtobufVarint32FrameDecoder是相对应 ...
- 搭建一个完整的K8S集群-------基于CentOS 8系统
创建三个centos节点: 192.168.5.141 k8s-master 192.168.5.142 k8s-nnode1 192.168.5.143 k8s-nnode2 查看centos系统版 ...
- 技术分享 | ARM下中标麒麟系统ky10使用Xtrabackup-8.0.25
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 一.需求背景 查询Percona官方手册,Xtrabackup 8.0可以备份M ...