2011-04-07 3 views
5

J'écris une application python/django et il faut faire de la manipulation d'image, puis combiner les images dans une vidéo (chaque image est une image). La manipulation d'image est facile. J'utilise PIL, mais pour la conversion en vidéo, je suis bloqué. J'ai trouvé pyffmpeg mais cela semble juste faire le décodage des vidéos aux cadres, pas l'inverse. Bien que j'ai peut-être manqué quelque chose. J'ai également entendu dire que pythonMagick (imagemagick wrapper) peut le faire, mais je n'arrive pas à trouver quoi que ce soit à propos de l'encodage dans les docs.Python images d'image à la vidéo

Ceci fonctionne sur un serveur linux et doit être python (puisque c'est dans cette application).

Que dois-je utiliser?

Répondre

5

Utilisez la liaison OpenCV et python. Il y a cv.WriteFrame fonction. Similar question and answer

+0

Eh bien, je configure une prime pour cette question sans regarder à fond les réponses. Quand j'ai fait une vérification rapide d'OpenCV, je pensais que c'était pour analyser les images et non pour créer des vidéos. J'ai fait un test avec un code similaire à la réponse liée et j'ai créé une vidéo très facilement. –

2

Vous pouvez utiliser Popen uniquement pour exécuter ffmpeg dans un sous-processus.

1

d'abord installer ffmpeg en utilisant la commande suivante: sudo apt install ffmpeg

import os 
os.system("ffmpeg -f image2 -r 1/5 -i ./images/swissGenevaLake%01d.jpg -vcodec mpeg4 -y ./videos/swissGenevaLake.mp4") 

Détails:

Le code ci-dessus crée une vidéo à partir du fichier trois images, stockées dans le dossier images. Chaque image est lue pendant 5 secondes dans la vidéo (à cause de l'argument: -r 1/5). Les trois noms de fichiers sont: "swissGenevaLake1.jpg", "swissGenevaLake2.jpg" et "swissGenevaLake3.jpg" dans le dossier images.

Espérons que cela aide.

Questions connexes