Windows平台摄像头或屏幕RTMP推送:OBS VS SmartPublisher

好多开发者问道,既然有了OBS,你们为什么还要开发SmartPublisher?

的确,在我们进行Windows平台RTMP推送模块开发之前,市面上为数不多的Windows平台RTMP推流工具当属OBS了,不得不说,OBS是一款很好用的直播软件,它的优势在于,几乎可以直播所有直播平台,不需要每个直播平台都下载相关平台的专用直播软件,可以直播游戏,显示器,word,浏览器等。

今天,我们以OBS和大牛直播SDK开发的SmartPublisher为例,就Windows平台RTMP推流工具,做个简单的比较:

OBS介绍

OBS的优势在于,功能强大,几乎所有你想要的场景它都有,现成的软件,用起来很顺手。当然如果你是开发者,想基于OBS做二次开发,实现二次产品化的化,难度比较大,OBS代码量很大,驾驭起来难度很大,有bug的话,跟踪起来很累。

鉴于外面的介绍乱七八糟,我们引用官方的:

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接口调用。

技术特点和优势

  • 全自研框架,易于扩展,自适应算法让延迟更低、采集编码传输效率更高;
  • 所有功能以SDK接口形式提供,所有状态,均有event回调,完美支持断网自动重连;
  • SDK模块化,可和大牛直播播放器SDK组合实现流媒体数据转发、内置轻量级RTSP服务、连麦、一对一互动等场景;
  • Windows推送端SDK以层级模式提供,开发者可以自行组合数据源(如多摄像头/屏幕/水印叠加);
  • 支持外部YUV/RGB/H.264/AAC/SPEEX/PCMA/PCMU数据源接入;
  • 所有参数均可通过SDK接口单独设置,亦可通过默认参数,傻瓜式设置;
  • 推送、录像、内置轻量级RTSP服务模块完全分离,可单独使用亦可组合使用;
  • 业内甚至很难找到效果接近的SDK。

功能支持

如不单独说明,系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硬编码]Android/iOS平台支持H.264硬编码;
  •  [H.265硬编码]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。

总结

通过以上介绍,大家可以看出,如果是互联网级的,只是需要把屏幕或摄像头数据,推送到公网RTMP服务器或者CDN,对二次开发没有太大要求的化,OBS是个不错的选择,毕竟易用性好,功能强大。

如果是传统行业,比如智慧教室、会议同屏等,需要进行二次开发,对延迟、稳定性要求很高的话,可以考虑用SmartPublisher这种基于接口定制的SDK,以此来降低开发周期,提高开发效率和产品稳定性,腾出更多的精力进行业务逻辑的开发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/553099.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信公众号怎么快速导出一个月的文章数据

运营微信公众号肯定要分析文章数据,该怎么一次性导出历史文章数据呢?下面我们就来看看详细的教程。 1、在电脑上登录你的微信公众号,看到这样的页面,然后一直往下拉 微信公众号怎么快速导出一个月的文章数据? 2、在左侧导航栏的统计里面…

轻量级RTSP服务和内置RTSP网关的区别和联系

好多开发者疑惑,什么是内置RTSP网关,和轻量级RTSP服务又有什么区别和联系?本文就以上问题,做个简单的介绍: 轻量级RTSP服务 为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器&am…

RTMP/RTSP推送端和RTMP/RTSP播放端录像设计探讨

