Когда я запускаю любую команду FFMPEG, выполнение занимает слишком много времени. Я использую команду FFMPEG для обратного видео, слияния аудио и видео, создания изображений GIF и изменения скорости видео. Подскажите, пожалуйста, как быстро запустить команду FFMPEG. Пожалуйста, помогите мне
Выполнение команды FFMPEG занимает слишком много времени в Android
Ответы (4)
добавьте приведенный ниже код в команду ffmpeg, чтобы немного увеличить скорость обработки
-c:v libx264 -preset ultrafast
для обрезки звука
int minutes = (int) Math.floor(start_sec / 1000 / 60);
int seconds =(int)Math.ceil(start_sec / 1000) - (minutes * 60);
int endSeconds=(int) ((end_sec / 1000) - (minutes * 60));
int duration=endSeconds-seconds;
Log.d("start_point_seconds",""+seconds);
Log.d("start minutes",""+minutes);
String[] complexCommand = {"-i", src + "", "-ss", "00:"+minutes+":"+seconds, "-t",""+duration ,"-acodec","copy","/storage/emulated/0/Music/"+app_name+"/music_" + number + ".mp3"};
вы должны использовать «-preset», «ultrafast» в вашей команде ffmpeg для ускорения времени выполнения, но это работает, только если видео длится менее 15 секунд, в противном случае это ускоряет время выполнения, но задерживает время запуска воспроизведения видео, и это может выглядеть как ваш звук и видео не совпало с кадрами
Время выполнения ffmpeg зависит от размера файла. так что большие файлы занимают много времени для преобразования, но это также зависит от того, какой тип операции вы выполняете.
Да, это очень медленно на устройствах Android. FFMPEG
на большинстве устройств Android нет аппаратной скорости. Это означает, что все вычисления выполняются в CPU
. Скорость выполнения команды FFMPEG
во многом зависит от скорости процессора устройства.
Для обработки аудио для видео с помощью FFMPEG
он должен обрабатывать данные по одной выборке за одной выборкой или один кадр за одним кадром.
Вы можете подумать о других решениях с аппаратным ускорением, например MediaCodec
, RenderScript
, Open GLES
, Open CL
, для ускорения интенсивных вычислений.
ffmpeg
и полученный в результате полный вывод/журнал консоли. - person llogan   schedule 23.01.2017