Jag vill skapa en timelapse från en samling bilder, under Ubuntu. Jag skulle vilja göra HD-videor och helst lägga till ett ljudspår.
Kommentarer
- Jag har inte ' t sett det. Jag kan ta bort den här frågan och lägga upp mitt svar där. Är det ok?
- Jag är inte ens säker på om det här är den bästa stackexchange-webbplatsen för detta. Jag vill bara dela det jag gjorde.
- Det finns en liknande fråga på askubuntu.com . Svaren behandlas oftast här i skrivande stund, men det kanske naturligtvis förändras i framtiden.
Svar
Ffmpeg kommer att göra det. Om du har bilder img001.jpg, img002.jpg, img003.jpg, ...
gör sedan på kommandoraden:
ffmpeg -i img*.jpg output.mpeg
Det finns fler alternativ i ffmpeg --help
eller man-sidor eller webben. Dessa möjliggör kontroll över bildhastigheten och utdataformatet.
Kommentarer
- Att använda detta ger ett fel för mig, eftersom det anser att den senare
.jpg
filer som utdatafiler. Jag fårFile 'DSCF6134.JPG' already exists. Overwrite ? [y/N]
– inte så bra. Min lösning var att skapa en fillista med\ls *.JPG | sed "s/^/file '/;s/$/'/" > files.txt
och sedan ladda den medffmpeg -f concat -i files.txt output.mpeg
. - Med andra ffmpeg-versioner följande version fungerar utan att försöka åsidosätta bilder:
ffmpeg -pattern_type glob -i "picture*.jpg" output.mpeg
Svar
Först byter vi namn på alla * .JPG-filer baserat på deras skapande datum. Ibland ändrar kameror filnamnet eller bara att beställa dem är på något sätt inte vad vi vill ha. Att byta namn på dem efter skapelsedatumet fungerar dock alltid:
jhead -n%Y%m%d-%H%M%S *.JPG
Därefter lägger vi listan i en fil:
ls -1tr | grep -v files.txt > files.txt
Och använd sedan mencoder
för att skapa en AVI
-video med 20 fps. Observera att detta genererar en enorm videofil, vanligtvis ungefär lika stor som alla summerade bilder.
mencoder -nosound -noskip -oac copy -ovc copy -o output.avi -mf fps=20 "mf://@files.txt"
Jag tar vanligtvis bilder för timelapse med lägsta upplösning av min kamera (5 MP), som har ett aspektförhållande på 4: 3. För att skapa en ordentlig 1080p-video avskalas bilden först till 1920 pixlar i bredd och sedan beskär jag den till 1080 höjd. På det här sättet ändrar jag inte foton ”innehåll, bara beskärning:
ffmpeg -i output.avi -y -sameq -vf scale=1920:1440,crop=1920:1080 output-final.avi
Anledningen till att jag använder mencoder för att sätta ihop bilderna är att jag fick en segmentation fault
med ffmpeg.
Kommentarer
- För segfault skulle det vara användbart att känna till din version av ffmpeg.
- Om du som jag sköt i 3: 2 (mina D750-stillbilder är 6016×4016) och behöver den i 16: 9 (för 4k-video) 3840×2160 kan du använda FFMPEG för att Pillerbox-videon och lägga svarta spårvagnslinjer vid sidorna med det här kommandot – ffmpeg -i output.avi -qscale 0 -vf " scale = 3840: 2160: force_original_aspect_ratio = minskning, pad = 3840: 2160: (ow-iw) / 2: (oh-ih) / 2 " output-final.avi – Videon blir större men ingen kvalitetsförlust eftersom det är nedskalning
- i din
ffmpeg
-kommando,-sameq
alternativet ersätts nu med-qscale 0
Svar
Blender är en bra lösning om du har att göra med motion timelapse (hyperlapse) eller ostadiga bilder. Det har rörelsespårningsfunktioner så att du kan välja en fast punkt att spåra under hela timelapse. Du kan också åtgärda rotationsproblem.
Svar
Du kanske också är intresserad av projektet timelapse-darktable . Det gör det enkelt att efterbehandla bilder med mörktabell och göra en timelapse av serien. Instruktioner för hur du använder den finns här: https://code.google.com/p/timelapse-darktable/wiki/generateTimelapse
Svar
Du kan använda mencoder. Alternativ är ganska detaljerade:
- lista alla dina bildfiler.
Om de alla finns i den nuvarande katalogen med ordnade namn och du vill ha listan i filen /tmp/files.txt:
ls -1 *jpg > /tmp/files.txt
- Använd mencoder med lämpligt alternativ.
Om du vill att utdatafilen ska /tmp/test.avi med 30fps :
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o /tmp/test.avi -mf type=jpeg:fps=30 mf://@/tmp/files.txt
Svar
Kdenlive kan också generera tidsförskjutningar med menyn Add Slideshow Clip
, som förklaras i detta handledning .
Enligt samma webbplats , Openshot har en liknande funktionalitet men rekommenderar den inte eftersom den är ”alldeles för buggy”. Ändå, om det är din föredragna videoredigerare, kommer du gärna att veta att du bara kan dra och släppa en sekvens med rätt namn (001.jpg till NNN.jpg) -filer till ett Openshot-fönster för att importera dem också som en timelapse.
Kommentarer
- Den här guiden är från 2014. OpenShot har visat sig mycket under de senaste åren, det är nu mycket mer tillförlitligt.