OBS的录制流程

article/2025/8/25 14:18:04

软件的录屏使用

  1. 界面介绍
    在这里插入图片描述
  2. 录屏–首先添加显示器的源,(可选)配置下载路径以及参数配置,点击开始录制。默认下载在c盘用户名下的video文件夹下
    在这里插入图片描述
    在这里插入图片描述

调试obs项目,分析

  1. obs-studio\UI\forms找到主界面ui文件,找到对应的按钮名字,全局搜索
    在这里插入图片描述
  2. 录制按钮—触发click事件 on_recordButton_clicked()
  3. 其中核心是StartRecording函数- - 开始录制
    在这里插入图片描述
  4. 对于录制的设置有两种模式。一、简单 二、高级 SimpleOutput AdvancedOutput 对应的类
    以SimpleOutput 类为例子
    其构造函数当中创建对应的编码器,主要函数 LoadStreamingPreset_h264
    在这里插入图片描述
  5. 回归上文 – 录制跳转到SimpleOutput 的StartRecording函数当中。
    主要作用:更新编码器以及调用obs接口录制文件
    在这里插入图片描述
  6. 主要使用到这一步,其实就可以了。
  7. 补充说明
    obs的源是有很多种的
    在这里插入图片描述

obs不仅可以支持软编,也可以支持硬编。判断下自己电脑支持哪种硬件编码?

//obs源码
bool EncoderAvailable(const char *encoder)
{const char *val;int i = 0;while (obs_enum_encoder_types(i++, &val))if (strcmp(val, encoder) == 0)return true;return false;
}
//自己改写的函数
void OBSImp::FillSimpleRecordingValues()
{//默认是x264if (EncoderAvailable("obs_qsv11"))bool m_bEncodeObs_qsv11 = true;if (EncoderAvailable("ffmpeg_nvenc"))bool m_bEncodeFfmpeg_nvenc = true;if (EncoderAvailable("amd_amf_h264"))bool m_bEncodeAmd_amf_h264 = true;
}

http://chatgpt.dhexx.cn/article/U3GjPOmB.shtml

相关文章

视频录制工具OBS选择区域录制

视频录制工具OBS录制时默认是对整个屏幕区域进行录制的,如果我们想只是录取某一屏幕区域,就需要进行一些修改。 相关的修改步骤如下: (1)新建一个“显示器采集”。 在弹出的对话框中,指定名字。 接着&…

【OBS】OBS Studio 的安装、参数设置和录屏、摄像头使用教程

提示:✌ 作者简介:盐焗小星球_wyb,一名在读的电子信息工程专业大学生. 📑 个人主页:盐焗小星球_wyb的主页 📫 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进…

OBS Studio录屏软件安装和使用教程

OBS Studio(全称Open Broadcaster Software Studio)是一个免费的开源的无水印的且不限制时长的视频录制软件 1、首先百度搜索"联想软件商店",单击带有“官方”的即可或直接打开https://lestore.lenovo.com/ 2、然后在联想应用商店搜索“obs”(见下图)&am…

OBS录屏教程

下载安装 打开OBS官网下载OBS安装程序 Open Broadcaster Software | OBSOBS (Open Broadcaster Software) is free and open source software for video recording and live streaming. Stream to Twitch, YouTube and many other providers or record your own videos with …

使用 OBS 进行区域录制

1. OBS 与区域录屏 实际上 OBS 的使用场景可谓是与区域录屏格格不入的。 虽然我们依旧有一些办法在 OBS 中达到区域录屏的目的,但其操作实在过于繁琐,还不如直接使用 QQ 或者 Windows 最新的自带截屏录屏来进行区域录屏来的方便实在。 但若非常强烈的…

利用OBS和手机摄像头录课(录屏/录像)时的方法与参数设置

目录 1. OBS下载地址 2. OBS录屏设置 2.1 使用向导设置做全局设置 2.2 详细设置 2.2.1 视频设置 2.2.2 音频设置 2.2.3 输出设置 2.2.4 快捷键设置 3. 麦克风降噪设置 4. 使用OBS录屏功能 5. 用手机作为网络摄像头采集图像 5.1 配置手机摄像头 5.2 为OBS中设置手机…

使用OBS录屏神器,完美录制第二块屏幕。

OBS Studio 无疑是最好最强的视频录制和直播的免费开源软件。不仅Linux,Mac和Windows全平台可用,背后更有Youtube,Facebook,Nvidia大佬支持。 OBS上实现录制第二块屏幕,方法很简单: 打开OBS软件,“来源”…

ES6笔记上(深入浅出ES6—阮一峰)

在线转换 Babel 提供一个REPL在线编译器&#xff0c;可以在线将 ES6 代码转为 ES5 代码。转换后的代码&#xff0c;可以直接作为 ES5 代码插入网页运行。 let和const命令 let和var的区别 var a []; for (var i 0; i < 10; i) {a[i] function () {console.log(i);}; } …

