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

그것은 안드로이드 애플리케이션이므로 문자열 배열에 있습니다. 명령은 완벽하게 작동하지만 완료하는 데 시간이 오래 걸립니다.

내 로그에는 다음이 반복적으로 표시됩니다.

[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빠른 탐색을 위해 바로 직전에 갑니다 .

관련 정보