FFmpeg 命令:从入门到精通 | ffmpeg 命令视频录制

FFmpeg 命令:从入门到精通 | ffmpeg 命令视频录制

  • FFmpeg 命令:从入门到精通 | ffmpeg 命令视频录制
    • 安装软件:Screen Capturer Recorder
    • 查看可用设备名字
    • 音视频录制
      • 录制视频(默认参数)
      • 录制声音(默认参数)
      • 同时录制系统 + 麦克风声音和视频(默认参数)
    • 查看视频录制的可选参数
    • 查看音频录制的可选参数
    • 指定参数录制音视频

FFmpeg 命令:从入门到精通 | ffmpeg 命令视频录制

本节主要介绍了ffmpeg 命令进行音视频录制的方法,并列举了一些例子。

安装软件:Screen Capturer Recorder

项目地址:on screen capture recorder to video free Files

安装最新版本:

在这里插入图片描述

安装软件:

在这里插入图片描述

查看可用设备名字

完成安装后,我们可以在命令行输入以下命令查看电脑的可用设备名字:

ffmpeg -list_devices true -f dshow -i dummy

输出以下结果:

[dshow @ 000001e3fded3800] "Integrated Camera" (video)
[dshow @ 000001e3fded3800]   Alternative name "@device_pnp_\\?\usb#vid_13d3&pid_56a6&mi_00#6&1c1093a4&1&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 000001e3fded3800] "screen-capture-recorder" (video)
[dshow @ 000001e3fded3800]   Alternative name "@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{4EA69364-2C8A-4AE6-A561-56E4B5044439}"
[dshow @ 000001e3fded3800] "OBS Virtual Camera" (video)
[dshow @ 000001e3fded3800]   Alternative name "@device_sw_{860BB310-5D01-11D0-BD3B-00A0C911CE86}\{A3FCE0F5-3493-419F-958A-ABA1250EC20B}"
[dshow @ 000001e3fded3800] "麦克风 (Realtek(R) Audio)" (audio)
[dshow @ 000001e3fded3800]   Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{E35D34C8-3763-4470-BDFF-5999B6DB4347}"
[dshow @ 000001e3fded3800] "virtual-audio-capturer" (audio)
[dshow @ 000001e3fded3800]   Alternative name "@device_sw_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\{8E146464-DB61-4309-AFA1-3578E927E935}"
[dshow @ 000001e3fded3800] "立体声混音 (Realtek(R) Audio)" (audio)
[dshow @ 000001e3fded3800]   Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{159589C7-204D-4C6C-8804-B576E8B7DC6C}"
dummy: Immediate exit requested

其中:

  • “Integrated Camera”:笔记本摄像头
  • “screen-capture-recorder”:录制桌面的设备
  • “麦克风 (Realtek® Audio)”:麦克风
  • “virtual-audio-capturer”:录制系统声音的设备

音视频录制

录制视频(默认参数)

桌面:

ffmpeg -f dshow -i video="screen-capture-recorder" v-out.mp4 

摄像头:

ffmpeg -f dshow -i video="Integrated Camera" -y v-out2.flv

注:要根据自己摄像头名称。

录制声音(默认参数)

系统声音:

ffmpeg -f dshow -i audio="virtual-audio-capturer" a-out.aac

注:Ctrl + C 退出录制。

系统 + 麦克风声音:

ffmpeg -f dshow -i audio="麦克风 (Realtek(R) Audio)" -f dshow -i audio="virtual-audio-capturer" -filter_complex amix=inputs=2:duration=first:dropout_transition=2  a-out2.aac

注:要根据自己麦克风名称。

同时录制系统 + 麦克风声音和视频(默认参数)

ffmpeg -f dshow -i audio="麦克风 (Realtek(R) Audio)" -f dshow -i audio="virtual-audio-capturer" -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f dshow -i video="screen-capture-recorder"  -y av-out.flv

查看视频录制的可选参数

查看 screen-capture-recorder 相关参数:

ffmpeg -f dshow -list_options true -i video="screen-capture-recorder"

输出:

[dshow @ 0000023f4f3a3740] DirectShow video device options (from video devices)
[dshow @ 0000023f4f3a3740]  Pin "Capture" (alternative pin name "1")
[dshow @ 0000023f4f3a3740]   pixel_format=bgr0  min s=1x1 fps=0.02 max s=1920x1080 fps=30
[dshow @ 0000023f4f3a3740]   pixel_format=bgr0  min s=1x1 fps=0.02 max s=1920x1080 fps=30
[dshow @ 0000023f4f3a3740]   pixel_format=bgr24  min s=1x1 fps=0.02 max s=1920x1080 fps=30
[dshow @ 0000023f4f3a3740]   pixel_format=rgb555le  min s=1x1 fps=0.02 max s=1920x1080 fps=30
[dshow @ 0000023f4f3a3740]   pixel_format=rgb555le  min s=1x1 fps=0.02 max s=1920x1080 fps=30
[dshow @ 0000023f4f3a3740]   pixel_format=rgb8  min s=1x1 fps=0.02 max s=1920x1080 fps=30
[dshow @ 0000023f4f3a3740]   pixel_format=yuv420p  min s=1x1 fps=0.02 max s=1920x1080 fps=30
[dshow @ 0000023f4f3a3740] Could not find output pin from video capture device.
video=screen-capture-recorder: I/O error

查看音频录制的可选参数

查看 virtual-audio-capturer 相关参数:

ffmpeg -f dshow -list_options true -i audio="virtual-audio-capturer"

输出:

[dshow @ 0000024b7e113740] DirectShow audio only device options (from audio devices)
[dshow @ 0000024b7e113740]  Pin "Capture Virtual Audio Pin" (alternative pin name "1")
[dshow @ 0000024b7e113740]   ch= 2, bits=16, rate= 48000
audio=virtual-audio-capturer: Immediate exit requested

查看 麦克风 (Realtek(R) Audio) 相关参数:

ffmpeg -f dshow -list_options true -i audio="麦克风 (Realtek(R) Audio)"

输出:

[dshow @ 00000260768b3700] DirectShow audio only device options (from audio devices)
[dshow @ 00000260768b3700]  Pin "Capture" (alternative pin name "Capture")
[dshow @ 00000260768b3700]   ch= 2, bits=16, rate= 44100Last message repeated 1 times
[dshow @ 00000260768b3700]   ch= 1, bits=16, rate= 44100
[dshow @ 00000260768b3700]   ch= 2, bits=16, rate= 32000
[dshow @ 00000260768b3700]   ch= 1, bits=16, rate= 32000
[dshow @ 00000260768b3700]   ch= 2, bits=16, rate= 22050
[dshow @ 00000260768b3700]   ch= 1, bits=16, rate= 22050
[dshow @ 00000260768b3700]   ch= 2, bits=16, rate= 11025
[dshow @ 00000260768b3700]   ch= 1, bits=16, rate= 11025
[dshow @ 00000260768b3700]   ch= 2, bits=16, rate=  8000
[dshow @ 00000260768b3700]   ch= 1, bits=16, rate=  8000
[dshow @ 00000260768b3700]   ch= 2, bits= 8, rate= 44100
[dshow @ 00000260768b3700]   ch= 1, bits= 8, rate= 44100
[dshow @ 00000260768b3700]   ch= 2, bits= 8, rate= 22050
[dshow @ 00000260768b3700]   ch= 1, bits= 8, rate= 22050
[dshow @ 00000260768b3700]   ch= 2, bits= 8, rate= 11025
[dshow @ 00000260768b3700]   ch= 1, bits= 8, rate= 11025
[dshow @ 00000260768b3700]   ch= 2, bits= 8, rate=  8000
[dshow @ 00000260768b3700]   ch= 1, bits= 8, rate=  8000
[dshow @ 00000260768b3700]   ch= 2, bits=16, rate= 48000
[dshow @ 00000260768b3700]   ch= 1, bits=16, rate= 48000
[dshow @ 00000260768b3700]   ch= 2, bits=16, rate= 96000
[dshow @ 00000260768b3700]   ch= 1, bits=16, rate= 96000
audio=麦克风 (Realtek(R) Audio): Immediate exit requested

指定参数录制音视频