es6阮一峰读后感

不经意间看了你一眼&#xff08;阮一峰的es6读后感&#xff09;我自己常用的 字符串篇&#xff1a;ES6 为字符串添加了遍历器接口&#xff08;详见《Iterator》一章&#xff09;&#xff0c;使得字符串可以被for...of循环遍历。只要有遍历器接口的都可以用es6 的for of去遍历代…

ES6(阮一峰)

一、let 和const 命令 标题 let 命令 一、基本用法 二、不存在变量提升&#xff1a;先声明再使用 三、暂时性死区&#xff1a;先声明再赋值使用 四、不允许重复声明&#xff1a;只要有let 就不能重复声明 不允许再函数内部重新声明参数 块级作用域 es5没有块级作用域&#…

ES6阮一峰读书笔记第一章let和const命令

let 和 const 命令 1.let用法类似于var&#xff0c;但是所声明的变量&#xff0c;只在let命令所在的代码块内有效。 设置循环变量的那部分是一个父作用域&#xff0c;而循环体内部是一个单独的子作用域。 2、var 与let声明不同 在使用var时&#xff0c;变量可以先使用后声明…

ES6阮一峰读书笔记第二章变量的解构赋值

变量的解构赋值 一、数组的解构赋值 从数组和对象中提取值&#xff0c;对变量进行赋值&#xff0c;这被称为解构(即等式右边必须为数组而非undefined&#xff0c;null&#xff0c;NAN) 从本质而言&#xff0c;这种写法也叫做模式匹配&#xff0c;只要左右两边的模式相同&#…

ES6阮一峰读书笔记第三章字符串的拓展

1、字符串的unicode表示 ES6中&#xff0c;可以用"\uxxxx"表示一个字符 "\u0061" // "a"范围&#xff1a;\u0000~\uFFFF&#xff0c;若超出这个范围则必须用双字节来表示 如果超出了字符串的表示范围像("\u20BB7")&#xff0c;系统默…

【ES6】阮一峰ES6学习(六) Proxy

Proxy 1. 前言2. 使用3. Proxy 实例方法1. get()方法2. set()方法3. apply()方法 4. 为什么要存在Proxy?两者对比 1. 前言 es6中全新设计了一个叫Proxy的类型&#xff0c;Proxy这个词的原意是代理&#xff0c;用在这里表示由它来”代理“某些操作&#xff0c;可以译为”代理器…

【ES6】阮一峰ES6学习之Promise(一)

Promise 一、含义1. 概念2. 特点3. 基本用法4. 为什么要用 Promise1. 指定回调函数的方式更加灵活2. 支持链式调用&#xff0c;可以解决回调地狱的问题用Promise实现Ajax 二、Promise的使用1. Promise 构造函数&#xff1a;Promise(executor) {}2. Promise.prototype.then 方法…

rtthread_scons简介

env工具基本构成 命令行环境Cmder: Cmder是一款免费的DOS系统仿真器&#xff0c;体积小巧&#xff0c;界面清爽&#xff0c;支持多标签操作&#xff0c;兼容dos原有的指令。系统配置工具menuconfig: 即linux menuconfig的python实现版本&#xff0c;使用方法与linux menuconfi…

LWIP:RTThread + LWIP

1. 序言 今天跟大家简单分享 LWIP RTThread 的移植注意事项&#xff0c;记得以前刚接触 LWIP 那会&#xff0c;是跟着野火的教程一起走&#xff0c;而大部分 LWIP 移植教程都是以 freeRTOS 为主&#xff0c;本着支持 RTThread 的想法&#xff0c;在当时就想着移植 LWIP 到 RT…

基于rt thread smart构建EtherCAT主站

我把源码开源到到了gitee&#xff0c;https://gitee.com/rathon/rt-thread-smart-soem 有兴趣的去可以下载下来跑一下 软件工程推荐用vscode 打开。rt thread smart的教程可以参考官网资料&#xff0c;这里就不多阐述了。 用的是100ask的imx6ull开发板&#xff0c;雷赛的dm3e-5…

Rtthread线程源码分析

Rtthread线程源码分析 /*** This function will create a thread object and allocate thread object memory* and stack.** param name the name of thread, which shall be unique* param entry the entry function of thread* param parameter the parameter of thread ent…

rtthread套娃移植

和大家分享下将基于rtthread的项目移植到其他平台的经验。 背景 最近做了一个物联网项目移植。原先的项目使用的硬件平台为stm32f401sim800c(mcu 2G modem)&#xff0c;软件平台为rtthread 4.0.1。移植到的新平台为BC25(nb modem)&#xff0c;软件平台为BC25 opencpu sdk&am…