2017-04-22 47 views
0

在我的情况下,我想用ffmpeg-android git回购为android编译ffmpeg。为了理解我的问题,您应该了解构建ffmpeg的基础知识。 我只能使用音频文件,但这个问题可能会让您在其他情况下出现问题。 我修改了FFmpeg的./configure命令以避免gpl的使用,并修改了(重要的--disable-everything编译FFmpeg没有ALMOST的一切

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

但我有一些问题。

而且因为我不得不寻找数天寻找多种解决方案,我不得不结合起来,我开始这个问答& A.

回答

0

我加入到运行./configure:

--enable-filter=amix, aresample

规则1

你应该了解一下最neccessary过滤器。在我的情况下,我还需要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库: MP3文件使用--enable-libmp3lame 在网上搜索更多信息。

第5

如果你想结合具有良好品质的音频低质量的音频文件,文件的输出可能成为低质量的音频文件作为坏。您应该在使用ffmpeg时指定比特率。搜索互联网了解更多信息。

第6

搜索互联网。您可能不会在几秒钟内找到解决方案,但如果您不停止,您可能会找到解决方案。检查编译控制台输出,并检查你想要的每个解码器和编码器是否真的在那里。 FFmpeg提供了这些信息。也许你使用了一个错误的名称作为与编码器名称不同的文件格式。或者,编码器的名称不同于解码器。 ./confige --list-demuxers

第7条 你可以通过调用

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

例得到所有支持的编码器和解码器和muxers等的列表