在没有ALMOST的情况下编译FFmpeg

时间:2017-04-22 17:55:52

标签: android linux gcc ffmpeg compiler-errors

在我的情况下,我想使用ffmpeg-android git repo为android编译ffmpeg。要了解我的问题,您应该了解构建ffmpeg的基础知识。 我只使用音频文件,但这个问题可能会给你在其他问题的情况下开始。  我修改了FFmpeg的./configure命令以避免使用gpl并使用(重要--disable-everything

这会禁用所有内容。我需要覆盖两个音频文件。

但我遇到了一些问题。

因为我必须花几天时间寻找我必须结合的许多解决方案,所以我开始了这个Q& A.

1 个答案:

答案 0 :(得分:1)

我添加到./configure:

--enable-filter=amix, aresample

规则1

您应该了解最需要的过滤器。在我的情况下,我也需要aresample来编写输出文件。

<强>规则2

确保您要使用的格式。 在我的情况下,我想处理和/或输出MP3和aac文件。 通过在互联网上搜索您的意愿来告知自己。 好的搜索字词:ffmpeg {aac, mp3, etc.} encoder .||. decoder .||. muxer .||. demuxer

对于aac,我需要--enable-muxer=adts--enable-dexmuxer=adts,aac以及--enable-bsf=adtstoasc

<强>规则3

启用给定输入文件的协议(uri方案)。如果要使用/media/audios/myAudio.mp3中的输入,则必须添加文件协议:--enable-protocol=file

规则4

Addititional libraries: 对于mp3文件,使用--enable-libmp3lame 在互联网上搜索更多信息。

规则5

如果要将低质量音频文件与高质量音频文件组合在一起,输出可能会变得与低质量音频文件一样糟糕。您应该在使用ffmpeg时指定比特率。在互联网上搜索更多信息。

规则6

搜索互联网。您可能无法在几秒钟内找到解决方案,但如果您不停止,您可能会找到解决方案。检查编译控制台输出,检查您想要的每个解码器和编码器是否真的存在。 FFmpeg提供此信息。也许您使用了错误的名称来获得与编码器名称不同的文件格式。或者编码器的名称不是解码器。

规则7 您可以通过调用

获取所有支持的编码器和解码器以及复用器等的列表

./configure --list-{what you want to list in plural}

示例:./confige --list-demuxers