OBS推流工具介绍及桌面录屏推流功能实现

2023-10-27

OBS推流工具介绍及桌面录屏推流功能实现


流媒体开发工程中,我们除了使用ffmpeg等工具辅助调试外,还经常使用OBS采集真实的音视频流,进行相关流媒体的流程模拟和调试,本文主要介绍一下OBS基本使用及使用OBS推送实时桌面录屏给客户端调用场景介绍,OBS是非常强大的视频录制和直播工具,其他功能也非常实用,如有必要自行研究。相关工具请关注公众号 壹零仓,发送 视频流分析,获取相关工具。

1 OBS工具介绍

OBS全称Open Broadcaster Software,是一款开源的实时视频录制和直播工具,广泛应用于游戏直播、教育、会议等多个领域。OBS提供了强大而简单易用的工具,可让用户创建和定制自己的直播内容,同时也支持多种流行的流媒体平台。OBS具有非常高的自定义性,用户可以根据自己的需求调整视频和音频设置,并添加各种图层、文本、图片、摄像头、音乐等元素。这使得OBS成为自媒体人士、游戏主播、教育工作者、企业培训师等的理想选择。无论是实时转播游戏比赛,还是在线教学、会议,OBS都能满足用户各种需求。
OBS支持多种平台,包括Twitch、YouTube、Facebook等,因此用户可以将自己的直播内容直接发布到这些平台上。此外,OBS还提供了很多额外的插件、扩展和工具,可以进一步增强直播体验。用户可以选择添加绿屏特效,音频降噪等功能,以及使用混流器实时编辑直播内容。除了自定义性和领先的功能,OBS还因其开源性而备受青睐。开源意味着用户可以自由地使用、修改和分享软件代码,而不受限于专有软件的束缚。
本文主要介绍OBS工具的简单安装和使用、项目中遇到的桌面录屏推流工具实现等内容,其他功能如有兴趣,自行研究。

2 OBS工具安装及简单使用

2.1 安装步骤

OBS工具安装非常简单,安装步骤如下:
1.下载OBS软件,点击下载,从OBS官网下载软件,选择自己的操作系统适合的版本,这里以windows为例
2.安装OBS软件,双击安装包按照提示安装即可,安装完成之后,打开界面如下:
test

2.2 简单使用介绍

这里以显示器录屏配置为例,主要配置过程如下:
1.添加视频来源,这里选择显示器采集,其他默认,点击确定,确定即可。
2
2.配置录屏参数,打开文件->设置,在常规中勾选在屏幕采集中隐藏OBS窗口,输出路径配置为自己的路径,视频帧率设置为25,其他默认即可,如下图:
3
3
3
3.点击开始录制按钮,即可录制视频
3

录制后视频即可保存到自己定义的输出路径中。

下个章节会给出一个使用场景实例,来说明OBS直播推流的过程。

3 OBS实现桌面录屏推流工具实现

在某个项目中,有一个需求如下:

  • 场景需求:某部门指挥中心大屏需要通过网络看到其他部门指挥中心大屏的实时展示情况
  • 约束:由于网络安全原因,无法通过网络直接访问其他指挥中心大屏的界面

项目方案中为了实现这个需求,花了好几万购买了一个视频录屏并推送流的盒子,盒子通过HDMI接入其他部门指挥大厅大屏的客户机,盒子通过网口再把HDMI输入的大屏录屏后推送到指挥中心,由指挥中心大屏页面调用。等操作盒子时发现其录屏工具就是OBS,使用桌面采集,然后再推送到某部门指挥大厅部署的rtmp服务器上实现的,
实现方案如下:
3
具体实现方式:
1.配置视频来源并配置录屏参数,参照上一个章节。
2.搭建RTMP流媒体服务器,接受OBS推送的RTMP桌面录屏视频,并提供RTMP、HTTP-FLV、HLS视频拉流协议,供客户端调用,这里参照我以前的文章搭建,链接如下:
使用nginx搭建HTTP FLV流媒体服务器
如果已有RTMP接受推流的服务器(比如各种云上/视频内容厂商提供的直播服务),则无需搭建。
3.配置OBS推流参数,打开文件->设置,在直播配置界面选择服务自定义,服务器输入上个步骤中的RTMP流媒体服务器地址,这里以rtmp://10.45.12.34:1935/live为例,推流码也就是rtmp的streamkey,自己定义即可,这里我定义为test123,配置如下:
3
4.OBS上点击开始直播,OBS就开始向我们配置的rtmp流媒体推流了。
3
5.通过VLC分别输入RTMP、HLS、HTTP-FLV地址,验证是否能正常播放。

  • rtmp地址:rtmp://10.45.12.34:1935/live/test123
  • HLS地址:http://10.45.12.34/hls/test123.m3u8
  • HTTP-FLV地址:http://10.45.12.34/flv?port=1935&app=live&stream=test123
    3
    通过测试,能够在VLC正常播放,这里通过OBS实现了桌面录屏并推送rtmp流,通过nginx实现了HLS、HTTP-FLV、RTMP拉流的流媒体服务功能。

