J'ai posté ceci sous forme de commentaires sous ce fil connexe . Cependant, ils semblent être passés inaperçus = (
J'ai utilisé
ffmpeg -i myfile.avi -f image2 image-%05d.bmp
pour scinder myfile.avi
en images stockées sous forme de fichiers .bmp
. Cela semblait marcher sauf pas tout à fait. Lors de l'enregistrement de ma vidéo, j'ai enregistré à un taux de 1000fps
et la vidéo s'est avérée être longue de 2min29sec
. Si mes calculs sont exacts, cela devrait représenter un total de 149 000 images pour l'ensemble de la vidéo. Cependant, quand j'ai couru
ffmpeg -i myfile.avi -f image2 image-%05d.bmp
Je n'ai obtenu que 4472 fichiers. Comment puis-je obtenir les images originales de 149k?
J'ai également essayé de convertir le taux de trame de mon AVI d'origine à 1000 images par seconde en faisant
ffmpeg -i myfile.avi -r 1000 otherfile.avi
mais cela n'a pas semblé régler mon problème.
ffmpeg -i myfile.avi -r 1000 -f image2 image-%07d.png
Je ne suis pas sûr que la sortie de fichiers 150k bmp sera une bonne idée. Peut-être que png est assez bon?
La première partie de vos calculs est bonne, les 2 minutes et 29 secondes équivalent à environ 149 secondes. Avec 1000 images par seconde, cela fait 149000 images. Cependant, votre nom de fichier de sortie n'a que 5 positions pour le nombre alors que 149000 en a 6, essayez donc "image-% 06d.bmp".
Ensuite, il y a la taille du disque: Est-ce que vos images tiennent sur le disque? Avec bmp chaque image utilise sa propre taille. Vous pouvez essayer d’utiliser des images jpeg, elles se compressent environ 10 fois mieux.
Une autre idée: si ffmpeg ne trouve pas une cadence (raisonnable), il tombe à 25 ou 30 images par seconde. Vous devrez peut-être le spécifier. Faites-le pour la source et la cible, consultez la page de manuel (man ffmpeg
sous unix):
To force the frame rate of the input file (valid for raw formats
only) to 1 fps and the frame rate of the output file to 24 fps:
ffmpeg -r 1 -i input.m2v -r 24 output.avi
Pour ce que ça vaut: J'utilise ffmpeg -y -i "video.mpg" -sameq "video.%04d.jpg"
pour scinder ma vidéo en images. Le -sameq force le jpeg dans une qualité raisonnable, le -y évite d'autoriser l'écrasement des questions. Pour vous:
ffmpeg -y -r 1000 -i "monfichier.avi" -sameq "image.% 06d.jpg"
Je pense qu’il ya une idée fausse ici: la sortie d’un système vidéo HS a peu de chances d’avoir une cadence de sortie de 1000 images par seconde, mais une valeur plutôt normale de 30 (ou 50/60) images par seconde. En plus de surcharger la plupart des lecteurs vidéo avec ce type de vitesse, il serait contre-productif de montrer la séquence à la même vitesse que celle enregistrée. Fondamentalement: une entrée à 1 seconde à 1 000 images par seconde correspond à 33 secondes à une sortie à 30 images par seconde.
La durée de la scène a-t-elle été réellement enregistrée, soit 2:29 min (ce qui a donné une vidéo ~ 82 min au débit normal) ou l'a pris environ 4,5 secondes (4472 images), ce qui correspond à 2:29 min en lecture normale?