ffmpeg -f dshow -i audio="麦克风 (Realtek(R) Audio)" -f dshow -i audio="virtual-audio-capturer" -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f dshow -video_size 1920x1080 -framerate 15 -pixel_format yuv420p  -i video="screen-capture-recorder" -vcodec h264_qsv  -b:v 3M  -y av-out.flv
ffmpeg -f dshow -i audio="麦克风 (Realtek(R) Audio)" -f dshow -i audio="virtual-audio-capturer" -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f dshow -i video="screen-capture-recorder" -vcodec h264_qsv  -b:v 3M -r 15 -y av-out2.mp4
ffmpeg -f dshow -i audio="麦克风 (Realtek(R) Audio)" -f dshow -i audio="virtual-audio-capturer" -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f dshow -framerate 15 -pixel_format yuv420p -i video="screen-capture-recorder" -vcodec h264_qsv  -b:v 3M -r 15 -y av-out3.mp4

参数:

  • -video_size:视频大小
  • -vcodec:视频编码格式
  • -framerate:视频帧率
  • -pixel_format:视频像素格式
  • -b:v:视频码率
  • -r:帧率

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

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

相关文章

ArcGIS Engine:视图菜单的创建和鹰眼图的实现

目录 01 创建项目 1.1 通过ArcGIS-ExtendingArcObjects创建窗体应用 1.2 通过C#-Windows窗体应用创建窗体应用 1.2.1 创建基础项目 1.2.2 搭建界面 02 创建视图菜单 03 鹰眼图的实现 3.1 OnMapReplaced事件的触发 3.2 OnExtentUpdated事件的触发 04 稍作演示 01 创建项目…

Qt单一应用实例判断

原本项目中使用QSharedMemory的方法来判断当前是否已存在运行的实例,但在MacOS上,当程序异常崩溃后,QSharedMemory没有被正常销毁,导致应用程序无法再次被打开。 对此,Qt assistant中有相关说明: 摘抄 qt-s…

Spring源码解析——IOC属性填充

正文 doCreateBean() 主要用于完成 bean 的创建和初始化工作,我们可以将其分为四个过程: 最全面的Java面试网站 createBeanInstance() 实例化 beanpopulateBean() 属性填充循环依赖的处理initializeBean() 初始化 bean 第一个过程实例化 bean在前面一篇…

Kafka源码简要分析

目录 一、生产者的初始化流程 二、生产者到缓冲队列的流程 三、Sender拉取数据到Kafka流程 四、消费者初始化 五、主题订阅原理 六、消费者抓取数据原理 七、消费者组初始化 八、消费者组消费流程 九、提交offset原理 一、生产者的初始化流程 首先获取事务id和客户端…

卷积层与池化层输出的尺寸的计算公式详解

用文字简单表述如下 卷积后尺寸计算公式: (图像尺寸-卷积核尺寸 2*填充值)/步长1 池化后尺寸计算公式: (图像尺寸-池化窗尺寸 2*填充值)/步长1 一、卷积中的相关函数的参数定义如下: in_channels(int) – 输入信号的通道 out_channels(int)…

SDL播放pcm无声音的原因

试过了网上各种: 要用if(SDL_Init(SDL_INIT_AUDIO | SDL_INIT_TIMER)) ,不要用if(SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER)) —NO 无论如何先SDL_memset(stream, 0, len); —NO 最后对比了一个可以出声的程序,原因如下…

Vue3 reactive和ref详解

reactive Vue3.0中的reactive reactive 是 Vue3 中提供的实现响应式数据的方法。在 Vue2 中响应式数据是通过 defineProperty 来实现的,在 Vue3 中响应式数据是通过 ES6 的 Proxy来实现的。reactive 参数必须是对象 (json / arr)如果给 reactive 传递了其它对象 默…

alsa pcm设备之硬件参数

硬件参数包含了stream描述比如格式,采样率,通道数,和ringbuffer 圆形缓存区大小等. 使用snd_pcm_hw_params_t ,ALSA pcm设备使用了参数重定义系统相关的硬件参数,应用程序首先选择全范围的配置, 然后应用程序设置单个参数,直到所有参数都是基本的(确定的). 格式: 使…