4 总结

本文介绍了OBS基本操作,并通过一个实际场景的例子,来说明OBS在我们流媒体领域中的应用,其使用方式比ffmpeg更加简单,提供更加易于操作的界面,如果使用好,也能为项目节省不少成本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OBS推流工具介绍及桌面录屏推流功能实现 的相关文章

  • Android平台GB28181设备接入模块分辨率发生变化怎么办?

    技术背景 我们在做Android平台gb28181设备接入模块的时候 遇到这样的情况 比如横竖屏分辨率不锁定 采集摄像头的时候 可以实现 横屏状态采集横屏 竖屏状态采集竖屏 简单来说 横屏状态比如采集的1280 720的 竖屏状态 采集的数
  • Android平台GB28181设备接入端如何实时更新经纬度实现国标平台侧电子地图位置标注

    技术背景 我们在做GB28181设备接入端的时候 其中有个功能 不难但非常重要 那就是GB28181实时位置的订阅 mobileposition subscribe 和上报 notify 特别是执法记录仪 智能安全帽 车载终端等场景下 现场
  • 【无标题】ZLM和wvp配置

    ZLM配置 wvp对zlm要求的配置只有一个 具体值随便设置 以9080为例 http port 9080 wvp配置 确保media gt ip为zlm的IP media gt port为刚才配置的9080 其他wvp配置参考配置说明按需
  • 使用 Live555 搭建流媒体服务器

    搭建环境为Centos 7 2 64bit 一 安装gcc编译器 yum install gcc c 二 安装live555 wget http www live555 com liveMedia public live555 latest
  • 使用nginx做为http-flv服务如何解决跨域问题

    什么是跨域 跨域是指浏览器的同源策略限制 这个策略会阻止一个域的javascript脚本和另外一个域的内容进行交互 如果一个请求url的协议 域名 端口三者之间任意一个与当前页面的url不同即为跨域 如下图所示即为跨域时的报错 使用ngin
  • 上传图片!MultipartFile接收

    图片上传 记录一下调用图片接口上传 调用接口为OBS上传 自己封装过后的接口参数为 一个类型为String 为OBS桶下文件名称 一个为MultipartFile类型 需要调用的实现 生成本地二维码 本地保存 存储地址为项目目录下 之后调用
  • RTP时间戳概念

    RTP协议不依赖于底层协议 由于UDP包的快速 时实性高的特点 它通常和UDP结合在一起 作为UDP的上层载体数据的形式传播 typedef struct rtp header t uint32 t v 2 protocol version
  • GB/T28181-2016传输要求和Android平台设备接入技术实现

    相关协议规范 GB T28181 2016公共安全视频监控联网系统 信息传输 交换 控制技术要求相关的传输要求如下 5 1 网络传输协议要求 联网系统网络层应支持IP协议 传输层应支持 TCP和 UDP协议 5 2 媒体传输协议要求 视音频
  • Android平台GB28181设备接入模块相关博客概览

    Android平台GB28181设备接入模块 可实现不具备国标音视频能力的 Android终端 通过平台注册接入到现有的GB T28181 2016服务 可用于如智能监控 智慧零售 智慧教育 远程办公 生产运输 智慧交通 车载或执法记录仪等
  • 视频编码格式发展史

    1 编码标准之战 想预测未来 就回顾历史 先来看看H 264这些编码的从标准化到现在普及的过程 人们一直在想尽办法提高视频编码的效率 让它在尽可能小的体积内提供最好的画面质量 从而满足人们对于视频传输 存储的需求 长期以来 视频编码标准主要
  • win10 sdk各种版本下载地址

    https developer microsoft com zh cn windows downloads sdk archive
  • Javacv+Nginx实现rtsp转rtmp实现web端直播方式

    前言 前面的文章中使用websocket的方案在web端实现rtsp播放 因为各种原因 现需要重新写一套方案 不废话 上才艺 补充 项目中需求可能要同时观看多个摄像头 将本项目放开限制使用多个摄像头时 就会发现相机之间的切换加载时间及视频流
  • [技术分享]Android平台实时音视频录像模块设计之道

    实现背景 录像有什么难的 无非就是数据过来 编码保存mp4而已 这可能是好多开发者在做录像模块的时候的思考输出 是的 确实不难 但是做好 或者和其他模块有非常好的逻辑配合 确实不容易 好多开发者希望聊聊录像模块 实际上录像这块 需求层面的东
  • 如何使用WebRTC将视频流传输到RTMP?

    我正在尝试构建一项服务 将您的屏幕从浏览器流式传输到客户端 例如抽搐 我所完成的是我用 rtmp 构建了一个工作的 nginx 服务器 我使用 OBS 对其进行了测试 这效果很好 我的问题是如何使用 WebRTC 将屏幕从浏览器 不是来自
  • 安全的伪流 flv 文件

    We use RTMP通过 Wowza 保护流媒体内容 它就像一个魅力 Wowza 是一个真正强大且健壮的媒体服务器 可用于商业目的 但我们遇到了一个问题 这个问题对我们来说每天都在变得越来越大 许多新客户由于防火墙规则而无法使用RTMP
  • ffmpeg rtmp和本地文件输出

    我在使用 ffmpeg 时遇到了麻烦 我从抓取设备 摄像头 接收 rtsp 流并将其流式传输到 rtmp Youtube Live 我想在我的计算机中拥有该流的副本 因此我同时在本地文件中写入 我使用这个命令 ffmpeg y i RTSP
  • 使用VideoJS播放器播放RTMP流

    我正在尝试玩RTMP流式传输VideoJS玩家 下面是我的代码
  • RTSP/RTMP 视频流客户端 iOS [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要一个开源解决方案 库来将 RTSP RTMP 流式传输到 iOS 应用程序 我需要构建一个连接到媒
  • WOWZA + RTMP 在多个设备上播放?

    我仍然是 Wowza Streaming 的新手 但是当我设置所有内容 RHEL Wirecast 时 我可以以某种方式从我的家用电脑流式输出 广播到 EC2 服务器 正如我按照 Wowza Live Streaming 教程 我使用RTM
  • 将视频从OBS流式传输到运行在heroku上并使用node-media-server的rtmp服务器

    我一直在使用react redux 节点媒体服务器和json 服务器开发这个类似Twitch 的应用程序 它允许用户通过将其 OBS 配置到服务器 URL 来直接流式传输视频 音频 并且流密钥等于在 React 应用程序中创建的流的 ID

随机推荐

  • 用 Python+AI 让小朋友的手绘图跳起来(附完整源码)

    大家好 今天给大家介绍一个非常有趣的项目 基于AI识别 制作儿童手绘图舞蹈图 只需几分钟 就能自动生成儿童手绘人物或类人角色 即具有双臂 两条腿等的角色 的动画 而且生成的动画还能做到栩栩如生 不仅可以跳舞 还能打跆拳道 空中飞踢 模拟人的
  • 几种生成验证码的方式以及计算表达式的计算

    kaptcha 数字字母形式验证码 google kaptcha验证码生成器且可以配置生成的验证码格式 引入依赖
  • 指针的介绍及应用

    一 指针 什么是指针 指针是一种特殊的数据类型 使用它可以定义指针变量 指针变量存储的是整形数据 代表了内存的编号 通过这个编号可以访问对应的内存 为什么要用指针 必须要用才用 函数之间是共享变量 传参是单向值传递 全局变量容易命名冲突 使
  • js两数组是否相交_JavaScript判断两个数组是否相等

    首先判断两个数组是否相等时不能直接使用 var array1 var array2 console log array1 array2 输出false 对于对象来说 比较的是两个对象是否为同一个对象 数组属于对象类型 尽管数组元素是相同的
  • 【总结】C++ 基础数据结构 —— STL之集合(set)用法详解

    文章目录 一 set 的概念 二 set 的基本操作 三 set 的用法 一 set 的概念 set 的含义是集合 它是一个有序的容器 里面的元素都是排序好的 支持插入 删除 查找等操作 就像一个集合一样 所有的操作的都是严格在logn时间
  • 【STM32介绍(入门)】

    STM32介绍 入门 作为学习笔记记录 有错误希望指点出来 初识STM32 STM32 从字面上来理解 ST 是意法半导体 M 是 Microelectronics 的缩写 32 表示 32 位 合起来理解 STM32 就是指 ST 公司开
  • Spring-Security 实现黑白名单功能

    添加该功能是在原有功能上新增功能 SpringBoot SpringSecurity mysql 实现用户数据权限管理 本文仅做重点代码的和相关依赖说明 SpringBoot SpringSecurity mysql 实现用户数据权限管理
  • 2 RocketMQ Server安装

    RocketMQ依赖Java环境 要求有JDK 1 8以上版本 支持Windows和Linux平台 支持源码方式安装和使用已经编译好的安装包安装 我们用windows平台安装RocketMQ Server编译好的安装包 来讲解RocketM
  • 【Python打印图形问题】利用print打印一些规则的图形(通过特殊符号比如*和空格组成)

    目录 1 输出菱形 2 打印空心三角形 n 3 打印如下的空心菱形 n为边长 4 九九乘法表 1 输出菱形 描述 输入n 输出2 n 1行的菱形图形 输入 输出 示例1 2
  • 总结:常见的攻击服务器的手段

    一 拒绝服务 这是常见的一种方式 即DOS攻击或DDOS攻击 通过向某个站点服务器反复发送请求 导致无法承载大量的请求而 拒绝服务 被攻击的原因 服务器带宽不足 不能挡住攻击者的攻击流量 案例 SYN Flood 简单说一下tcp三次握手
  • matlab中查找y1与y2相近点,matlab – 寻找附近的邻居

    您可以通过使用 DelaunayTri class及其 edges和 nearestNeighbor方法来实现您的第一个想法 即选择其中点落在与Voronoi线交点的边 这里有一个x和y值的10个随机对的例子 x rand 10 1 Ran
  • tshark查看、指定网卡

    查看网卡 sudo tshark D 或是使用 ifconfig a 可以查看网卡与数据包的情况 指定网卡 sudo tshark i 网卡 例 sudo tshark i ens33
  • 05-ResultMap

    当我们在使用 MyBatis 进行数据库查询的时候 查询结果往往是以单个数据对象或一个对象列表的形式呈现的 这时候 我们可以使用 ResultMap 来告诉 MyBatis 如何将数据库查询结果映射成 Java 对象 ResultMap 是
  • C/C++中计算程序运行时间

    参考博客 C C 计算程序运行时间的代码 蔚蓝星辰mic的博客 CSDN博客 c计算程序运行时间 include
  • mysql修改表操作(DDL)

    1 修改表名 alter table 表名 rename 新表名 2 添加表字段 1 默认加到最后 alter table 表名 add 新字段 类型 字段完整性约束条件 2 指定加到某个字段之后 alter table 表名 add 新字
  • k8s-kubernetes错误集锦总结-环境搭建篇

    k8s kubernetes错误集锦 随笔 学习总结 写给以后的自己看的 所以文章会比较随意 root centos7 k8s auto kubectl get nodes The connection to the server loca
  • 【华为OD机试】太阳能板最大面积【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 给航天器一侧加装长方形或正方形的太阳能板 图中的红色斜线区域 需要先安装两个支柱 图中的黑色竖条 再在支柱的中间部分固定太阳能板 但航天器不同位置的支柱长度不同 太阳
  • NPOI组件下载、引用、基本使用

    前言 NPOI是一组dll库文件 也叫COM组件 对于Excel表格用代码操作 主要有三种方式 1 OLEDB类似于数据库的操作 需要安装AccessDataBase数据库引擎 2 Office组件 也是引用dll文件 依赖Office软件
  • openai.error.RateLimitError: You exceeded your current quota, please check your plan and billing det

    报错 此错误消息表明您已达到API的最大月支出 硬限制 这意味着您已经消耗了分配给计划的所有积分或单位 并且已经达到计费周期的限制 这种情况可能有几个原因 例如 您使用的是高容量或复杂的服务 每个请求需要消耗大量的信用额度或单位 您使用的是
  • OBS推流工具介绍及桌面录屏推流功能实现

    OBS推流工具介绍及桌面录屏推流功能实现 文章目录 OBS推流工具介绍及桌面录屏推流功能实现 1 OBS工具介绍 2 OBS工具安装及简单使用 2 1 安装步骤 2 2 简单使用介绍 3 OBS实现桌面录屏推流工具实现 4 总结 流媒体开发