Ero di fronte a questo stesso problema e il mio problema era: stavo chiamando il metodo di esecuzione nel modo sbagliato. L'array di stringhe stavo passando era qualcosa di simile a questo:
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" };
Il modo corretto per creare questa serie, però, è quella di dividere il comando nelle stringhe separate:
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"};
e quindi chiamare eseguire:
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) {
}
ho trovato questa soluzione al commento di un lauffenp su questo tema: https://github.com/WritingMinds/ffmpeg-android-java/issues/88
fonte
2016-05-06 22:02:03
qualsiasi fortuna con quello? Anch'io sto affrontando questo problema. –
No. Penso che il problema sia la build che stiamo usando. Prova e crea la tua nuova versione di FFMpeg. Costruiscilo con le giuste caratteristiche. Penso che la build che stiamo usando non abbia le cose giuste al suo interno. Ho finito per abbandonare FFMpeg, ha aumentato le dimensioni della mia app troppo ed è stato lento. –
Vedo. Credo di aver trovato la soluzione per questo problema, pubblicato come risposta =) –