Primera parte de mi pregunta:
Leí en la documentación de ffmpeg ( section 3.2 How do I encode single pictures into movies?
) lo siguiente:
Para codificar imágenes individuales en películas, ejecute el comando:
ffmpeg -f image2 -i img%d.jpg movie.mpg
Tenga en cuenta que `% d 'se reemplaza por el número de imagen: img% 03d.jpg significa la secuencia img001.jpg, img002.jpg, etc.
Mi pregunta es: ¿Quién está haciendo la traducción entre img%03d.jpg
y img001.jpg, img002.jpg, etc
? ¿Es la cáscara o ffmpeg?
Segunda parte:
Me gustaría pedirle a ffmpeg que codifique una secuencia de imágenes en un video. Sin embargo, mis secuencias a menudo comienzan con un índice diferente de 1 (por ejemplo, podemos llamarlo start_index
) y terminan en un índice al que podemos llamar end_index
. Además, la secuencia utiliza incrementos de valor increment
, por ejemplo:
img_0025.png, img_0030.png, img_0035.png, ... img_0100.png
donde start_index
era 25, end_index
era 100 y increment
era 5.
Me gustaría alimentar una secuencia de imágenes como la anterior para ffmpeg sin tener que cambiar el nombre de la secuencia primero. La documentación explica cómo hacer esto con enlaces simbólicos, pero me preguntaba si hay una manera de evitarlos por completo, tal vez usando el globbing avanzado en zsh.
while IFS= read -d $'\0' -r file ;do pnmcomp -align=center -valign=middle <(anytopnm "$file" 2>/devnull) done
el script deja de funcionar (es decir, obtengopipe: could not find codec parameters
). ¿Sabes por qué? ¿Necesitopnmscale
o deboppmmake
alimentarme necesariamenteffmpeg
conpnm
imágenes?avisynth
(un poderoso entorno de secuencias de comandos de video; avisynth es solo para Windows :( La razón principal por la que usé unnetpbm
formato es que seguía viendo publicaciones sobre problemas para alimentar jpegs a la tubería, así que simplemente elegí el camino de menor resistencia. La codificación de video será el paso que causará la pérdida de calidad, pero aumentar el tamaño del cuadro ayuda ... Supongo que tienes tus razones específicas para usar un video, pero una simple presentación de diapositivas puede funcionar para usted.Solo para la primera parte: es ffmpeg haciendo el trabajo. El shell no entiende la
%d
cadena como un patrón especial en los nombres de archivo.fuente