博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用FFmpeg进行屏幕录像和录音

Posted on 2017-03-10 10:17  bw_0927  阅读(4056)  评论(0编辑  收藏  举报

http://www.cucer.cn/2016/03/10/ffmpeg-screen-capture.html

http://blog.csdn.net/leixiaohua1020/article/details/39706721

有些时候我们需要对屏幕进行录制,比如制作视频教程,录制直播等。然而这方面的软件多是收费的,即使是免费试用版的还有水印,特别烦人。下面介绍使用FFmpeg进行屏幕录制的方法。

Windows

使用dshow抓屏需要安装抓屏软件:screen-capture-recorder

Linux下可以使用x11grab抓屏,在MacOS下可以使用avfoundation抓屏

先安装dshow软件 Screen Capturer Recorder, 项目地址:https://sourceforge.net/projects/screencapturer/files/ 。然后查看可用设备名字:

 

 

会显示

DirectShow video devices (some may be both video and audio devices)
“screen-capture-recorder”    //视频设备
DirectShow audio devices
“virtual-audio-capturer”  //音频设备

就能看到咱刚安装的Screen Capturer Recorder,如果你有其他的设备,比如摄像头,麦克风等,也会显示。

录制视频(默认参数)

 

 

录制声音(默认参数)

 

 

同时录制声音和视频(默认参数)

 

 

查看视频录制的可选参数

 

 

我的设备有如下显示

DirectShow video device options (from video devices)
Pin “Capture” (alternative pin name “1”)
pixel_format=bgr0 min s=1×1 fps=0.02 max s=1680×1050 fps=30
pixel_format=bgr0 min s=1×1 fps=0.02 max s=1680×1050 fps=30
pixel_format=bgr24 min s=1×1 fps=0.02 max s=1680×1050 fps=30
pixel_format=rgb555le min s=1×1 fps=0.02 max s=1680×1050 fps=30
pixel_format=rgb555le min s=1×1 fps=0.02 max s=1680×1050 fps=30
pixel_format=rgb8 min s=1×1 fps=0.02 max s=1680×1050 fps=30
pixel_format=yuv420p min s=1×1 fps=0.02 max s=1680×1050 fps=30

示例视频录制(依次设置:分辨率 帧率 像素格式)

 

 

查看音频设备可选参数

 

 

指定参数录制音视频

 

 

Linux

使用x11grab,相信Linux用户都是高手,自行查看安装方法吧,点我查看

安装完之后,可以录制了

 

 

上面的参数,指的是从屏幕的左上角(x=100, y=200)的位置,录制分辨率为1024×768的视频。

可以使用ALSA同时录制声音

 

 

也可以使用Pulse声音输入设备

 

 

OS X

使用 avfoundation ,然后查看可用设备

 

 

选用可用的相应的音视频设备,进行屏幕录制

 

 

提示

 如果电脑配置比较低,可能不能很好的录制屏幕的同时进行音视频编码。这种情况下,可以先录制未压缩的音视频,最后再进行音视频编码压缩。

Linux:

 

 

Windows:

 

 

 

无损格式录制

如果想要完美的屏幕录制效果,可以使用x264进行无损编码

 

 

“-qp 0″是x264无损编码模式,“-preset ultrafast”表示最快的速度编码。

参考:http://trac.ffmpeg.org/wiki/Capture/Desktop

原文链接:http://www.cucer.cn/2016/03/10/ffmpeg-screen-capture.html,转发请注明来源!