我想开发一个Android应用程序,它将所有视频格式的文件转换为所有音频格式的文件。问题是 - 解码视频格式文件以完成任务的最佳方法是什么?
答案 0 :(得分:0)
如果您的意思是从视频中提取音轨/流并单独保存,那么ffmpeg将允许您这样做。
在Android中有很多种方法可以使用ffmpeg - 使用包装器是我觉得最方便的方式,因为它允许你使用标准的命令行语法。
以下包装器是Android上ffmpeg的常用包装器:
这个ffmpeg语法允许你从视频文件中提取音频(在这种情况下为mp4):
ffmpeg -i input.mp4 -c:副本-vn -sn output.m4a
使用上面的包装器,利用他们网站上的示例,您将使用以下代码:
FFmpeg ffmpeg = FFmpeg.getInstance(context);
try {
//Set the ffmpeg syntax you want to execute
cmd = "-i input.mp4 -c:a copy -vn -sn output.m4a";
ffmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {
@Override
public void onStart() {}
@Override
public void onProgress(String message) {}
@Override
public void onFailure(String message) {}
@Override
public void onSuccess(String message) {}
@Override
public void onFinish() {}
});
} catch (FFmpegCommandAlreadyRunningException e) {
// Handle if FFmpeg is already running
}