FFmpeg中Windows设备操作


Windows采集设备的主要方式是dshow、vfwcap、gdigrab,其中dshow可以用来抓取摄像头、采集卡、麦克风等,vfwcap主要用来采集摄像头类设备,gdigrab则是抓取Windows窗口程序。


ffmpeg -hide_banner -devices
 
 

 

 


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
 

 

 

(1)使用gdigrab采集整个桌面

ffmpeg -f gdigrab -framerate 6 -i desktop out.mp4

 

 

(2)使用gdigrab采集某个窗口

ffmpeg -f gdigrab -framerate 6 -i title=tools out1.mp4

 

 

 

(3)使用gdigrab录制带偏移量的视频

ffmpeg -f gdigrab -framerate 6 -offset_x 50 -offset_y 50 -video_size 400x400 -i title=ffmpeg-4.1 out2.mp4
 

 

 

 

通过offset_x和offset_y分别指定x和y坐标的偏移,并且需要指定video_size,否则参数无效,另外在录制期间,应该尽量避免调整录制窗口的大小,否则可能会导致画面异常。

转自:https://www.jianshu.com/p/a70afe5bf229