基于FFmpeg和Screen Capturer Recorder实现屏幕和声音的录制

2023-11-19

当我们看到一些精彩的视频画面,但无法下载时,可以通过录屏的方式将视频和音频录制下来。
这个时候我们需要安装采集视频和音频的工具screen-capture-recorder。
以下是在windows10环境下,基于FFmpeg和Screen Capturer Recorder实现屏幕和声音的同步录制。

Screen Capturer Recorder简介:

功能:当需要采集音频时需要

官网下载地址:http://sourceforge.net/projects/screencapturer/ 

最新版本:Setup Screen Capturer Recorder v0.12.11.exe

下载后安装到指定目录下面。

安装后通过命令ffmpeg -list_devices true -f dshow -i dummy

 可以检查到设备中有了screen-capture-recorder 视频设备,和Virtual-audio-capturer音频设备。

这时候我们可以打开一个播放的视频,执行命令:

ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -t 10 -y C:\Users\lx\Desktop\test.mp4

这时我们发现会报错 “video=screen-capture-recorder: I/O error”

此问题是因为下载的screen-capture-recorder使用的ffmpeg和我们单独下载的ffmpeg版本不一致,此时直接使用screen-capture-recorder安装目录下ffmpeg进行录制就行,可以配置进环境变量。

此时再次打开CMD执行刚才命令发现得到如下信息。

这时桌面生成了一个 test.mp4的文件,视频信息如下:

 这时发现生成的视频文件 不是很清晰,比特率有点低,可以通过一个参数调整:

-crf  --> 编码质量(0-无损编码,可用值是0~51;x264默认值是23(推荐 17~ 28))

ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -t 10 -crf 16 -y C:\Users\lx\Desktop\test.mp4

有时我们不想全屏截图,我们可以加上一个裁剪的命令:

