2015-06-04 2 views
0

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

Это метод, который я вызываю для обрезки видео.

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); 
} 

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

ответ

0

Хорошо, вот как это работает!

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

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

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

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

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

+0

Есть ли учебное пособие по интеграции ffmpeg в андроид-студию? –

+0

С последней причиной исключения амортизации студии ndk.Ndk –