Android异步和线程

代码仓库:https://github.com/MADMAX110/Starbuzz Android应用打开数据库时首先要搜索数据库文件,如果没有找到数据库文件就要创建一个空的数据库。然后它要运行所有SQL命令,在数据库中创建数据库表和需要的所有初始数据。最后还要执行一些查…

rust变量

一 、变量定义 (一)语法格式 使用let关键字定义变量 let varname: type value; 如,let a: i32 78;也可以不显式指定类型 let varname value; 如,let a 78;一些例子 1.布尔 let t true; let f: bool false;2.整数 let a …

合宙Air780e+luatos+腾讯云物联网平台完成设备通信与控制(属性上报+4G远程点灯)

1.腾讯云物联网平台 首先需要在腾讯云物联网平台创建产品、创建设备、定义设备属性和行为,例如: (1)创建产品 (2)定义设备属性和行为 (3)创建设备 (4)准备参…

ctrl+d和ctrl+c的区别

CtrlD和CtrlC都是常用的键盘快捷键,但它们的功能不同。 CtrlD 在不同的操作系统和应用程序中可以有不同的功能。在Unix/Linux系统的命令行终端中,CtrlD的作用是发送EOF(End of File)信号,表示输入结束。在Windows系统中…

【高阶数据结构】图详解第一篇:图的基本概念及其存储结构(邻接矩阵和邻接表)

文章目录 1. 图的基本概念1.1 什么是图1.2 有向图和无向图1.3 完全图1.4 邻接顶点1.5 顶点的度1.6 路径1.7 路径长度1.8 简单路径与回路1.9 子图1.10 连通图1.11 强连通图1.12 生成树 2. 图的存储结构2.1 邻接矩阵2.2 邻接矩阵代码实现结构定义构造函数添加边打印图测试 2.3 邻…

ToBeWritten之改进威胁猎杀:自动化关键角色与成功沟通经验

也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬…

10款录屏软分析与选择使用,只看这篇文章就轻松搞定所有,高清4K无水印录屏,博主UP主轻松选择

录屏软件整理 如下为录屏软件,通过思维导图展示分析介绍: https://www.drawon.cn/template/details/6522bd5e0dad9029a0b528e1 如下为整理的录屏软件列表 名称产地价格支持的平台下载地址说明OBS国外免费开源windows/linux/machttps://obsproject.co…

linux 笔记:远程服务器登录jupyter notebook

1 生成jupyter notebook 配置文件(服务器端) jupyter notebook --generate-config #Writing default config to: /home/shuailiu/.jupyter/jupyter_notebook_config.py2 Ipython中设置密码(服务器端) 3 修改jupyter 配置文件&…

汇编语言是怎么一回事?

汇编语言基础 汇编指令和机器码的区别 数据的表示 各类汇编指令 数据传送和算法运算 位运算 条件分支指令 函数调用 字符串处理 流水线和指令调度 流水线实现指令级并行 编译器指令调度 CPU乱序与投机执行 汇编器将汇编语言翻译成 CPU 可以执行的机器码&#xff0c…

强烈推荐这5款功能强大的小软件

​ 今日的栽种,明日的果实,今天继续分享五个功能强大的小软件。 1.文本编辑——IDM UltraEdit ​ IDM UltraEdit是一款功能强大的文本编辑器,它支持多种编程语言和文件格式,可以处理大型文件,进行代码折叠&#xff0…

reactjs开发环境搭建

Reactjs是一个前端web页面应用开发框架工具集,其支持前端构建页面以及后端构建页面两种常用的开发场景,其中,支持reactjs的开发框架包括next.js、remix、gatsby以及其他,本文主要描述next.js开发环境的搭建,next.js是一…

c++中的map和set

文章目录 1. 关联式容器2. 键值对3. 树形结构的关联式容器3.1 set3.1.1 set的介绍3.1.2 set的使用 3.2 map3.2.1 map的介绍3.2.2 map的使用 3.3 multiset3.3.1 multiset的介绍3.3.2 multiset的使用 3.4 multimap3.4.1 multimap的介绍3.4.2 multimap的使用 1. 关联式容器 在初阶…