FFmpeg命令视频录制(Windows)
-
先安装dshow软件Screen Capturer Recorder,项目地址:https://github.com/rdp/screen-capture-recorder-to-video-windows-free
-
查看可用设备名字:
ffmpeg -list_devices true -f dshow -i dummy
-
这个命令用于列出 Windows 上可用的 DirectShow 设备(比如摄像头、麦克风等)。参数说明如下:
-list_devices true
:表示要列出可用设备。-f dshow
:指定输入设备类型为 DirectShow。-i dummy
:虽然-i
后应该跟着输入设备的名称,但是在这里使用了dummy
,这是一个虚拟的输入设备,用于触发 DirectShow 接口并列出可用设备。
-
音视频录制
-
录制视频(默认参数)
-
桌面:
ffmpeg -f dshow -i video="screen-capture-recorder" desktop-video-record.mp4
-f dshow
:指定输入设备类型为 DirectShow。-i video="screen-capture-recorder"
:指定输入设备为名为 “screen-capture-recorder” 的屏幕捕获设备,这通常是一个虚拟的设备,用于捕获屏幕内容。desktop-video-record.mp4
:指定输出文件名为desktop-video-record.mp4
。
这个命令将从屏幕捕获设备(使用 DirectShow 接口)录制桌面视频,并将其保存为 MP4 文件。
-
摄像头:
ffmpeg -f dshow -i video="Camera (NVIDIA Broadcast)" -y camera-video-record.mp4 #要根据自己可使用的摄像头名称
-f dshow
:指定输入设备类型为 DirectShow。-i video="Camera (NVIDIA Broadcast)"
:指定输入设备为名为 “Camera (NVIDIA Broadcast)” 的摄像头。-y
:覆盖输出文件而不询问。camera-video-record.mp4
:指定输出文件名为camera-video-record.mp4
。
这个命令将从名为 “Camera (NVIDIA Broadcast)” 的摄像头录制视频,并将其保存为 MP4 文件。
-
-
录制声音(默认参数)
-
系统声音:
ffmpeg -f dshow -i audio="virtual-audio-capturer" systemaudio-record.aac
-f dshow
:指定输入设备类型为 DirectShow。-i audio="virtual-audio-capturer"
:指定输入设备为名为 “virtual-audio-capturer” 的音频设备,这通常是一个虚拟的设备,用于捕获系统音频输出。systemaudio-record.aac
:指定输出文件名为systemaudio-record.aac
。
这个命令将从名为 “virtual-audio-capturer” 的音频设备录制音频,并将其保存为 AAC 格式的文件。
-
系统 + 麦克风声音:
ffmpeg -f dshow -i audio="耳机式麦克风 (INZONE H9 / INZONE H7 - Chat)" -f dshow -i audio="virtual-audio-capturer" -filter_complex amix=inputs=2:duration=first:dropout_transition=2 systemANDmicrophone-audio-record.aac #要根据自己可使用的麦克风名称
-f dshow -i audio="耳机式麦克风 (INZONE H9 / INZONE H7 - Chat)"
:指定第一个输入音频设备为名为 “耳机式麦克风 (INZONE H9 / INZONE H7 - Chat)” 的麦克风。-f dshow -i audio="virtual-audio-capturer"
:指定第二个输入音频设备为名为 “virtual-audio-capturer” 的虚拟音频捕获设备,通常用于捕获系统音频输出。-filter_complex amix=inputs=2:duration=first:dropout_transition=2
:指定音频混合器,将两个输入的音频混合成一个。参数inputs=2
表示有两个输入流,duration=first
表示使用第一个输入流的时长,dropout_transition=2
表示在切换输入流时有 2 秒的淡出/淡入过渡。systemANDmicrophone-audio-record.aac
:指定输出文件名为systemANDmicrophone-audio-record.aac
。
这个命令将来自两个不同音频设备的音频混合到一起,并将混合后的音频保存为 AAC 格式的文件。
-
查看视频录制的可选参数
ffmpeg -f dshow -list_options true -i video="screen-capture-recorder"
-
这个命令用于列出 Windows 上名为 “screen-capture-recorder” 的 DirectShow 视频捕获设备的选项。参数
-list_options true
指示列出所有选项及其当前值。通常,DirectShow 设备的选项包括视频输入分辨率、帧率、视频格式等。这些选项可以用于配置捕获设备的参数,以满足特定的录制需求。
查看音频设备可选参数
ffmpeg -f dshow -list_options true -i audio="virtual-audio-capturer"
-
这个命令用于列出 Windows 上名为 “virtual-audio-capturer” 的 DirectShow 音频捕获设备的选项。参数
-list_options true
指示列出所有选项及其当前值。通常,DirectShow 设备的选项包括音频输入采样率、声道数、音频格式等。这些选项可以用于配置捕获设备的参数,以满足特定的录制需求。
ffmpeg -f dshow -list_options true -i audio="耳机式麦克风 (INZONE H9 / INZONE H7 - Chat)" #要根据自己可使用的麦克风名称
- 显然耳机支持的音频设备可选参数更多