Vreau să creez un timelapse dintr-o colecție de imagini, sub Ubuntu. „Aș dori să fac videoclipuri HD și, în mod ideal, adaug o coloană sonoră.
Comentarii
- Nu am ' Nu am văzut asta. Pot să șterg această întrebare și să-mi postez răspunsul acolo. Este în regulă?
- Nici măcar nu sunt sigur dacă acesta este cel mai bun site stackexchange pentru asta. Vreau doar să împărtășesc ceea ce am a făcut-o.
- Există o întrebare similară pe askubuntu.com . Răspunsurile sunt acoperite mai ales aici în momentul scrierii, dar acest lucru ar putea schimbare în viitor, desigur.
Răspuns
Ffmpeg o va face. Dacă aveți imagini img001.jpg, img002.jpg, img003.jpg, ...
apoi pe linia de comandă faceți:
ffmpeg -i img*.jpg output.mpeg
Există mai multe opțiuni date în ffmpeg --help
sau pagini man, sau web. Acestea permit controlul asupra ratei de cadre și a formatului de ieșire.
Comentarii
Răspuns
Mai întâi redenumim toate fișierele * .JPG în funcție de data creării lor. Uneori camerele schimbă numele fișierului sau doar comanda lor nu este cumva ceea ce ne dorim. Cu toate acestea, redenumirea acestora după data creării funcționează întotdeauna:
jhead -n%Y%m%d-%H%M%S *.JPG
După aceea, punem această listă într-un fișier:
ls -1tr | grep -v files.txt > files.txt
Și apoi utilizați mencoder
pentru a crea un videoclip AVI
folosind 20 fps. Rețineți că acest lucru va genera un fișier video imens, de obicei de aproximativ aceeași dimensiune a tuturor imaginilor însumate.
mencoder -nosound -noskip -oac copy -ovc copy -o output.avi -mf fps=20 "mf://@files.txt"
De obicei fac fotografii pentru timelapse cu cea mai mică rezoluție a camerei mele (5 MP), care are un raport aspec 4: 3. Pentru a genera un videoclip adecvat de 1080p, imaginea este mai întâi redimensionată la 1920 pixeli de lățime și apoi o decupez la 1080 de înălțime. În acest fel, nu schimb conținutul fotografiilor, ci doar decupez:
ffmpeg -i output.avi -y -sameq -vf scale=1920:1440,crop=1920:1080 output-final.avi
Motivul pentru care folosesc mencoder pentru a pune fotografiile împreună este că am primit un segmentation fault
cu ffmpeg.
Comentarii
- Pentru segfault ar fi util să cunoașteți versiunea dvs. de ffmpeg.
- Dacă ca mine ai filmat în 3: 2 (fotografiile mele D750 sunt de 6016×4016) și ai nevoie de el în 16: 9 (pentru videoclipuri de 4k) 3840×2160 poți folosi FFMPEG pentru a Pillerbox video și tampona liniile de tramvai negru la laturile cu această comandă – ffmpeg -i output.avi -qscale 0 -vf " scale = 3840: 2160: force_original_aspect_ratio = reduce, pad = 3840: 2160: (ow-iw) / 2: (oh-ih) / 2 " output-final.avi – Videoclipul va fi mai mare, dar nu va pierde calitatea, deoarece acest lucru este redus la scară
-
ffmpeg
comanda, opțiunea-sameq
acum este înlocuită cu-qscale 0
Răspuns
Blender este o soluție bună dacă vă confruntați cu timelapse de mișcare (hyperlapse) sau filmări nesigure. Are capabilități de urmărire a mișcării, astfel încât să puteți alege un punct fix de urmărit de-a lungul intervalului de timp. De asemenea, puteți remedia problemele de rotație.
Răspuns
S-ar putea să vă intereseze și proiectul timelapse-darktable . Facilitează post-procesarea imaginilor cu darktable și realizarea unui timelapse al seriei. Instrucțiunile de utilizare se găsesc aici: https://code.google.com/p/timelapse-darktable/wiki/generateTimelapse
Răspuns
Puteți utiliza mencoder. Opțiunile sunt destul de explicite:
- enumeră toate fișierele cu imagini.
Dacă toate sunt în directorul curent cu nume ordonate și doriți lista din fișierul /tmp/files.txt:
ls -1 *jpg > /tmp/files.txt
- Utilizați mencoder cu opțiunea potrivită.
Dacă doriți ca fișierul de ieșire să fie /tmp/test.avi cu 30fps :
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o /tmp/test.avi -mf type=jpeg:fps=30 mf://@/tmp/files.txt
Răspuns
Kdenlive poate genera, de asemenea, timelapses utilizând meniul Add Slideshow Clip
, după cum se explică în tutorial .
Conform aceluiași site , Openshot are o funcționalitate similară, dar nu o recomandă deoarece este „mult prea buggy”. Totuși, dacă este editorul video preferat, veți fi fericiți să știți că puteți doar să glisați și să fixați o secvență de nume corect (001.jpg to NNN.jpg) fișiere într-o fereastră Openshot pentru a le importa și ca timelapse.
Comentarii
- Ghidul este din 2014. OpenShot s-a dovedit mult în ultimii ani, acum este mult mai fiabil.
.jpg
fișiere precum fișierul de ieșire. AmFile 'DSCF6134.JPG' already exists. Overwrite ? [y/N]
– nu atât de grozav. Soluția mea a fost să generez o listă de fișiere cu\ls *.JPG | sed "s/^/file '/;s/$/'/" > files.txt
și apoi să o încărc cuffmpeg -f concat -i files.txt output.mpeg
.ffmpeg -pattern_type glob -i "picture*.jpg" output.mpeg