我需要从CentOS的源代码编译ffmpeg。目标是将MP3和WAV转换为FLAC。我尝试使用以下指南来编译ffmpeg:https://trac.ffmpeg.org/wiki/CompilationGuide/Centos 效果很好,但是花了大约20分钟并编译了很多不必要的东西,甚至以为我没有按照指南的建议使用下一个选项,而是使用了:
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="/opt/tmg/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I/opt/tmg/ffmpeg_build/include" \
--extra-ldflags="-L/opt/tmg/ffmpeg_build/lib" \
--extra-libs=-lpthread \
--extra-libs=-lm \
--bindir="/opt/tmg/ffmpeg_build/bin" \
--enable-gpl \
--enable-libfreetype
我的问题是将MP3和WAV转换为FLAC需要什么,我该如何编译该部分?
我在配置--disable-all
选项中找到了,但是我必须启用什么?
谢谢。
答案 0 :(得分:2)
使用:
./configure --disable-everything --disable-network --disable-autodetect --enable-decoder=mp3*,pcm* --enable-encoder=flac --enable-parser=mpegaudio --enable-demuxer=mp3,wav --enable-muxer=flac --enable-filter=aresample --enable-protocol=file
您没有提到需要支持封面/专辑封面,因此假设您不需要。确保您的编码命令使用-map 0:a
或-vn
或类似命令来忽略嵌入的图像。否则,您将不得不启用大量的东西来处理图像。
在配置期间,例如WARNING: Disabled mp3_at_decoder because not all dependencies are satisfied: audiotoolbox
,您可能会收到警告。这些可以忽略。
使用--disable-everything
代替--disable-all
,因为第二个选项会禁用太多并且更难使用(除非您知道自己在做什么并且愿意执行许多测试编译),原因是组件相互依赖关系的复杂性。