-vf crop=width:height:x:y  -->视频裁剪(其中 width和height表示裁剪后的尺寸,x:y 表示裁剪区域以电脑屏幕左上坐标(0,0)开始的长宽

ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -t 10 -vf crop=1280:720:143:1 -crf 16 -y C:\Users\lx\Desktop\123.mp4

crop=1280:720:143:1表示录屏的视频尺寸为1280*720,电脑屏幕左上角开始宽143像素,高1像素开始截屏

此篇文章用到的一些命令在前面文章有 ffmpeg模块处理视频、音频信息

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

基于FFmpeg和Screen Capturer Recorder实现屏幕和声音的录制 的相关文章

  • 如何在 PHP 中运行 ffmpeg 命令

    我需要在 PHP 中运行 ffmpeg 命令 但是 php ffmpeg 不再支持最新版本并且已经过时 我可以知道在网络文件中运行 ffmpeg 命令的替代方法吗 PHP Javascript jQuery 我尝试exec and shel
  • 使用 ffmpeg 将 h.264 avi 容器转换为 mp4

    我想使用 ffmpeg 将 h 264 avi 容器转换为 mp4 容器 我发现这个有效 ffmpeg i myfile avi vcodec copy myfile mp4 ffmpeg version N 51169 gcedf276
  • 使用 ffmpeg 提取帧的最快方法?

    您好 我需要使用 ffmpeg 从视频中提取帧 有没有比这更快的方法 ffmpeg i file mpg r 1 1 filename 03d jpg 如果 JPEG 编码步骤对性能要求太高 您可以始终将未压缩的帧存储为 BMP 图像 ff
  • VLC 和 ffmpeg 如何协同工作?

    我从源代码编译了VLC 它运行良好 当我执行 Vlc 时 vlc 运行 我还从源代码编译了 ffmpeg 它也运行良好 当我执行 ffmpeg i f toto flv mp3 vn acodec copy new toto mp3 时 会
  • 无法在 Windows 7 机器中使用 OpenCV 2.4.3、Python 2.7 打开“.mp4”视频文件

    我目前正在进行一个涉及读取 mp4 视频文件的项目 我遇到的问题是它在Windows 7机器上使用Python 2 7 32位 OpenCV 2 4 3 cv2 pyd 代码片段如下 try video cv2 VideoCapture v
  • 如何使用android ndk r9b为Android编译FFMPEG

    我想设计一个Android应用程序 可以通过FFMPEG命令播放和编辑视频 但我不知道如何在Android上使用FFMPEG 我尝试过从Google搜索到的许多方法 但它们太旧了 无法实现 现在 FFMPEG的最新版本是2 1 1 Andr
  • ffmpeg AVFrame 到 opencv Mat 转换

    我目前正在开发一个使用 ffmpeg 解码接收到的帧的项目 解码后 我想将 AVFrame 转换为 opencv Mat 帧 以便我可以在 imShow 函数上播放它 我拥有的是字节流 我将其读入缓冲区 解码为 AVFrame f fope
  • OpenCV IP 相机应用程序崩溃 [h264 @ 0xxxxx] 访问单元中缺少图片

    我在 cpp 中有一个 opencv 应用程序 它使用 opencv 的简单结构捕获视频流并将其保存到视频文件中 它与我的网络摄像头完美配合 但是 当我运行它从 IP 摄像机捕获流时 它可能会在大约十秒后崩溃 我的编译命令是 g O3 IP
  • 在 macOS 上为 MoviePy 安装 ffmpeg 失败并出现 SSL 错误

    我正在尝试编写一个 Python 程序 在 Mac OS 10 11 16 上使用 MoviePy 将 MP4 文件转换为 GIF 我用 import moviepy editor as mp 我收到一条错误消息 说我需要打电话imagei
  • ffmpeg concat:“不安全的文件名”

    尝试将一堆 mts 文件转换为一个大 mp4 文件 stephan rechenmonster mnt backupsystem archive2 Videos 20151222 PRIVATE AVCHD BDMV bin ffmpeg
  • 如何将 MP3 音频文件读入 numpy 数组/将 numpy 数组保存到 MP3?

    有没有办法从 MP3 音频文件中读取 写入 MP3 音频文件numpy具有类似 API 的数组scipy io wavfile read https docs scipy org doc scipy 0 14 0 reference gen
  • 使用 Coldfusion 的 CFFILE 标签监控 FFMpeg 的进度日志

    我想学习如何使用 ColdFusion 中的 CFFILE 标签来读取文本文件的内容 就我而言 该文本文件是 FFMpeg 在对媒体文件进行转码时生成的进度日志 我想编写一个 ColdFusion 脚本 该脚本将定期轮询进度日志 直到日志表
  • 如何在服务器上使用 ffmpeg 从 WebRTC 流获取音频和视频

    我正在尝试从 WebRTC 流获取音频和视频 并在 ubuntu 服务器上使用 ffmpeg 处理它 转码或转储 我天真地期望它能简单地解释 WebRTC 提供的 sdp 但我错了 我怀疑 ffmpeg 无法发回答案 sdp 必须手动完成
  • 如何启用 FFMPEG 日志记录?

    我想调试 ffmpeg 我添加以下代码来打印日志 av log s AV LOG PANIC fmt or printf msg 但这行不通 没有任何调试信息 然后我启用调试构建选项 export COMMON FF CFG FLAGS C
  • FFMPEG - 具有持续时间过滤器问题的连接解复用器

    我正在尝试使用图像生成视频ffmpeg concat 解复用器 我正在创建一个带有图像文件路径的文本文件 由于图像的持续时间可能不同 我正在使用duration过滤器指定每个图像的持续时间 示例文本文件如下 文件1 jpg 持续时间3 文件
  • 为 Android 编译时显示 FFMPEG 错误

    我正在尝试将 ffmpeg 添加到我的 android 项目中 我使用的是 ubuntu 14 04 操作系统 我正在关注此链接 Link https software intel com en us android blogs 2013
  • 如何从 ffmpeg 中打开的文件获取流信息?

    我正在尝试使用 ffmpeg 读取视频文件 我有与其旧版本相对应的工作代码 并开始尝试升级到最新的构建版本 将所有这些已弃用的函数替换为其实际的类似函数 但是我遇到了问题 似乎没有检索到任何流 并且视频负载停止在轨道中 这是我正在使用的代码
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • PowerShell 脚本 ffmpeg

    作为一名优秀的 Windows 系统管理员 我终于开始学习 PowerShell 话虽这么说 我不知道我在做什么 惊讶 惊讶 我认为远离生产环境 在家里使用 PowerShell 对我来说将是一次很好的学习经历 最近 我开始使用 FFMPE
  • ffmpeg 将 m4s 转换为 mp4

    我正在研究 DASH 试图为最终用户优化 QoE 我有一个视频 并使用 ffmpeg 将其编码为不同的比特率 一切都很好 并且可以使用 dash 播放该视频 我想要的是将用户收到的片段合并为一个 m4 并将该 m4 转换为 mp4 我在 f

随机推荐

  • openswan pluto代码分析--(1)pluto简介

    pluto简介 pluto是一个openswan中的守护进程 提供IKEv1服务 Pluto通信消息 网卡数据报文消息 whack命令的消息 内核通信消息 接下来分别介绍上面三种通信消息 1 网卡数据报文消息 打开UDP500和4500端口
  • Windows Teams - Visual Studio Code 初始化工程

    使用VIsual Studio Code 在clone完Teams的demo的代码 执行gulp命令的时候报错 gulp File C Users XXX AppData Roaming npm gulp ps1 cannot be loa
  • 硬件基础之继电器

    一 技术理论 继电器 Relay 是一种电子控制器件 它具有控制系统 又称输入回路 和被控制系统 又称输出回路 通常应用于自动控制电路中 它实际上是用较小的电流去控制较大电流的一种 自动开关 如下图 因为继电器是由线圈和触点两部分组成 所以
  • 图 - Java实现无向带权图的邻接矩阵表示法

    图 Java实现无向带权图的邻接矩阵表示法 1 图 1 1 图的介绍 图 Graph 是一种复杂的非线性表结构 图中的元素我们就叫做顶点 vertex 图中的一个顶点可以与任意其他顶点建立连接关系 我们把这种建立的关系叫做边 edge 跟顶
  • ORcad Capture CIS元件库管理

    当电子元器件数量多到一定程度的时候 所有器件都集中在一个library里杂乱无章 使用起来相当不方便 时间长了也很容易把相似的器件封装混淆 如何规范化整理 就成了一个让人头疼的问题 还有就是贴片时硬件工程师都要面对一个整理BOM的问题 小公
  • TF卡被格式化后怎么恢复?格式化后恢复方法

    TF卡格式化后怎么修复 说起TF卡大家应该都不会陌生 现在很多的电子设备都会使用TF卡作为存储设备 但如果大家在使用TF卡如果有不当操作 也时常会把TF卡格式化后 这时一定要注意TF卡格式化后不要存入新的文件 否则视频和照片被覆盖了就没办法
  • buuctf——SecretFile

    进来就看见有大佬被挂在黑页 F12查看源码看到在下面有个黑化了的标签藏得挺深 Archive room php 然后网页中间有个 不知道的还以为在FBI warning 点进去看看 注意到直接来到了end php 但是在上一页的源码这个se
  • 复制虚拟机之后网关重启问题解决

    在复制完成之后没有可以连接的IP地址 于是百度寻求解决方案 根据找到的方案中 实际解决办法如下 1 输入以下命令 清空该文件内容 echo gt etc udev rules d 70 persistent rules 2 删除该文件 或者
  • 谷歌报错

    由于修改了一些打包配置文件导致页面跳转失败和页面资源加载失败 错误如下 在添加了vue router的情况下 使用了base导致页面加载失败 解决 合作开发中修改了打包配置导致失败 如 非生产环境下改为 即可 ps vue cli版本4 0
  • las点云数据格式

    LIDAR Data LIDAR数据类似于带有激光的RADAR 是光检测和测距的缩写 laspy库提供了python API 用于读取 写入和操作一种流行的用来存储LIDAR数据的 LAS文件 LAS文件是根据几种规格打包的二进制文件 La
  • MATLAB算法实战应用案例精讲-【自然语言处理】语义分割模型-DeepLabV3

    目录 1 DeepLab系列简介 1 1 DeepLabV1 1 1 1创新点 1 1 2 动机 1 1 3 应对策略 1 2 DeepLabV2
  • PowerDesigner显示Comment注释

    PowerDesigner默认显示的列是Name及类型 如下图示 现在需要显示注释列 以便使得ER图更加清晰 但是PowerDesigner勾选Comment显示没有效果 所以通过以下几步来处理 双击表 弹出表属性对话框 切到Columns
  • Java安全知识share

    这里简单的介绍一下自己创建的知识星球 为什么要用知识星球呢 一方面他有APP然后方便使用里面的文章标签等功能 另一方面可能有一点点 哈哈哈 总的来说是方便使用 该知识星球包括Java相关的安全知识和其他相关的安全知识php nodejs C
  • labuladong的算法小抄pdf_真漂亮!这份GitHub上爆火的算法面试笔记,助你圆满大厂梦...

    前言 Github作为程序员们的后花园 一直以来都是程序员最喜欢逛逛 学习的地方 小编也不例外 最近看到一份对标BAT等一线大厂的算法面试笔记 已经标星68 K了 很是惊讶 看了一下 觉得知识点整理得非常的详细 也不愧能获得这么多星 资料已
  • Nginx配置及使用个人总结

    Nginx配置及使用个人总结 文章目录 Nginx配置及使用个人总结 1 前言 2 个人使用简单模板文件 3 常用nginx命令 1 前言 根据使用场景 可能会将前后端分离 一些小的工具式web分离反而麻烦 直接打成一个程序包更好 这时Li
  • jdk1.8笔记(1)-函数式接口

    文章目录 1 函数式接口 1 1 概念 1 2 格式 1 3 FunctionalInterface注解 例子 2 函数式编程 2 1 Lambda的延迟执行 2 2 使用Lambda作为参数和返回值 3 常用的函数式接口 3 1 Supp
  • C++ 嵌套类使用

    C 嵌套类 1 嵌套类的名字只在外围类可见 2 类的私有成员只有类的成员和友元可以访问 因此外围类不可以访问嵌套类的私有成员 嵌套类可以访问外围类的成员 通过对象 指针或者引用 3 一个好的嵌套类设计 嵌套类应该设成私有 嵌套类的成员和方法
  • 【云知识】云计算平台都有那些,涨涨云概念

    2023年 第36周 给自己一个目标 然后坚持总会有收货 不信你试试 云计算平台是指为企业和个人提供云计算服务的基础架构和环境 它提供了一系列的硬件 软件和网络设施 用于支持应用程序的部署 管理和运行 以及数据的存储 处理和传输 目录 一
  • vue中的修饰符作用详细讲解

    一 Vue的修饰符是什么 Vue中的修饰符分为以下五种 表单修饰符 事件修饰符 鼠标按键修饰符 键值修饰符 v bind修饰符 二 修饰符的作用 1 表单修饰符 修饰符 作用 使用 lazy 填完信息 光标离开标签的时候 才会将值赋予给va
  • 基于FFmpeg和Screen Capturer Recorder实现屏幕和声音的录制

    当我们看到一些精彩的视频画面 但无法下载时 可以通过录屏的方式将视频和音频录制下来 这个时候我们需要安装采集视频和音频的工具screen capture recorder 以下是在windows10环境下 基于FFmpeg和Screen C