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. ...
随机推荐
- 关键字——this,super,static,final
this 理解为当前对象. //测试 public static void main(String[] args){ Person person = new Person(3, "xiaoM ...
- 设计模式-策略模式前端应用校验vue写法
1.定义:定义一系列算法,把它们一个个封装起来,并且它们可以相互替换 2.实际应用:减少if else的使用,在有多种算法相似的情况下,使用 if-else 所带来的复杂和难以维护,提高维护和可读性, ...
- Servlet 之 Http协议
请求消息数据格式 请求行 请求方式 请求url 请求协议或者版本 (GET /login.html HTTP/1.1) 请求头 请求头名称:请求头值 多个用逗号分隔 请求空行 空行分隔作 ...
- lvm逻辑卷创建及使用
创建逻辑卷 pvcreate /dev/md0 pvs 查看创建的pv组 pvdisplay /dev/md0 查看磁盘详细信息 添加vg组: 创建vg组: vgcreate vg1 /dev/md0 ...
- SQL Server数据库 备份A库,然后删除A库,再还原A库,此时数据库一直显示“正在还原”的解决方法
SQL Server数据库 备份A库,然后删除A库,再还原A库,此时数据库一直显示"正在还原"的解决方法: A库一直显示"正在还原". 在这种状态下,由于未提交 ...
- AI 企业多云存储架构实践 | 深势科技分享
2020 年末,谷歌旗下 DeepMind 研发的 AI 程序 AlphaFold2 在国际蛋白质结构预测竞赛上取得惊人的准确度,使得" AI 预测蛋白质结构"这一领域受到了空前的 ...
- 洛谷P4017 最大食物链数量 dfs
老规矩,传送门 做题从头到尾的思路: 1. 这个题明显就是dfs数数量了,简单,邻接矩阵干他! TLE警告,8个点 额... 2. 老师说这玩意不能邻接矩阵?没事,还有邻接表,再来! 再次TLE 8个 ...
- java controller 异常捕获
package com.aiyusheng.framework.exception; import lombok.Data; /** * base异常类 * @author :cza * @date ...
- C++数据类型的引入
1.存储位数 计算机管理存储器(内存和外存)的最小单位是字节,每个字节存储一个8为二进制数.一个字节的存储范围就在(00000000 ~ 11111111),十进制表示就是0~255这个范围.为了方便 ...
- 谷歌的SRE和开发是如何合作的
本文是一篇比较有价值的.介绍SRE的文章.国内的所谓SRE职责其实并不明确,大部分其实还是干普通运维的事.但文中介绍的谷歌的运作方式起点还是相对比较高的,无论对SRE.对开发,甚至对公司都有很高的要求 ...