好多开发者认为,无论是RTSP/RTMP推送端还是RTSP/RTMP播放端,涉及到录像,只要2个接口足矣:开始录像、停止录像。 实际场景下,一个好的录像模块,2个接口远远不够, 本文以大牛直播SDK(…

Win7提示文件太大无法放入回收站怎么办

我们经常会将没有的文件拖到回收站去,但是有时候会遇到文件拖进回收站时,系统提示该文件太大无法放进回收站,那么Win7提示文件太大无法放入回收站怎么办呢?今天小编就跟大家分享Win7系统提示文件太大无法放入回收站的解决方法。 Win7提示文…

内网无纸化会议/智慧教室实时同屏RTSP组播技术方案思考

内网环境下,为了满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,好多开发者希望有RTSP的技术方案,用于小并发场景,特别是在组网环境好的有线环境下,使用RTSP服务配合组播&#xff…

Windows平台真实时毫秒级4K H264/H265直播技术方案探讨

背景 在刚提出4K视频的时候,大多数人都觉得没有必要,4K的出现,意味着更高的硬件规格和传输要求,1080P看的很爽、很清晰,完全满足了日常的需求。随着电视的尺寸越来越大,原本1080P成像已经无法满足人们对于…

Win11怎么设置电脑开机密码和锁屏密码

相信很多用户都已经用上了微软公司为大家提供的全新Win11系统了,Win11与Win10系统有很大区别,不仅仅体现在界面设计和UI上面,狠多以前Win10用户固定的功能有些取消了,有些挪位置了,这让用惯了Win10系统的用户非常不习惯…

如何在Android实现录屏直播

许多开发者在做智慧教室同屏亦或会议同屏时,基于Andriod平台采集屏幕并编码推送,往往遇到各种各样的问题,以下就我们开发过程中的一些技术考量做个分享,权当抛砖引玉: 协议选择、数据来源和处理 1. 内网环境下&#…

Win11关机后自动开机怎么办 Win11关机后自动开机的解决方法

相信有不少小伙伴已经下载了Win11操作系统进行体验了,但有一些小伙伴碰到了关机之后电脑突然又自动开机的情况,那么碰到这个问题应该怎么办呢?下面就和小编一起来看看有什么解决方法吧。 Win11关机后自动开机的解决方法 1、我们可以先在搜索框中搜索并…

Windows平台RTMP/RTSP播放器如何实现实时音量调节

为什么要做实时音量调节 RTMP或RTSP直播播放音量调节,主要用于多实例(多窗口)播放场景下,比如同时播放4路RTMP或RTSP流,如果音频全部打开,几路audio同时打开,可能会影响用户体验,我…

TIM待办事项怎么删除 TIM删除待办事项的教程

TIM新建的待办事项没用的话或者搞错了,可以直接删掉。该怎么删除tim中的待办事项呢?下面我们就来看看详细的教程。 1、打开电脑上的个人头像。 TIM待办事项怎么删除? TIM删除待办事项的教程 2、点击待办,查看新建的待办事项。 TIM待办事项怎么删除…

Android同屏或摄像头RTMP推送常用的数据接口设计探讨

前言 好多开发者在调用Android平台RTMP推送或轻量级RTSP服务接口时,采集到的video数据类型多样化,如420sp、I420、yv12、nv21、rgb的,还有的拿到的图像是倒置的,如果开发者在上层转换后,传到底层编码处理,…

跨平台屏幕/摄像头RTMP推流模块设计要点

经常有企业或开发者有这样的疑惑,明明看到网上的demo,一个RTMP推送,五六个接口就搞定了,你们咋就搞得这么复杂? 以大牛直播SDK的(Github)Windows RTMP推流为例,我们的接口要100多个…

企业微信怎么下载资料 企业微信下载资料教程

打开电脑,点击桌面企业微信; 企业微信怎么下载资料?企业微信下载资料教程 进入企业微信, 点击微盘; 企业微信怎么下载资料?企业微信下载资料教程 之后,点击公司资料; 企业微信怎么下载资料?企业微信下…

Android平台Camera2数据如何对接RTMP推流到服务器

1. Camera2架构 在Google 推出Android 5.0的时候, Android Camera API 版本升级到了API2(android.hardware.camera2), 之前使用的API1(android.hardware.camera)就被标为 Deprecated 了。 Camera API2相较于API1有很大不同, 并且API2是为了配合HAL3进行使用的, API2有很多API…

钉钉一个人怎么多部门 钉钉一个人加入多个部门的技巧

公司的组织机构总是会出现少几个人员,一个人身兼多职的情况,这对于我们设计审核流程的人来说是很多痛的一件事,会写好几种的条件判断,一有人离职了就得重新调整流程。如果一个人可以同时加入多个部门,这样这个问题就很…

IE浏览器下如何低延迟播放RTSP或RTMP流

首先,虽然本文是介绍IE浏览器下OCX控件播放RTSP或RTMP,但这种方式并不推荐,毕竟它只能用于IE浏览器环境下,局限太大,而且随着微软IE浏览器的更新,不确定后续支持情况。当然,话说回来&#xff0c…

Android、iOS平台RTMP/RTSP播放器实现实时音量调节

介绍移动端RTMP、RTSP播放器实时音量调节之前,我们之前也写过,为什么windows播放端加这样的接口,windows端播放器在多窗口大屏显示的场景下尤其需要,尽管我们老早就有了实时静音接口,相对实时静音来说,播放…

千牛如何装修店铺 千牛装修店铺的教程

1、首先登录千牛卖家版,输入淘宝账号和密码。 2、在界面的横向工作栏中选择店铺管理,找到【店铺装修】选项。 千牛如何装修店铺?千牛装修店铺的教程 3、在左侧工具栏中选择需要修改的部分,目前可选择模块、配色、页头、页面、CSS等部分。…

Windows平台RTMP播放器/RTSP播放器如何在播放窗口添加OSD文字叠加

好多开发者在做Windows平台特别是单屏多画面显示时,希望像监控摄像机一样,可以在播放画面添加OSD台标,以实现字符叠加效果,大多开发者可很轻松的实现以上效果,针对此,本文以大牛直播SDK (Github…