环境: macos m1 , python3.10.x
背景
做视频切片, 使用moviepy 中VideoFileClip进行截取视频。 报错:
Unknown encoder 'libmp3lame'The audio export failed because FFMPEG didn't find the specified codec for audio encoding (libmp3lame). Please install this codec or change the codec when calling to_videofile or to_audiofile. For instance for mp3:
解决思路
该问题表示, FFMPEG 没有关联上 libmp3lame。
一般解决思路:
1、安装lame
下载 lame-3.99.5.tar.gz , 然后安装
cd lame
./configure
make
make install
但是我在该步骤中出现错误:
checking build system type... configure: error: /bin/sh ./config.sub -apple-darwin22.3.0 failed
configure: WARNING: cache variable ac_cv_build contains a newline
看了半天, 没搞定。
2、安装ffmpeg
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg./configure --enable-libmp3lame
make
make install
ffmpeg -version
configure时需要添加 --enable-libmp3lame
由于我在第一步就卡住了。该方法不适合我。
后来采用以下方法解决:
brew install lame
brew install ffmpeg
ffmpeg -version
结果如下图:
brew link --overwrite ffmpeg
ffmpeg -version
可以看到前后ffmpeg中configuration变化, 后者已经跟–enable-libmp3lame 关联了。
参考:
https://gist.github.com/zlargon/2a115e918bc17c05f4abb2f07976b4fe
https://stackoverflow.com/questions/53370739/error-audio-conversion-failed-unknown-encoder-libmp3lame