Je veux créer un timelapse à partir d'une collection d'images, sous Ubuntu. J'aimerais faire des vidéos HD et idéalement ajouter une bande son.
Je veux créer un timelapse à partir d'une collection d'images, sous Ubuntu. J'aimerais faire des vidéos HD et idéalement ajouter une bande son.
Réponses:
Ffmpeg le fera. Si vous avez des images img001.jpg, img002.jpg, img003.jpg, ...
, faites en ligne de commande:
ffmpeg -i img*.jpg output.mpeg
D'autres options sont disponibles dans les ffmpeg --help
pages de manuel ou sur le Web. Ceux-ci permettent de contrôler la fréquence d'images et le format de sortie.
.jpg
fichiers comme le fichier de sortie. Je reçois File 'DSCF6134.JPG' already exists. Overwrite ? [y/N]
- pas si bien. Ma solution était de générer une liste de fichiers avec \ls *.JPG | sed "s/^/file '/;s/$/'/" > files.txt
puis de la charger avec ffmpeg -f concat -i files.txt output.mpeg
.
ffmpeg -pattern_type glob -i "picture*.jpg" output.mpeg
Nous renommons d'abord tous les fichiers * .JPG en fonction de leur date de création. Parfois, les caméras changent le nom du fichier ou simplement les commander n'est pas ce que nous voulons. Cependant, les renommer par la date de création fonctionne toujours:
jhead -n%Y%m%d-%H%M%S *.JPG
Après cela, nous mettons cette liste dans un fichier:
ls -1tr | grep -v files.txt > files.txt
Et puis utilisez mencoder
pour créer une AVI
vidéo en utilisant 20 ips. Notez que cela générera un énorme fichier vidéo, généralement autour de la même taille de toutes les images résumées.
mencoder -nosound -noskip -oac copy -ovc copy -o output.avi -mf fps=20 'mf://@files.txt'
Je prends généralement des photos en accéléré avec la résolution la plus basse de mon appareil photo (5 MP), qui a un rapport aspec de 4: 3. Pour générer une vidéo 1080p correcte, l'image est d'abord recalibrée à 1920 pixels de largeur, puis je la recadre à 1080 de hauteur. De cette façon, je ne modifie pas le contenu des photos, je recadre juste:
ffmpeg -i output.avi -y -sameq -vf scale=1920:1440,crop=1920:1080 output-final.avi
La raison pour laquelle j'utilise mencoder pour assembler les photos est parce que j'ai obtenu segmentation fault
avec ffmpeg.
ffmpeg
commande, l' -sameq
option est maintenant remplacée par-qscale 0
Blender est une bonne solution si vous avez affaire à un timelapse de mouvement (hyperlapse) ou à un métrage instable. Il a des capacités de suivi de mouvement afin que vous puissiez choisir un point fixe à suivre tout au long de l'accéléré. Vous pouvez également résoudre les problèmes de rotation.
Vous pouvez également être intéressé par le projet timelapse-darktable . Il est facile de post-traiter des images avec darktable et de faire un timelapse de la série. Les instructions d'utilisation sont disponibles ici: https://code.google.com/p/timelapse-darktable/wiki/generateTimelapse
Vous pouvez utiliser mencoder. Les options sont assez explicites:
S'ils sont tous dans le répertoire courant avec des noms ordonnés et que vous voulez la liste dans le fichier /tmp/files.txt:
ls -1 *jpg > /tmp/files.txt
Si vous voulez que le fichier de sortie soit /tmp/test.avi avec 30fps:
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o /tmp/test.avi -mf type=jpeg:fps=30 mf://@/tmp/files.txt
Kdenlive peut également générer des timelapses en utilisant le Add Slideshow Clip
menu, comme expliqué dans ce tutoriel .
Selon le même site , Openshot a une fonctionnalité similaire mais ne la recommande pas car elle est "bien trop boguée". Néanmoins, s'il s'agit de votre éditeur vidéo préféré, vous serez heureux de savoir que vous pouvez simplement faire glisser et déposer une séquence de fichiers correctement nommés (001.jpg vers NNN.jpg) dans une fenêtre Openshot pour les importer également en timelapse.