Ik wil een timelapse maken van een verzameling afbeeldingen onder Ubuntu. Ik “wil graag HD-videos maken en idealiter een soundtrack toevoegen.
Reacties
- Ik heb ' t gezien. Ik kan deze vraag verwijderen en daar mijn antwoord posten. Is dat oké?
- Ik weet niet eens zeker of dit de beste stackexchange-site hiervoor is. Ik wil gewoon delen wat ik deed.
- Er is een vergelijkbare vraag op askubuntu.com . De antwoorden worden hier grotendeels behandeld op het moment van schrijven, maar dat kan verandering in de toekomst natuurlijk.
Answer
Ffmpeg zal het doen. Als je afbeeldingen hebt img001.jpg, img002.jpg, img003.jpg, ...
doe dan op de opdrachtregel:
ffmpeg -i img*.jpg output.mpeg
Er zijn meer opties gegeven in ffmpeg --help
of man-paginas, of het web. Deze geven controle over de framesnelheid en het uitvoerformaat.
Reacties
Antwoord
Eerst hernoemen we alle * .JPG-bestanden op basis van hun aanmaakdatum. Soms veranderen cameras de bestandsnaam of is het bestellen ervan op de een of andere manier niet wat we willen. Het hernoemen ervan op aanmaakdatum werkt echter altijd:
jhead -n%Y%m%d-%H%M%S *.JPG
Daarna plaatsen we deze lijst in een bestand:
ls -1tr | grep -v files.txt > files.txt
En gebruik vervolgens mencoder
om een AVI
-video te maken met 20 fps. Merk op dat dit een enorm videobestand genereert, meestal ongeveer dezelfde grootte van alle opgetelde fotos.
mencoder -nosound -noskip -oac copy -ovc copy -o output.avi -mf fps=20 "mf://@files.txt"
Ik maak meestal fotos voor timelapse met de laagste resolutie van mijn camera (5 MP), die een 4: 3 aspec-verhouding heeft. Om een goede 1080p-video te genereren, wordt het beeld eerst opnieuw geschaald tot 1920 pixels breed en vervolgens bijsnijden tot 1080 hoog. Op deze manier verander ik de inhoud van de fotos niet, alleen bijsnijden:
ffmpeg -i output.avi -y -sameq -vf scale=1920:1440,crop=1920:1080 output-final.avi
De reden dat ik mencoder gebruik om de fotos samen te voegen, is omdat ik een segmentation fault
met ffmpeg.
Reacties
- Voor de segfault zou het handig zijn om je versie van ffmpeg te kennen.
- Als je net als ik in 3: 2 hebt geschoten (mijn D750-fotos zijn 6016×4016) en het in 16: 9 (voor 4k-video) 3840×2160 nodig hebt, kun je FFMPEG gebruiken om de video te Pillerboxen en zwarte tramlijnen op de zijden met dit commando – ffmpeg -i output.avi -qscale 0 -vf " scale = 3840: 2160: force_original_aspect_ratio = afname, pad = 3840: 2160: (ow-iw) / 2: (oh-ih) / 2 " output-final.avi – Video zal groter zijn, maar zonder kwaliteitsverlies aangezien dit wordt verkleind.
- in uw
ffmpeg
commando,-sameq
optie is nu vervangen door-qscale 0
Antwoord
Blender is een goede oplossing als je te maken hebt met motion timelapse (hyperlapse) of onvast beeldmateriaal. Het heeft bewegingsregistratiemogelijkheden, zodat u een vast punt kunt kiezen om gedurende de timelapse te volgen. U kunt ook rotatieproblemen oplossen.
Answer
Mogelijk bent u ook geïnteresseerd in het project timelapse-darktable . Het maakt het gemakkelijk om afbeeldingen met darktable na te bewerken en een timelapse van de serie te maken. Instructies voor het gebruik vindt u hier: https://code.google.com/p/timelapse-darktable/wiki/generateTimelapse
Antwoord
Je mag mencoder gebruiken. Opties zijn vrij expliciet:
- lijst al je afbeeldingsbestanden op.
Als ze allemaal in de huidige directory staan met geordende namen en u de lijst in het bestand /tmp/files.txt wilt:
ls -1 *jpg > /tmp/files.txt
- Gebruik mencoder met de juiste optie.
Als je wilt dat het uitvoerbestand /tmp/test.avi is met 30 fps :
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o /tmp/test.avi -mf type=jpeg:fps=30 mf://@/tmp/files.txt
Antwoord
Kdenlive kan ook time-lapses genereren met het menu Add Slideshow Clip
, zoals uitgelegd in dit tutorial .
Volgens dezelfde site , Openshot heeft een vergelijkbare functionaliteit, maar raadt het niet aan omdat het “veel te buggy is”. Maar als het je favoriete video-editor is, zul je blij zijn te weten dat je gewoon een reeks met de juiste naam (001.jpg naar NNN.jpg) bestanden in een Openshot-venster om ze ook als timelapse te importeren.
Reacties
- Die gids is uit 2014. OpenShot heeft de afgelopen jaren veel bewezen, het is nu veel betrouwbaarder.
.jpg
bestanden zoals uitvoerbestand. Ik krijgFile 'DSCF6134.JPG' already exists. Overwrite ? [y/N]
– niet zo geweldig. Mijn oplossing was om een bestandenlijst te genereren met\ls *.JPG | sed "s/^/file '/;s/$/'/" > files.txt
en deze vervolgens te laden metffmpeg -f concat -i files.txt output.mpeg
.ffmpeg -pattern_type glob -i "picture*.jpg" output.mpeg