ubuntu - avconv windows
avconv: crea un video de un subconjunto de imágenes (3)
Estoy tratando de hacer un montón de png''s en un video usando avconv, los png''s están numerados como filename_<number>
así que solo uso el comando:
avconv -r 10 -i filename_%d.png -b:v 1000k test.mp4
Ahora quiero hacer un video de un subconjunto de los archivos filename_8
- filename_50
digamos, así que he copiado estos archivos en un nuevo directorio y he intentado con el mismo comando, pero ahora recibo el error:
filename_%d.png: No such file or directory
Supongo que esto se debe a que la numeración no comienza desde 1?
¿Cómo puedo conseguir esto?
Mira esto; de acuerdo con ffmpeg así es como lo hacen y funciona
- Primero, cambie el nombre de sus imágenes para seguir una secuencia numérica. Por ejemplo:
img1.jpg, img2.jpg, img3.jpg, ...
Entonces puedes correr:
ffmpeg -f image2 -i img%d.jpg /tmp/a.mpg
Observe que
%d
se reemplaza por el número de imagen.img%03d.jpg
significa la secuenciaimg001.jpg
,img002.jpg
, etc.Use la opción ''-start_number'' para declarar un número inicial para la secuencia. Esto es útil si su secuencia no comienza con
img001.jpg
sino que sigue en orden numérico. El siguiente ejemplo comenzará conimg100.jpg
:ffmpeg -f image2 -start_number 100 -i img%d.jpg /tmp/a.mpg
Si tiene una gran cantidad de imágenes para cambiar el nombre, puede usar el siguiente comando para aliviar la carga. El comando, utilizando la sintaxis de bourne shell, vincula simbólicamente todos los archivos en el directorio actual que coinciden con * jpg al directorio
/tmp
en la secuencia deimg001.jpg
,img002.jpg
y así sucesivamente.x=1; for i in *jpg; do counter=$(printf %03d $x); ln -s "$i" /tmp/img"$counter".jpg; x=$(($x+1));
Puede concatenar los archivos con cat y luego usar el demuxer image2pipe para leerlos en avconv. Como el cat filename* | avconv -f image2pipe -i - ...
cat filename* | avconv -f image2pipe -i - ...
avconv -r 10 -start_number 8 -i filename_%d.png -b:v 1000k test.mp4
Necesitará una versión 9.x reciente de avconv para la opción -start_number
; no está en la versión 0.8.x. Alternativamente, puede usar una versión reciente de ffmpeg . O cambie el nombre de los archivos para comenzar con un número entre 0 y 4, ya que buscará esos nombres de forma predeterminada.