Q&A
- Q: 系统自带的QuickTime Player不是已经有录屏功能了嘛,你干嘛搞这么麻烦?
- A: 我乐意
安装HomeBrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装ffmpeg
- 普通青年
brew install ffmpeg --with-x264
- 二逼青年
brew install ffmpeg --with-chromaprint --with-fdk-aac --with-libass --with-libsoxr --with-libssh --with-tesseract --with-libvidstab --with-opencore-amr --with-openh264 --with-openjpeg --with-openssl --with-rtmpdump --with-rubberband --with-sdl2 --with-snappy --with-tools --with-webp --with-x265 --with-xz --with-zeromq --with-zimg --with-fontconfig --with-freetype --with-frei0r --with-game-music-emu --with-libbluray --with-libbs2b --with-libcaca --with-libgsm --with-libmodplug --with-libvorbis --with-libvpx --with-opus --with-speex --with-theora --with-two-lame --with-wavpack
安装Soundflower
macOS自己没办法采集到系统声音,需要安装Soundflower
brew cask install soundflower
配置Soundflower
微小的前置工作
输入ffmpeg -f avfoundation -list_devices true -i ""
看下方的设备源, AVFoundation video devices
下是视频设备源头,分别是摄像头和屏幕捕捉。AVFoundation audio devices
下是音频设备源,第一个是刚刚安装的Soundflower,第二个是麦克风。这里我们选屏幕捕捉和Soundflower,记下对应序号1和0
正题
ffmpeg -y -f avfoundation -i 1:0 -framerate 60 -c:v libx264 -r 60 -pix_fmt yuv420p -preset 0 -crf 19 -c:a aac -b:a 192k "$HOME/Screen Record $(date "+%Y-%m-%d %H-%M-%S").mp4"
注意-i
后面的参数就是刚才需要记下的两个序号,录像需要停止的话按q
即可
别名
为了方便可以在你环境变量中添加一个别名,比如 rec_screen
,以后用这个就可以了,如果能看懂这写参数的话也可以自行DIY了
alias rec_screen="ffmpeg -y -f avfoundation -i 1:0 -framerate 60 -c:v libx264 -r 60 -pix_fmt yuv420p -preset 0 -crf 19 -c:a aac -b:a 192k \"$HOME/Screen Record $(date "+%Y-%m-%d %H-%M-%S").mp4\""