Хороший пример того, как использовать двоичный файл FFmpeg, скомпилированный для Android через CLI с использованием ProcessBuilder
, доступен здесь:
https://github.com/guardianproject/android-ffmpeg-java/blob/master/src/org/ffmpeg/android/FfmpegController.java
Обратите внимание на метод:
private int execProcess(String cmd, ShellCallback sc, File fileExec) throws IOException, InterruptedException {
ProcessBuilder pb = new ProcessBuilder(cmd);
pb.directory(fileExec);
Log.d(TAG,cmd);
// pb.redirectErrorStream(true);
Process process = pb.start();
// any error message?
StreamGobbler errorGobbler = new
StreamGobbler(process.getErrorStream(), "ERROR", sc);
// any output?
StreamGobbler outputGobbler = new
StreamGobbler(process.getInputStream(), "OUTPUT", sc);
// kick them off
errorGobbler.start();
outputGobbler.start();
int exitVal = process.waitFor();
sc.processComplete(exitVal);
return exitVal;
}