アプリでビデオを変換していますが、FFmpeg ライブラリを使用して取得しました。私は FFmpeg の静的にコンパイルされたバージョンを使用しており、次のようにコマンドを実行します。
//Conversion video
try {
Process p = Runtime.getRuntime().exec("data/data/package/cache/ffmpeg -i " path " -g " String.valueOf(keyFrames) " -s 720x480 -vcodec libx264 -an -y /sdcard/lowResolution.mp4");
p.waitFor();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d(TAG, "Video convertido");
うまく機能しますが、時間がかかりすぎるので、プログレスバーを配置したいので、プロセスの出力イベント (ターミナルでコマンドを実行したときに表示されるのと同じ出力) を読み取る必要があります。どれくらいの時間がかかるか、またはそのようなことを知っています。
私の英語で申し訳ありませんが、助けてくれてありがとう!!