Более быстрый экспорт изображений с помощью ffmpeg

Более быстрый экспорт изображений с помощью ffmpeg

В моем приложении пользователь может перейти к определенной позиции (media.currentPosition), затем нажать кнопку сохранения, после чего изображение будет экспортировано. Вот команда ffmpeg, которую я использую для этого:

"-i",Video.mp4,"-filter_complex","[1:v][0:v]scale2ref=iw:ih[ovr][base];[ovr]colorchannelmixer=aa=0.7[ovrl];[base][ovrl]overlay[v]","-map","[v]","-ss",GetPositionInVideo,"-vframes","1","-q:v","2", "-preset", "ultrafast",directoryToStore+"/"+"Image.jpg"};

Это приложение для Android, поэтому оно находится в массиве строк. Команда работает отлично, НО ее выполнение занимает вечность.

В моем журнале это будет неоднократно отображаться:

[Progress]: frame=    0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed=   0x

пока не будет достигнут кадр, тогда он показывает это:

[Progress]: frame=    1 fps=0.0 q=2.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=0.00151x  

затем он мгновенно завершается.

Я думаю, что происходит следующее: ffmpeg обрабатывает каждый кадр, пока не достигнет нужного кадра, а затем обрабатывает его.


Мой вопрос:

Есть ли способ увеличить скорость/время обработки экспорта отдельного кадра из видео в изображение? - Возможно, пропуская ненужные кадры и переходя сразу к кадру, который пользователь хочет экспортировать?

решение1

"-ss",GetPositionInVideo,идет непосредственно перед "-i",Video.mp4быстрым поиском.

Связанный контент