Eu estou tentando criar um arquivo de vídeo a partir de um conjunto de imagens JPG. Eu adaptei as instruções dadas em esta questão mas tenho experimentado alguns problemas.
Em primeiro lugar, nem todos os pacotes necessários estão disponíveis, mas são substituídos pelo libav-tools, que já está instalado - por isso acho que não é um problema real?
Meus arquivos são nomeados image-NN.jpg
(sendo NN um inteiro) e eu usei o comando
avconv -i "image-%d.jpg" -r 25 -c:v libx264 -crf 20 -pix_fmt yuv420p movie.mov
de acordo com a pergunta vinculada, mas isso apenas gera um erro No such file image-%d.jpg
. Eu
Eu tentei alterá-lo para
avconv -i "image-*.jpg" -r 25 -c:v libx264 -crf 20 -pix_fmt yuv420p movie.mov
e isso produz um arquivo de vídeo de tamanho 0:00 que parece conter apenas um quadro. (Eu estou supondo que o *
usou a primeira partida, em vez de cada partida).
Esta questão dá uma maneira ligeiramente diferente de formatar o nome do arquivo, então eu tentei
avconv -i "image-%02d.jpg" -r 25 -c:v libx264 -crf 20 -pix_fmt yuv420p movie.mov
Isso produz um arquivo maior e faz um vídeo que dura cerca de 3 segundos (aproximadamente o comprimento que eu esperava), mas contém apenas o primeiro quadro.
Outra resposta na primeira pergunta vinculada sugere o uso do ImageMagick, por isso experimentei
convert -delay 1 image-*.jpg output.mp4
Mas isso produziu um erro
convert.im6: delegate failed '"ffmpeg" -v -1 -mbd rd -trellis 2 -cmp 2 -subcmp 2 -g 300 -i "%M%%d.jpg" "%u.%m" 2> "%Z"' @ error/delegate.c/InvokeDelegate/1065.
A versão do avconv é
carl@number1 ~/Scott's stop-motion/1 $ avconv -version
avconv version 9.18-6:9.18-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers
built on Mar 16 2015 13:19:10 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
avconv 9.18-6:9.18-0ubuntu0.14.04.1
libavutil 52. 3. 0 / 52. 3. 0
libavcodec 54. 35. 0 / 54. 35. 0
libavformat 54. 20. 4 / 54. 20. 4
libavdevice 53. 2. 0 / 53. 2. 0
libavfilter 3. 3. 0 / 3. 3. 0
libavresample 1. 0. 1 / 1. 0. 1
libswscale 2. 1. 1 / 2. 1. 1
Onde estou indo errado e o que preciso fazer?
Adicional:
Foi sugerido que eu listasse cada arquivo individualmente, então, com um pouco de Python, eu o criei
avconv -i image-01.jpg image-02.jpg image-03.jpg image-04.jpg image-05.jpg image-06.jpg image-07.jpg image-08.jpg image-09.jpg image-10.jpg image-11.jpg image-12.jpg image-13.jpg image-14.jpg image-15.jpg image-16.jpg image-17.jpg image-18.jpg image-19.jpg image-20.jpg image-21.jpg image-22.jpg image-23.jpg image-24.jpg image-25.jpg image-26.jpg image-27.jpg image-28.jpg image-29.jpg image-30.jpg image-31.jpg image-32.jpg image-33.jpg image-34.jpg image-35.jpg image-36.jpg image-37.jpg image-38.jpg image-39.jpg image-40.jpg image-41.jpg image-42.jpg image-43.jpg image-44.jpg image-45.jpg image-46.jpg image-47.jpg image-48.jpg image-49.jpg image-50.jpg image-51.jpg image-52.jpg image-53.jpg image-54.jpg image-55.jpg image-56.jpg image-57.jpg image-58.jpg image-59.jpg image-60.jpg image-61.jpg image-62.jpg image-63.jpg image-64.jpg image-65.jpg image-66.jpg image-67.jpg image-68.jpg image-69.jpg image-70.jpg image-71.jpg image-72.jpg image-73.jpg image-74.jpg image-75.jpg image-76.jpg image-77.jpg image-78.jpg image-79.jpg image-80.jpg image-81.jpg image-82.jpg image-83.jpg image-84.jpg image-85.jpg image-86.jpg image-87.jpg image-88.jpg -r 25 -c:v libx264 -crf 20 -pix_fmt yuv420p movie.mov
Isso teve o mesmo efeito que o anterior - apenas o primeiro quadro é usado.
Adicional: Esta questão foi sugerida como uma possível duplicata, mas se refere à aquisição de imagens usando uma webcam conectada a um PC. Este não é o problema que estou tendo. Eu já tenho as fotos; eles foram tirados com uma câmera digital comum.