FFmpeg的录制命令

FFmpeg的录制命令

命令的作用

它可以捕捉桌面窗口,摄像头的视频流和麦克风的音频流。

命令的格式

ffmpeg [输入格式] [输入选项] -i [输入设备索引] [输出选项] 输出文件

其中输入选项输出选项是可选的,根据实际需要进行修改。

输入格式

Windows:

  • dshow : DirectShow输入格式,用于录制Windows上的摄像头、麦克风、屏幕、窗口等。
  • gdigrab:GDI抓取输入格式,用于录制Windows上的屏幕或窗口,可以选择特定的窗口进行录制。
  • vfwcap : 是一种输入格式,用于在 Windows 上录制视频设备(如摄像头)的输入源。

Linux:

  • v4l2 :Video for Linux 2输入格式,用于录制Linux上的视频设备,如USB摄像头等。
  • alsa:Advanced Linux Sound Architecture输入格式,用于录制Linux上的音频设备,如麦克风、扬声器等。
  • x11grab:X11抓取输入格式,用于录制X Window系统上的屏幕或窗口。

Mac:

  • avfoundation:AVFoundation输入格式,用于录制Mac上的摄像头、麦克风、屏幕等。
  • qtkit:QuickTime Kit输入格式,用于录制Mac上的摄像头、麦克风等。

输入选项:

  • -f <格式>:指定输入文件的格式(视频如.mp4 .avi .mkv .flv .mov等等 音频如 .mp3 .wav .aac .flac .wma等等)。
  • -i <输入文件>:指定输入文件的路径。
  • -s <分辨率>:指定视频的分辨率。
  • -r <帧率>:指定视频的帧率。
  • -ac <声道数>:指定音频的声道数(如:单声道(1) 立体声(2) 5.1环绕声(6) 7.1环绕声(8))。
  • -i <视频设备>:指定视频设备的路径(用于摄像头录制)。
  • -f alsa -i <音频设备>:指定音频设备的路径(用于声音录制)。

输入设备索引:

Windows:

  • dshow: 使用 ffmpeg -list_devices true -f dshow -i dummy 命令列出可用的视频设备及其对应的名称和索引号,然后根据需要选择对应的索引号或设备名称。
  • gdigrab: 不需要设备索引,直接使用 -offset_x-offset_y-video_size 等参数指定需要录制的屏幕区域或窗口标题即可。
  • vfwcap: 使用 ffmpeg -list_devices true -f vfwcap -i dummy 命令列出可用的视频设备及其对应的名称和索引号,然后根据需要选择对应的设备名称或索引号。

Linux:

  • v4l2: 使用 v4l2-ctl --list-devices 命令列出可用的视频设备及其对应的名称和索引号,然后根据需要选择对应的设备名称或索引号。
  • alsa: 不需要设备索引,直接使用 -f alsa -i default 参数录制默认音频设备。
  • x11grab: 不需要设备索引,直接使用 -offset_x-offset_y-video_size 等参数指定需要录制的屏幕区域或窗口标题即可。

Mac:

  • avfoundation: 使用 ffmpeg -f avfoundation -list_devices true -i "" 命令列出可用的视频设备及其对应的名称和索引号,然后根据需要选择对应的设备名称或索引号。
  • qtkit: 使用 ffmpeg -f qtkit -list_devices true -i "" 命令列出可用的视频设备及其对应的名称和索引号,然后根据需要选择对应的设备名称或索引号。

输出文件:

  • 单个输出文件:直接指定输出文件路径和文件名,如 output.mp4
  • 多个输出文件:使用通配符指定输出文件路径和文件名的格式,如 output-%03d.mp4,其中 %03d 表示输出文件名中序号的占位符,例如 output-001.mp4output-002.mp4 等。

例子:

录制窗口,60帧,使用1920x1080分辨率,存放到默认目录。

ffmpeg -f gdigrab -r 60 -i desktop -s 1920x1080 output.mp4

录制麦克风音频,存放到默认目录。

ffmpeg -f dshow -i audio="麦克风阵列 (适用于数字麦克风的英特尔® 智音技术)" output.wav

录制摄像头 30帧,并且存放到d盘中的videos文件夹中(要保证有访问和修改目标文件夹的权限)。

ffmpeg -f vfwcap -r 30 -i 0 D:\videos\output003.mp4

如何播放我录制的视频

找到视频存放的目录,然后双击使用你的电脑上的播放器打开或者使用ffplay进行播放。

一般视频存放的位置以上面的输出文件 为依据。如果只是单个文件名,例如output.mp4 则视频存放在你的ffmpeg的默认安装目录。如果指定了文件目录,如:D:\videos\output003.mp4 则视频存放在D:\videos中。

相关推荐
xmRao2 小时前
Qt+FFmpeg 实现 PCM 音频转 AAC 编码
qt·ffmpeg·pcm
xmRao2 小时前
Qt+FFmpeg 实现录音程序(pcm转wav)
qt·ffmpeg
_OP_CHEN5 小时前
【算法基础篇】(五十六)容斥原理指南:从集合计数到算法实战,解决组合数学的 “重叠难题”!
算法·蓝桥杯·c/c++·组合数学·容斥原理·算法竞赛·acm/icpc
_OP_CHEN6 小时前
【Linux系统编程】(二十七)手撕动静态库原理与实战:从底层逻辑到代码落地
linux·操作系统·动态库·静态库·c/c++·库的原理与制作
_OP_CHEN1 天前
【算法基础篇】(五十五)卡特兰数封神之路:从括号匹配到二叉树构造,组合数学的万能钥匙!
算法·蓝桥杯·c/c++·组合数学·卡特兰数·算法竞赛·acm/icpc
_OP_CHEN1 天前
【Linux系统编程】(二十六)一文吃透 Ext 系列文件系统软硬链接:原理、实战与底层逻辑揭秘
linux·操作系统·文件系统·c/c++·硬链接·软链接·ext2文件系统
阿里巴啦1 天前
python+yt-dlp开源项目,支持 YouTube, Bilibili, TikTok/抖音,快手 等多个平台的视频/音频/字幕下载/ai摘要等功能
python·ffmpeg·whisper·音视频·视频处理·ai摘要·音视频转录
来鸟 鸣间2 天前
linux下ffmpeg源码编译
linux·运维·ffmpeg
Echo_NGC22372 天前
【FFmpeg使用指南】Part 2:滤镜图架构与信号处理
架构·ffmpeg·音视频·信号处理
Echo_NGC22372 天前
【FFmpeg使用指南】Part 1:核心架构与媒体流处理
ffmpeg·音视频·媒体·视频