Crear un video a partir de una sola imagen para una duración específica en ffmpeg

86

¿Cómo genero una película usando ffmpeg usando una sola imagen (image1.png) por una duración de 15 segundos con una resolución específica para que cuando reproduzca el video, la imagen aparezca en la pantalla durante 15 segundos?

Dharmesh
fuente

Respuestas:

128
ffmpeg -loop 1 -i image.png -c:v libx264 -t 15 -pix_fmt yuv420p -vf scale=320:240 out.mp4
  • El -t 15 hace que dure 15 segundos.
  • La escala -vf = 320: 240 establece el ancho / alto.

Asegúrese de utilizar una versión ffmpeg real, por ejemplo, http://johnvansickle.com/ffmpeg/

Equanox
fuente
1
Unable to find a suitable output format for 'scale=1280:1024' scale=1280:1024: Invalid argument¿Alguna idea de por qué?
Agey
1
@Equanox Tuve el mismo problema, pero fue causado por el signo "\" al copiar y pegar. Eliminarlo resuelve el problema.
user1319182
3
Responde a la pregunta, pero no me gusta el uso de todas esas adiciones redundantes en el comando.
joey
15
@joey Me tampoco, sobre todo porque OP no pidió nada específico. ¿Quieres hacer un video a partir de una sola foto y no te importan los detalles? ffmpeg -loop 1 -i image.png -t 5 out.mp4
Doe Johnson
3
Esto es genial, pero ... toma una eternidad y derrite mi CPU para generar un video de 40 minutos basado en una sola imagen PNG de 720p. ¿Hay alguna forma de acelerarlo? La compresión no importa siempre que se mantenga por debajo de un par de GB.
HunterZ