FFMPEG在Windows下的屏幕录像录音

ffmpeg在Linux下用X11grab进行屏幕录像,在Windows下用DirectShow滤镜首先需要安装一个软件,screen capture recorder,这个软件本身就可以实现音视频的录制功能。编译好的下载

ffmpeg在Linux下用X11grab进行屏幕录像,在Windows下用DirectShow滤镜

首先需要安装一个软件,screen capture recorder,这个软件本身就可以实现音视频的录制功能。
编译好的下载地址是:
http://sourceforge.net/projects/screencapturer/files/
源码地址是:
https://github.com/rdp/screen-capture-recorder-to-video-windows-free
 

安装完了之后,在命令行执行:


  1. ffmpeg -list_devices true -f dshow -i dummy  

系统输出大致如下:

  1. [dshow @ 002db420] DirectShow video devices  

  2. [dshow @ 002db420]  "screen-capture-recorder"  

  3. [dshow @ 002db420] DirectShow audio devices  

  4. [dshow @ 002db420]  "virtual-audio-capturer"  

ffmpeg已经可以捕获到DirectShow视频设备,和音频设备了.

"screen-capture-recorder" 这个就是桌面捕获设备,如果电脑上连有摄像头,也会列出来.

"virtual-audio-capturer" 这个是音频捕获设备

 

然后就可以用FFMPEG来进行录像了

  1. ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -pix_fmt yuv420p -vcodec libx264 -acodec libvo_aacenc -s 1280x720 -r 25 -q 10 -ar 44100 -ac 2 -tune zerolatency -preset ultrafast -f mpegts - | ffmpeg -f mpegts -i - -c copy -bsf:a aac_adtstoasc -f flv temp.flv  

------------------------------

FFmpeg常用指令如下 

查看版本


ffmpeg -version

1

列出设备列表


ffmpeg -list_devices true -f dshow -i dummy

1

全屏录像 ( dshow录屏, H264编码 )


ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -vcodec libx264 -acodec libmp3lame -s 1280x720 -r 15 e:/temp/temp.mkv

1

全屏录像 ( gdigrab录屏, H264编码 )


ffmpeg -f gdigrab -i desktop -f dshow -i audio="virtual-audio-capturer" -vcodec libx264 -acodec libmp3lame -s 1280x720 -r 15 e:/temp/temp.mkv

1

全屏录像 ( gdigrab录屏, vp9编码 )( 注 : dshow不支持vp9 )


ffmpeg -f gdigrab -i desktop -f dshow -i audio="virtual-audio-capturer" -vcodec libvpx-vp9 -acodec libmp3lame -s 1280x720 -r 15 e:/temp/temp.mkv

1

区域录像 ( 起点:100,60 width:600 width:480 )


ffmpeg -f gdigrab -i desktop -f dshow -i audio="virtual-audio-capturer" -vcodec libx264 -acodec libmp3lame -video_size 600x480 -offset_x 100 -offset_y 60 -r 15 e:/temp/temp.mkv

1

----------------------------------------------------------

列出视频和音频设备

视频输入流为:desktop 

视频输入流格式:gdigrab


音频输入流需要检测:


ffmpeg -list_devices true -f dshow -i dummy

1

显示结果如下:


[dshow @ 000000000217b920] DirectShow video devices (some may be both video and audio devices)

[dshow @ 000000000217b920]  "Lenovo EasyCamera"

[dshow @ 000000000217b920]     Alternative name "@device_pnp_\\?\usb#vid_5986&pid_0525&mi_00#6&27d90b85&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"

[dshow @ 000000000217b920] DirectShow audio devices

[dshow @ 000000000217b920]  "楹﹀厠椋?(Realtek High Definition Audio)"

[dshow @ 000000000217b920]     Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{F9ACECD6-2FD0-48A0-BCC0-D076899B06F5}"

1

2

3

4

5

6

其中有乱码,乱码可以通过将其转变成utf8的方式显示。此处我们不转化,我们使用Alternative name来打开设备。


屏幕录像

屏幕录像格式如下:


ffmpeg -f gdigrab -i desktop -f dshow -i audio="@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{F9ACECD6-2FD0-48A0-BCC0-D076899B06F5}" -vcodec libx264 -qp 20 -acodec libvo_aacenc out.mp4 

1

2

如果想去掉声音:


ffmpeg -f gdigrab -i desktop -f h264 -qp 20 out.mp4

————————————————



相关推荐

[!--temp.pl--]