Linux 编译用于mp3/wav到flac转换的自定义FFMPEG

Linux 编译用于mp3/wav到flac转换的自定义FFMPEG,linux,ffmpeg,compilation,centos,Linux,Ffmpeg,Compilation,Centos,我需要从CentOS的源代码编译ffmpeg。目标是将MP3和WAV转换为FLAC。我尝试使用以下指南编译ffmpeg: 它工作得很好,但花了大约20分钟,编译了一些不必要的东西,甚至认为我并没有按照指南中的建议使用下一个选项,而是使用了: PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \ --prefix="/opt/tmg/ffmpeg_build" \ --pkg-

我需要从CentOS的源代码编译ffmpeg。目标是将MP3和WAV转换为FLAC。我尝试使用以下指南编译ffmpeg: 它工作得很好,但花了大约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需要什么?我如何编译这部分

我在配置
--禁用所有
选项中找到了,但是我必须启用什么

提前感谢。

使用:

./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
    或类似命令来忽略嵌入的图像。否则,您将不得不启用一堆东西来处理图像

  • 您可能会在配置过程中收到警告,例如
    警告:在解码器处禁用mp3\u,因为并非所有依赖项都得到满足:audiotoolbox
    。这些都可以忽略

  • 使用
    --禁用所有内容
    而不是
    --禁用所有内容
    ,因为第二个选项禁用的内容太多,并且由于组件间依赖关系的复杂性而更难使用(除非您知道自己在做什么并且愿意执行许多测试编译)


好的。因此,如果我想像这样将mp3添加到mp3拆分功能:
ffmpeg-I somefile.mp3-f segment-segment\u time 3-c复制出%03d.mp3
我必须这样更改配置:
/configure--disable everything--disable network--disable autodetect--enable decoder=mp3*,pcm*--enable encoder=flac--enable-libmp3lame--enable parser=mpegudio--enable demuxer=mp3,wav--enable muxer=flac,mp3--enable filter=aresample--enable protocol=file
@Arttu。您还需要启用段复用器。不需要
--enable-libmp3lame
,因为您正在进行流复制而不是编码<代码>/configure--禁用所有功能--禁用网络--禁用自动检测--启用解码器=mp3*,pcm*--启用编码器=flac--启用解析器=mpegaudio--启用解复用器=mp3,wav--启用复用器=flac,段,mp3--启用过滤器=aresample--启用协议=文件