使用ffmpeg/libav进行桌面视频和音频的录制。

背景:需要在debian/ubuntu中同时录制视频和两个音频,

1 安装ffmpeg/libav

        #apt-get install ffmpeg libav-tools

2 分别获取speaker占用的设备和麦克风的设备

 获取speaker设备:

            # pactl list sources| grep alsa_output.pci-[0-9_.a-z]*.analog-stereo.monitor

                Name: alsa_output.pci-0000_00_1b.0.analog-stereo.monitor

alsa_output.pci-[some number].analog-stereo.monitor:表示从音响或耳机中的声音(即播放视频或音频时听到的声音),有时候电脑有两个声卡,就要看正在使用的是哪个声卡。monitor表示监听内部声音

  获取麦克风设备,不含monitor的音频输入设备:    

                alsa_input.pci-0000_00_1b.0.analog-stereo:表示麦克风设备

3 安装pavucontrol,选择正确的输入设备,内部monitor(默认内部音频,模拟立体声) 和麦克风(也是内部音频,模拟立体声,但是端口要选择已经插入可工作的设备)


4 录制

 ffmpeg -f x11grab -s 1600x900 -i :0.0  -f pulse -i alsa_input.pci-0000_00_1b.0.analog-stereo   -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor   -map 0:0 -map 1:0 -map 2:0  1.mkv

录制时,将麦克风的音轨放前面,播放声音speaker的音轨放后面。

多个stream需要使用map参数(三个及以上),第一个是0:0,第二个是1:0, 第三个是3:0。

获取speaker设备方法: http://askubuntu.com/questions/233060/recording-speaker-audio-using-avconv 

你可能感兴趣的:(使用ffmpeg/libav进行桌面视频和音频的录制。)