Ускорить время обработки FFmpeg - PullRequest
0 голосов
/ 13 февраля 2020

Я использую FFmpeg для android, чтобы:

1 - объединить 3 видео

2 - добавить аудио

3 - добавить lo go

4 - обрезать одно из 3 видео

5 - изменить частоту кадров для вывода

Я реализовал правильный код, но это заняло 30 минут. для (120 кадров в секунду, 1:17 мин) видео. Я добавил флаг (-preset ultrafast) и время уменьшилось до 6 минут. Мне нужно время, чтобы быть короче, чем 6 минут. (2-3 мин). Это возможно? Есть ли лучшие альтернативы ffmpeg?

Это мой код для ffmpeg:

String command2 = "-y -i " + logo + " -i " + intro + " -ss " + start + " -t " + (end-start) +
            " -async 1 -i " + inputFile + " -i " + outro + " -i " + audio
            + " -filter_complex [0]scale=1280*0.15:-1,colorchannelmixer=aa=0.5[o];" +
            "[1]fifo[v1];[2]fifo[v2];[3]fifo[v3];" +
            "[v1][v2][v3]concat=3[v];" +
            "[v][o]overlay=5:5[o3]" +
            " -map [o3] -map 4:a" +
            " -r " + fps + " -shortest -preset ultrafast -threads 8 -cpu-used 3 -c:a copy " + outFile;

1 Ответ

0 голосов
/ 14 февраля 2020

Не используйте x264. Используйте аппаратно-ускоренный код c реализации. см .: https://trac.ffmpeg.org/wiki/HWAccelIntro

...