我想用音频录制屏幕以供练习。
我看到了使用此命令行的建议:
ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 25 -s 800x600 -i :0.0+200,100 -c:a pcm_s16le -c:v libx264 -preset ultrafast -crf 0 -threads 4 output.mkv
但ffmpeg
无法识别“alsa”格式或“pulse”文件。如果我删除这两个,它可以很好地捕获屏幕的指定区域,但不会发出任何声音。
我使用的是 Linux Mint 17 Mate 版本;我知道我正在使用 ALSA。我的测试音频源是 VLC(我认为它使用了 PulseAudio),从系统托盘播放 Ogg Vorbis 文件。
这是我的ffmpeg
配置:
ffmpeg version 2.2.4 Copyright (c) 2000-2014 the FFmpeg developers
built on Jul 6 2014 09:48:53 with Ubuntu clang version 3.4-1ubuntu3 (tags/RELEASE_34/final) (based on LLVM 3.4)
configuration: --cc=clang --extra-libs=-ldl --disable-shared --disable-ffserver --enable-ffplay --disable-doc --enable-bzlib --enable-zlib --enable-libx264 --enable-libtheora --enable-libvorbis --enable-libmp3lame --enable-libass --enable-libfaac --enable-libvpx --enable-libopus --enable-x11grab --enable-nonfree --enable-gpl
libavutil 52. 66.100 / 52. 66.100
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 33.100 / 55. 33.100
libavdevice 55. 10.100 / 55. 10.100
libavfilter 4. 2.100 / 4. 2.100
libswscale 2. 5.102 / 2. 5.102
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
答案1
ALSA 支持本质上并不是内置于ffmpeg
.您需要在./configure
构建时安装 ALSA 开发文件ffmpeg
。
配置ffmpeg
脚本会查找alsa/asoundlib.h
和libasound
。如果缺少其中之一,它就不会在程序中构建 ALSA 支持。
这与ffmpeg
您可以使用配置脚本标志启用的其他功能形成对比。也就是说你不能问不是如果找到头文件和库文件,则构建 ALSA 支持。