Exportación de imágenes más rápida con ffmpeg


3

En mi aplicación, el usuario puede buscar una posición específica (media.currentPosition), luego presionar el botón Guardar, la imagen se exportará, aquí está mi comando ffmpeg que estoy usando para lograr esto:

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

Es una aplicación de Android, por lo que es así en una matriz de cadenas. El comando funciona perfectamente PERO tarda una eternidad en completarse.

En mi registro mostrará esto repetidamente:

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

hasta que se alcanza el marco, entonces muestra esto:

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

luego termina instantáneamente.

Entonces, lo que creo que está sucediendo es que ffmpeg procesa cada fotograma hasta que alcanza el fotograma deseado y luego lo procesa.


Mi pregunta:

¿Hay alguna manera de aumentar la velocidad / tiempo de procesamiento de exportar un solo cuadro de un video a una imagen? - ¿Quizás omitiendo los cuadros no deseados e ir directamente al cuadro que el usuario quiere exportar?

Respuestas:


1

"-ss",GetPositionInVideo,va inmediatamente antes "-i",Video.mp4para la búsqueda rápida.


Tengo una pregunta más si no te importa, si quiero recortar un video, ¿también debería poner el -ssantes -i? ¿Y dónde debería -toestar entonces?
Clase A

@ClassA Poner -ssantes -iy -to después -i . Tenga en cuenta que la semántica de -to/ -tcambia según cómo lo busque. Ver aquí: trac.ffmpeg.org/wiki/Seeking#Notes
slhck

@slhck Lo intenté así, pero -topor alguna razón me ignoran. Estoy usando un video y una imagen como entrada. ¿Debo hacer una nueva pregunta?
Clase A

@ClassA Lo mejor es hacer una nueva pregunta y proporcionar la salida de línea de comandos completa y sin cortes.
slhck

@slhck aquí es la pregunta que hice - superuser.com/questions/1255807/...
claseA
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.