I'm trying to execute a two-pass encoding with compiled ffmpeg library in android.
I'm running my app on a device that is not rooted. So after executing below commands I get :
Cannot write log file 'ffmpeg2pass-0.log' for pass-1 encoding: Read-only file system
List<String> testEncodeList = new LinkedList<>();
testEncodeList.add("-i");
testEncodeList.add(inputPath);
testEncodeList.add("-pass");
testEncodeList.add("1");
testEncodeList.add("-f");
testEncodeList.add("null");
testEncodeList.add("-");
// cmd.add("/dev/null");
runSingleFFmpegTask(this, testEncodeList, new ExecuteBinaryResponseHandler() {
@Override
public void onSuccess(String message) {
super.onSuccess(message);
SRLog.i("FFMPEG_PASS1:" + "onSuccess" + "\n" + message);
List<String> cmd = new LinkedList<>();
cmd.add("-i");
cmd.add(inputPath);
cmd.add("-pass");
cmd.add("2");
cmd.add(generateOutput(MP4_FORMAT));
runSingleFFmpegTask(AudioComp.this, cmd, new ExecuteBinaryResponseHandler() {
@Override
public void onSuccess(String message) {
super.onSuccess(message);
SRLog.i("FFMPEG_PASS2:" + "onSuccess" + "\n" + message);
}
@Override
public void onFailure(String message) {
super.onFailure(message);
SRLog.i("FFMPEG_PASS2:" + "onFailure" + "\n" + message);
}
});
}
@Override
public void onFailure(String message) {
super.onFailure(message);
SRLog.i("FFMPEG_PASS1:" + "onFailure" + "\n" + message);
}
});
Can I force log file 'ffmpeg2pass-0.log'
be written in a custom path where a non-rooted device could access?