Combinaison de plusieurs fichiers .bmp dans un fichier .mp4 avec ffmpeg

Aug 17 2020

Je veux combiner tous ces fichiers .bmp en un seul movie.mp4 J'utilise ffmpeg .

Cette commande produit un film de seulement 0,04 seconde:

$ ffmpeg -i f%05d.bmp -c:v libx264 -r 30 -pix_fmt yuv420p movie.mp4

Il devrait ramasser tous les fichiers non? Je ne sais pas ce que je fais de mal et je ne trouve pas de solution.

Cette commande que j'ai essayée à partir d' ici dit qu'elle ne peut pas trouver le fichier avec le chemin «f% 05d.bmp» même si la commande ci-dessus le peut?

$ ffmpeg -r 60 -f image2 -s 1920x1080 -start_number 1 -i f%05d.bmp -vframes 1759 -vcodec libx264 -crf 25  -pix_fmt yuv420p test.mp4

Réponses

2 Borek Aug 17 2020 at 02:47

Je pense que les fichiers doivent avoir des numéros consécutifs, sinon ils sont traités séparément (par conséquent, vous obtenez un film de 0,04 sec - une seule image). Il y a quelques jours, j'avais besoin de quelque chose de similaire (mais pas pour ffmpeg mais pour importer des fichiers dans DaVinci Resolve) et j'ai écrit un simple script python:

import os

filename="whatever{0:05d}.png"
destno = 1

for i in range(0, 10000):
   src = filename.format(i)
   if os.path.isfile(src):
      dst=filename.format(destno)
      destno+=1
      os.rename(src, dst)
      print "renamed {0:s} to {1:s}".format(src, dst)

Moche, mais a fonctionné.

WasifHasan Aug 17 2020 at 00:02

Peut-être que vous pourriez changer le globbing pour obtenir tous les fichiers .bmp:

ffmpeg -r 60 -f image2 -s 1920x1080 -start_number 1 -i %*.bmp -vframes 1759 -vcodec libx264 -crf 25  -pix_fmt yuv420p test.mp4