FFmpeg下的录屏录音
前面我们安装了FFmpeg,FFmpeg还提供了录屏+录音的功能,可以方便录制直播视频,教学视频等等.我们使用alsa录音功能,alsa driver驱动被内嵌志linux内核中, 基本上只要不是内核本版太老,是不需要再进行安装的.如果小伙伴们发现机器上不能使用alsa,可以去安装一下alsa的三个库alsa-driver,alsa-lib,alsa-utils
到FFmpeg官网查看相应资料FFmpeg
在linux中录音录屏发现了三条指令
$ ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 output.mp4
$ ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 -f alsa -ac 2 -i hw:0 output.mkv
$ ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 -f pulse -ac 2 -i default output.mkv
参数详解
-video_size 录制视频的分辨率
$ echo $(xdpyinfo|grep ‘dimensions:’ | awk ‘{print $2}’)
-f device 指定设备,这里我们使用
x11grab
设备去录屏,使用alsa
设备去录音,请在使用前确保该设备被安装,并且确保在FFmpeg编译时已经添加到FFmpeg的devices列表中$ ffmpeg -devices
-i :0.0+100,200 从左上角开始,向x轴偏移100,y轴偏移200,我们可以不用偏移
-ac 设置音频通道数
-i hw:1 指定音频设备
在linux中使用alsamixer可以打开alsa控制面板
$ alsamixer按F6选择声卡,注意前面的标号根据实际情况选择,我的音频设备是1号,与hw:后面的1相对应
到下面的界面后,按F4跳转到捕获音频界面
在这里我们可以调整录音时音量的大小,左右切换至capture,上下调整音量
FFmpeg录屏录音
- x11grab录屏
$ ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0+0,0 ~/output.mp4
- alsa录音
$ ffmpeg -f alsa -ac 2 -i hw:1 ~/out.wav
- 录屏+录音
$ ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i :0.0+0,0 -f alsa -ac 2 -i hw:1 out.mp4