查看硬件设备列表
ffmpeg -list_devices true -f dshow -i dummy
[dshow @ 0000015b4f70e300] DirectShow video devices (some may be both video and audio devices)
[dshow @ 0000015b4f70e300] "Integrated Webcam"
[dshow @ 0000015b4f70e300] Alternative name "@device_pnp_\\?\usb#vid_0c45&pid_6708&mi_00#6&22c81562&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 0000015b4f70e300] DirectShow audio devices
[dshow @ 0000015b4f70e300] "麦克风阵列 (Sound Blaster Recon3Di)"
[dshow @ 0000015b4f70e300] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{0DA8FB1E-0666-4DE0-87B4-217E5C0C946D}"
[dshow @ 0000015b4f70e300] "您听到的声音 (Sound Blaster Recon3Di)"
[dshow @ 0000015b4f70e300] Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{8DA4D6DA-8FFC-4302-A034-D8F36F2D8CD5}"
Alternative name 字段后面会用到
开始录屏
1 使用dshow命令指定设备(无声)
dshow支持录取声音和屏幕信息
ffmpeg -f dshow -i video="@device_pnp_\\?\usb#vid_0c45&pid_6708&mi_00#6&22c81562&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global" output.mkv
video="Alternative name"
2 gdigrab设备 采集整个桌面(无声)
gdigrab 仅支持录取屏幕信息,不支持声音
ffmpeg -f gdigrab -framerate 30 -i desktop output.mkv
3 无损编码+提高编码速度方式(无声)
ffmpeg -framerate 30 -f gdigrab -i desktop -c:v libx264rgb -crf 0 -preset ultrafast output.mkv
ffmpeg -framerate 30 -f gdigrab -i desktop -c:v libx264rgb -preset:v ultrafast -tune:v zerolatency output.mkv
录制声音
ffmpeg \
-framerate 30 \
-f gdigrab \
-i desktop \
-f dshow \
-i audio="@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{0DA8FB1E-0666-4DE0-87B4-217E5C0C946D}" \
-c:v libx264rgb \
-preset:v ultrafast \
-tune:v zerolatency \
-y output.mkv
录音降噪参考:ffmpeg+sox实现录音降噪
参数详解请参考:ffmpeg参数详解