FFmpeg中Windows设备操作
Windows采集设备的主要方式是dshow、vfwcap、gdigrab,其中dshow可以用来抓取摄像头、采集卡、麦克风等,vfwcap主要用来采集摄像头类设备,gdigrab则是抓取Windows窗口程序。
ffmpeg -hide_banner -devices
![](https://img.haomeiwen.com/i11386185/dfc7901290b76f5a.png)
1、FFmpeg使用dshow采集音视频设备
(1)使用dshow枚举设备
ffmpeg -f dshow -list_devices true -i dummy
(2)使用dshow展示摄像头
ffmpeg -f dshow -video_size 1280x720 -i video="Integrated Cmera"
(3)将摄像头数据保存为mp4文件
ffmpeg -f dshow i video="Integrated Cmera" -f dshow -i audio="virtual-audio-capturer" out.mp4
2、FFmpeg使用vfwcap采集视频设备
(1)使用vfwcap枚举支持采集的设备
ffmpeg -f vfwcap -i list
(2)使用vfwcap生成mp4文件
ffmpeg -f vfwcap -i 0 -r 25 -vcodec libx264 out.mp4
3、FFmpeg使用gdigrab采集窗口
ffmpeg -h demuxer=gdigrab
![](https://img.haomeiwen.com/i11386185/2a1ef27f81984ca4.png)
(1)使用gdigrab采集整个桌面
ffmpeg -f gdigrab -framerate 6 -i desktop out.mp4
![](https://img.haomeiwen.com/i11386185/1f06e6c36e067b20.jpg)
(2)使用gdigrab采集某个窗口
ffmpeg -f gdigrab -framerate 6 -i title=tools out1.mp4
![](https://img.haomeiwen.com/i11386185/a72e7d0618d0f29e.png)
(3)使用gdigrab录制带偏移量的视频
ffmpeg -f gdigrab -framerate 6 -offset_x 50 -offset_y 50 -video_size 400x400 -i title=ffmpeg-4.1 out2.mp4
![](https://img.haomeiwen.com/i11386185/b562ed395aa31011.png)
通过offset_x和offset_y分别指定x和y坐标的偏移,并且需要指定video_size,否则参数无效,另外在录制期间,应该尽量避免调整录制窗口的大小,否则可能会导致画面异常。
网友评论