Exportação de imagem mais rápida com ffmpeg

3

No meu aplicativo, o usuário pode procurar uma posição específica (media.currentPosition), pressionar o botão salvar, a imagem será exportada, aqui está o meu comando ffmpeg que estou usando para conseguir isso:

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

É uma aplicação android, então é assim que está em um array de strings. O comando funciona perfeitamente, mas demora uma eternidade para concluir.

No meu log, isso será mostrado repetidamente:

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

até que o quadro seja alcançado, então isso mostra:

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

então instantaneamente termina.

Então, o que eu acho que está acontecendo é que o ffmpeg processa cada quadro até atingir o quadro desejado e, em seguida, processa-o.

Minha pergunta:

Existe uma maneira de aumentar a velocidade / tempo de processamento da exportação de um único quadro de um vídeo para uma imagem? - Talvez pulando os quadros indesejados e indo diretamente para o quadro que o usuário deseja exportar?

    
por ClassA 03.10.2017 / 13:49

1 resposta

1

"-ss",GetPositionInVideo, vai imediatamente antes de "-i",Video.mp4 para busca rápida.

    
por 03.10.2017 / 14:25

Tags