【问题标题】:Ffmpeg Android - Minimum binary size to convert WAV to MP3Ffmpeg Android - 将 WAV 转换为 MP3 的最小二进制大小
【发布时间】:2021-03-04 16:32:09
【问题描述】:

我唯一想做的就是在我的 Android 应用程序中将 wav 文件转换为 mp3。

我目前正在使用https://github.com/tanersener/mobile-ffmpeg,并且通过音频发布一切正常。由于库大小约为 40 MB,而我只需要一个命令,因此我想按照 Wiki 中的说明构建自己的 .aar 文件以减小应用程序大小。

我编辑了android-ffmpeh.sh ./configure:

--disable-everything \    
--enable-pthreads \
--enable-avcodec \
--enable-avformat \
--enable-swresample \
--enable-avfilter \
--enable-libmp3lame \
--enable-parser=mpegaudio \
--enable-demuxer=mp3,wav,pcm_s16le \
--enable-muxer=mp3,wav,pcm_s16le \
--enable-decoder=pcm*,mp3*,wav,pcm_s16le \
--enable-encoder=pcm*,pcm_s16le,wav,mp3,libmp3lame \
--enable-filter=aresample \
--enable-protocol=file \

然后跑./android.sh -l --enable-lame --enable-libiconv

在我的 Android 应用中,FFmpeg 加载但转换不成功,出现以下错误:

E/mobile-ffmpeg: [AVFilterGraph @ 0x7209dfec40] No such filter: 'anull'
E/mobile-ffmpeg: Error reinitializing filters!
E/mobile-ffmpeg: Failed to inject frame into filter network: Invalid argument
E/mobile-ffmpeg: Error while processing the decoded data for stream #0:0
I/mobile-ffmpeg: Conversion failed!

有谁知道我缺少什么或其他配置来为此构建最小大小的二进制文件。 非常感谢任何帮助!

【问题讨论】:

  • 启用以下过滤器:aformat anull atrim format hflip null transpose trim vflip
  • @Gyan 非常感谢,现在可以使用了!

标签: android ffmpeg android-ffmpeg lame mobile-ffmpeg


【解决方案1】:

ffmpeg 工具可以自动调用以下过滤器:aformat anull atrim format hflip null transpose trim vflipconfigure 设置为自动选择它们,除非被覆盖,您可以通过声明 --disable-everything 来覆盖它们。因此,需要手动启用这些过滤器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 2014-12-04
    • 2019-03-11
    • 2017-07-06
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多