ffmpeg - Crie um vídeo a partir do quadro da imagem com um começo e um corte

18

Crio um vídeo a partir do quadro da imagem e funciona muito bem. O problema é que não quero usar toda a imagem na minha pasta. Tenho 200 quadros na minha pasta, mas quero um vídeo de 1 a 100

Como posso especificar a contagem ou o final do quadro?

ffmpeg -start_number n -i test_% d.jpg -vcodec mpeg4 test.avi

Não consigo encontrar como

Obrigado!

DarkPixel
fonte
Não sei muito sobre esse programa, mas se ele estiver usando todas as imagens em uma pasta específica, por que não criar uma nova pasta e colocar apenas os 100 quadros que você deseja?
Philiphegreat
2
Que seja o meu "solução hack" se não posso fazer isso com ffmpeg :)
Darkpixel

Respostas:

29

Você faz isso informando o número de quadros que deseja:

-vframes 100  

Tão efetivamente é no seu caso:

ffmpeg -start_number 1 -i test_%d.jpg -vframes 100 -vcodec mpeg4 test.avi

Pode ser necessário especificar outros parâmetros, como pix_fmtetc, dependendo de outros fatores.

Além disso, geralmente se usa algo como test_%05d.jpgcom a sequência numerada com zeros e 5 dígitos anteriores. Se você não o tiver nesse formato, poderá ser necessário usar um padrão de globbing. Veja isso .

Rajib
fonte
3

Este é um código que sempre funciona bem para mim.

ffmpeg -i yourfile.mp4 -r 1 -ss 15 -t 16 -f image2 snapshot.jpg
                                ^     ^ 
                                ^     ^
                              start  end
                               time   time

o tempo é apenas em segundos. Se estiver 2 minutos à frente do rolo, será 120. Um arquivo de imagem sempre vale um segundo, portanto calcule sua imagem desejada por essa abordagem.

yourfile.mp4 = seu clipe de filme

snapshot.jpg = seu novo arquivo de imagem

IMPORTANTE: deixe a imagem2 em paz. É a única maneira de conseguir o que eu queria.

Faron
fonte
4
Eu aprecio esse comando, porque ele funciona com o antigo ffmpegque eu tenho que usar agora; a única coisa é que -tnão é "hora do fim", man ffmpegafirma que é "duração"; então o horário final seria início + duração. Felicidades!
Sdaau