我正在尝试将MP3音频文件混合到MP4视频中。 经过几个小时的搜索,我得出结论,我需要将MP3文件转换为适合MP4容器的AAC格式。
但我找不到任何关于如何将MP3文件转换为AAC格式的文档。 那么您对如何将MP3音频转换为AAC音频有任何建议吗?
另外,我需要在最终视频中的特定时间插入几个音频。
答案 0 :(得分:2)
您可以尝试使用mp4parser对mp4进行一些多路复用,有些人(从github repo“问题”部分看到)正在使用它来复用mp3和mp4。
你得到的另一个选择是使用FFmpeg,无论是编译自己还是使用预制的东西,我都使用this。 它自己的库有点笨重,而且你可能需要一些游戏才能获得FFmpeg命令,以获得最佳质量和多路复用速度。
它看起来像这样:
try {
FFmpeg ffmpeg = FFmpeg.getInstance(this);
String cmd = "-i " + videoFilePath + " -i " + audioFilePath + " -shortest -threads 0 -preset ultrafast -strict -2 " + outputFilePath
ffmpeg.execute(cmd, mergeListener);
} catch (FFmpegCommandAlreadyRunningException e) {
e.printStackTrace();
}
听众:
ExecuteBinaryResponseHandler mergeListener = new ExecuteBinaryResponseHandler() {
@Override
public void onStart() {
//started
}
@Override
public void onFailure(String message) {
//failed
}
@Override
public void onFinish() {
File output = new File(outputFilePath);
//Do whatever with your muxed file
}
};