Редактирование видео на Android с помощью ffmpeg

Я использую библиотеку ffmpeg для редактирования видео, используя файл bin ffmed в своем коде Android. Все работает нормально, но когда я обрезаю видео и поворачиваю его, это занимает слишком много времени и обычно зависает.

Это метод, который я использую для обрезки видео.

 public void rotateAndCropClip(String in, String out,int rotate, ShellCallback callback) throws IOException, InterruptedException {
    ArrayList<String> cmd = new ArrayList<String>();
    cmd = new ArrayList<String>();

    cmd.add(mFfmpegBin);

    // Input file
    cmd.add("-i");
    cmd.add(in);
    cmd.add("-vf");

    if(rotate == 1){
        cmd.add("crop=360:480:0:0,transpose="+rotate);
    }else{
        cmd.add("transpose="+rotate+",crop=480:360:0:0");
    }

    cmd.add("-preset");
    cmd.add("ultrafast");
    cmd.add("-c:a");
    cmd.add("copy");

    // Output file
    cmd.add(out);
    execFFMPEG(cmd, callback);
}

Можно ли каким-либо образом прекратить зависание моего приложения и ускорить обработку или любой другой способ/библиотеку для обрезки видео?


person Umair Shaikh    schedule 04.06.2015    source источник


Ответы (1)


Ну вот как это работает!

Поскольку вы уже используете

cmd.add("-preset");
cmd.add("ultrafast");

это все еще лучше, чем другие
Я рекомендовал вам использовать....

  cmd.add("-threads");
  cmd.add("5");  

FFMPEG будет работать медленно, но это повысит производительность.
Надеюсь, это поможет :)

person Salmaan    schedule 04.06.2015
comment
Есть ли учебник по интеграции ffmpeg в студию Android? - person Muhammad Umair Shafique; 18.12.2015
comment
С последней версией Android Studio ndk.Ndk происходит исключение амортизации - person Muhammad Umair Shafique; 18.12.2015