mac环境安装ffmpeg可以使用brew安装,
首先需要安装下brew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
接着就可以使用brew安装ffmpeg了
brew install ffmpeg
安装完成后,启动一下
ffmpeg
看到
说明安装成功了
接下来就可以试试添加字幕了
ffmpeg -i test.mp4 -vf drawtext="fontfile=lst.ttf:textfile=text.txt:x=20+t*100:y=20:fontcolor=white:fontsize=30" -t 100 test1.mp4
然而此时却报错,
No such filter: 'drawtext' Error reinitializing filters! Failed to inject frame into filter network: Invalid argument Error while processing the decoded data for stream #0:0
查找了一下资料,据说是缺少freetype这个库,
于是我就又安装了
brew install freetype
安装完freetype
接着使用命令:brew info ffmpeg
这下看到freetype 打勾了,继续尝试添加字幕,然后还是同样的错,大概是freetype有没有编译进去
于是我又尝试
brew reinstall ffmpeg --with-freetype
重新按需重装之后,再次尝试添加字幕总算是可以了
使用ffplay的话需要加上--with-sdl2,一开始我看其他资料都是说--with-ffplay但是加了之后一直使用不了,后来查看资料发现新版本ffplay依赖于sdl2,需要加上--with-sdl2才可以使用ffplay
自己电脑测试可以把所有库都编译进去,完整命令如下,这样就不会老是缺少某个包
brew install ffmpeg --with-sdl2 --with-fdk-aac --with-fontconfig --with-frei0r --with-game-music-emu --with-libass --with-libbs2b --with-libcaca --with-libgsm --with-libmodplug --with-librsvg --with-libsoxr --with-libssh --with-libvidstab --with-libvorbis --with-libvpx --with-opencore-amr --with-openh264 --with-openjpeg --with-openssl --with-opus --with-rtmpdump --with-rubberband --with-sdl2 --with-snapp --with-speex --with-srt --with-tesseract --with-theora --with-tools --with-two-lame --with-wavpack --with-webp --with-x265 --with-xz --with-zeromq --with-zimg --with-chromaprint --with-libbluray --with-snappy --with-freetype