mac安裝ffmpeg遇到的坑
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