FFmpeg开发笔记(二十三)使用OBS Studio开启RTMP直播推流

OBS是一个开源的直播录制软件,英文全称叫做Open Broadcaster Software,广泛用于视频录制、实时直播等领域。OBS不但开源,而且跨平台,兼容Windows、Mac OS、Linux等操作系统。
OBS的官网是https://obsproject.com/,录制软件名叫OBS Studio,它基于QT+FFmpeg编码。使用OBS实现直播功能的话,需要执行下列四个步骤。

一、下载并安装OBS Studio

OBS Studio的官网下载页面是https://obsproject.com/download,最新版本为2024年4月推出的OBS-Studio-30.1.2,Windows安装包的下载地址为https://cdn-fastly.obsproject.com/downloads/OBS-Studio-30.1.2-Full-Installer-x64.exe。
OBS Studio的源码托管页面在https://github.com/obsproject/obs-studio,各版本的下载页面是https://github.com/obsproject/obs-studio/releases/,其中OBS-Studio-30.1.2的安装包下载链接为https://github.com/obsproject/obs-studio/releases/download/30.1.2/OBS-Studio-30.1.2-Full-Installer-x64.exe。
双击下载好的安装包,一路单击Next按钮,最后在结束窗口单击Finish按钮完成安装操作。

二、启动流媒体服务器

按照《FFmpeg开发实战:从零基础到短视频上线》一书“10.2.2  FFmpeg向网络推流”小节的说明,下载并安装轻量级流媒体服务软件MediaMTX。解压后双击启动mediamtx.exe,此时RTMP协议的默认推流地址为rtmp://127.0.0.1:1935/stream。这里之所以用rtmp地址而非rtsp地址,是因为OBS Studio默认只支持RTMP推流,如果要让它支持RTSP推流,还得额外增加配置。因此为了简化直播流程,就采用RTMP方式推流了。

三、打开OBS Studio

双击启动OBS Studio之后,执行下列三个步骤开启直播推流:
1、单击主界面右下角的“设置”按钮,或者依次选择顶部菜单“文件”→“设置”,弹出的设置窗口在左边列表选择“直播”,窗口右边的“服务”栏选择“自定义”,“服务器”栏填“rtmp://127.0.0.1:1935/stream”,如下图所示:

设置窗口的左边列表选择“视频”,窗口右边的“基础分辨率”和“输出分辨率”都选择“1280x720”,如下图所示:

确认“直播”和“视频”两个页面都修改好了,再单击窗口右下角的确定按钮完成设置。
2、找到主界面下方中间靠左的“来源”区域,单击该区域左下角的加号按钮,在弹出列表中选择“视频采集设备”,接着在弹窗中选择“新建”,如下图所示:

然后单击窗口右下角的确定按钮,OBS Studio就开始预览摄像头采集到的视频画面。
3、单击主界面右下角的“开始直播”按钮,OBS Studio就开始向指定的服务器推送直播流。

四、启动拉流程序

打开MSYS的命令行窗口,进入《FFmpeg开发实战:从零基础到短视频上线》随书源码的chapter10目录,运行下面的程序命令,期望从指定的rtmp地址拉流并播放。

./playsync2 "rtmp://127.0.0.1:1935/stream"

然后发现弹出SDL窗口,观察播放的视频正是OBS通过摄像头采集到的画面,说明使用OBS Studio结合MediaMTX成功实现了直播功能。

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

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

相关文章

数据结构—C语言实现双向链表

目录 1.双向带头循环链表 2.自定义头文件: 3.List.cpp 文件 3.1 newnode()函数讲解 3.2 init() 函数 初始化 3.3 pushback()函数 尾插 3.4 pushfront()函数 头插 3.5 popback() 尾删 3.6 popfront() 函数 头删 3.7 insert()函数 在pos之后插入 3.8 popbac…

git 配置相关

问题一:ssh-keygen -t ed25519 -C "Gitee SSH Key" 这个命令中的 ed25519 字符是什么意思? ssh-keygen 是一个用于生成SSH密钥的工具,SSH(Secure Shell)是一种网络协议,用于加密方式远程登录和其…

easyExcel - 带图片导出

目录 前言一、情景介绍二、问题分析三、代码实现1. 单图片导出2. 多图片导出3. 多图片导出(优化) 前言 Java-easyExcel入门教程:https://blog.csdn.net/xhmico/article/details/134714025 之前有介绍过如何使用 easyExcel,以及写…

24.什么是跨域?解决方案有哪些?

为什么会出现跨域问题 存在浏览器同源策略,所以才会有跨域问题。那么浏览器是出于何种原因会有跨域的限制呢。其实不难想到,跨域限制主要的目的就是为了用户的上网安全。 同源策略导致的跨域是浏览器单方面拒绝响应数据,服务器端是处理完毕…

java+jsp+Oracle+Tomcat 记账管理系统论文(二)

⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️ ➡️点击免费下载全套资料:源码、数据库、部署教程、论文、答辩ppt一条龙服务 ➡️有部署问题可私信联系 ⬆️⬆️⬆️​​​​​​​⬆️…

从0到1手写注册中心Registry之主从数据同步

集群选主完成后,从节点需要从主节点同步数据。 一、快照数据 同步的快照数据是描述注册中心的服务信息。 registry: 每个服务对应的实例;versions:每个服务的版本信息;timestamps:每个服务的时间戳;vers…

工作任务管理平台B端实战项目作品集+WebApp项目源文件 figma格式

首先,作品集是什么?通常应该包含什么内容?为什么大家都在做自己的作品集呢? 作品集是个人或公司展示其过往工作成果的集合,通常包括各种专案、作品或成就的范例,用以展示创建者的技能、经验和专业水平。 …

视频改字祝福 豪车装X系统源码uniapp前端源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 uniapp视频改字祝福 豪车装X系统源码 全开源。 创意无限!AI视频改字祝福,豪车装X系统源码开源,打造个性化祝福视频不再难! 想要为你的…

Sobel算法:边缘提取的原理与实践【基于python、C++基于opencv的代码实现!!】

Sobel算法:深入解析边缘检测的原理与实现 在图像处理领域,边缘检测是一项至关重要的任务。其中,Sobel算法以其高效和稳定的性能,成为边缘检测中的常用方法之一。本文将深入解析Sobel算法的原理与实现,带您了解如何通过…

Python 与 TensorFlow2 生成式 AI(一)

原文:zh.annas-archive.org/md5/d06d282ea0d9c23c57f0ce31225acf76 译者:飞龙 协议:CC BY-NC-SA 4.0 序言 “想象力比知识更重要。” – 阿尔伯特爱因斯坦,《爱因斯坦关于宇宙宗教和其他见解与格言》(2009)…

打破失联困境:门店如何利用AI智能名片B2B2C商城小程序重构与消费者的紧密连接?

在如今这个消费者行为日益碎片化的时代,门店经营者们时常感叹:消费者进店如同一场不期而遇的缘分,然而一旦离开门店,就仿佛消失在茫茫人海中,难以再觅其踪迹。这种“进店靠缘分,离店就失联”的困境&#xf…

GPT3 终极指南(一)

原文:zh.annas-archive.org/md5/6de8906c86a2711a5a84c839bec7e073 译者:飞龙 协议:CC BY-NC-SA 4.0 前言 GPT-3,或者说是 Generative Pre-trained Transformer 3,是由 OpenAI 开发的基于 Transformer 的大型语言模型…