私はこの同じ問題に直面していました。問題は次のとおりです。私はexecuteメソッドを間違った方法で呼び出していました。その後、
final String[] cmd = new String[]{ "-i", "input.mp4", "strict", "-2", "-i", "overlay.jpg",
"-filter_complex", "[0:v][1:v]", "overlay=25:25:enable='between(t,0,4)'", "output.mp4"};
と実行を呼び出す:
final String[] cmd = new String[] { "-i input.mp4 strict -2 -i overlay.jpg -filter_complex [0:v][1:v] overlay=25:25:enable='between(t,0,4)' output.mp4" };
この配列を作成するための正しい方法は、しかし、別の文字列でコマンドを分割することです:
私が渡した文字列配列は、このようなものでした
try {
final FFmpeg ffmpeg = FFmpeg.getInstance(context);
ffmpeg.execute(cmd, new FFmpegExecuteResponseHandler() {
@Override
public void onSuccess(String message) {
}
@Override
public void onProgress(String message) {
}
@Override
public void onFailure(String message) {
}
@Override
public void onStart() {
}
@Override
public void onFinish() {
}
});
} catch (FFmpegCommandAlreadyRunningException e) {
}
私は、この問題に関するlauffenpさんのコメントに、この解決策を見つけた:https://github.com/WritingMinds/ffmpeg-android-java/issues/88
任意のそれと運がいい?私もこの問題に直面しています。 –
問題は私たちが使っているビルドだと思います。 FFmpegの独自の新しいバージョンを試してみてください。適切な機能で構築してください。私が使っているビルドには正しいものがないと思う。私はFFMpegを放棄した、それは私のアプリのサイズの方法をあまりにも増加し、遅いでした。 –
私は参照してください。答えとして投稿されたこの問題の解決策を見つけたと思う=) –