Inhaltsverzeichnis:
- Schritt 1: Bilder von einer IP-Kamera
- Schritt 2: Bilder aufnehmen - Methode 1
- Schritt 3: Bilder aufnehmen - Methode 2
- Schritt 4: Kopieren Sie die Bilder auf einen Windows-PC
- Schritt 5: Video erstellen - Photolapse 3
- Schritt 6: Erstellen des Videos - VirtualDub
- Schritt 7: Fazit
Video: So erstellen Sie ein Zeitraffer-Video: 7 Schritte
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-31 10:15
In diesem Instructable werde ich die Schritte beschreiben, die ich verwende, um ein Zeitraffervideo zu machen. Das System und die Hardware, die ich zum Abrufen der Bilder verwende, ist ein Linux-Computer und eine netzwerkbasierte IP-Kamera. Auf dem Linux-Computer läuft ein Skript, das alle x Sekunden die IP-Kamera abfragt, ein Bild aufnimmt, die Größe ändert, mit Zeit- und Datumsstempel versehen und auf der Festplatte des Computers speichert. Um das Video aus den Bildern zu erstellen, werde ich zwei verschiedene Freeware-Anwendungen auf einem Windows-PC behandeln und die Verwendung von Linux als Option betrachten.
Beim Abrufen von Bildern müssen Sie die Zeit zwischen den einzelnen Bildern ermitteln oder die Anzahl der Bilder pro Stunde oder Tag ermitteln, die Sie benötigen, um ein Video zu erstellen, das gut aussieht und nicht zu lang oder zu kurz ist.
Im Fall meines Ice-Off-Videos. Ich habe am ersten Tag kurz vor Sonnenaufgang alle 20 Sekunden ein Bild aufgenommen und am nächsten Tag bis zum Sonnenuntergang durchgearbeitet. Ich habe die meisten Nachtbilder entfernt, bevor ich sie in das Video verarbeitet habe, aber beschlossen, einen "Mondaufgang" beizubehalten
Damit habe ich etwa 4.430 Bilder. Wenn ich das Video mit 25 Bildern pro Sekunde produziere, beträgt die Länge:
4, 430 / 25 = 177,2 Sekunden lang. 177,2 Sekunden sind fast 3 Minuten.
Wenn Sie so etwas wie ein Haus, das gerade gebaut wird, festhalten möchten, wäre alle 3 bis 5 Minuten ein guter Anfang.
Je nachdem, wie oft und wie lange ich Bilder aufnehmen muss, verwende ich eine für zwei verschiedene Methoden.
Schritt 1: Bilder von einer IP-Kamera
Die meisten IP-Kameras, die entweder in der Videoüberwachung oder für Full-Motion-Webcams verwendet werden, ermöglichen es Ihnen, ein Standbild im-j.webp
"https:///snap.jpg"
Für eine Planet-Kamera:
"https:///image.cgi?resolution=1920x1080"
Sie müssen die URL für Ihre Kameramarke googeln.
Sowohl die Ubiquiti- als auch die Planet-Bilder, die ich nehme, haben eine Größe von 1920 x 1080 (Standardeinstellung für jede Kamera, da es sich um 1080-Kameras handelt). Bei dieser Größe haben Sie am Ende eine riesige Datenmenge und eine riesige Videodatei. Ich mag es, die Größe des Bildes zu ändern, wenn ich es nehme und auf die Festplatte schreibe, und ich werde diesen Schritt in meinem Skript zeigen. Ich verwende convert, das Teil der ImageMagick-Tools ist.
Schritt 2: Bilder aufnehmen - Methode 1
Ich verwende diese Methode, um kürzere Ereignisse wie Ice-Off einzufangen. Sie können diese Methode verwenden, um so etwas wie den Einzug und die Einrichtung eines Ereignisses aufzunehmen - etwas, das ein paar Stunden oder 1 oder 2 Tage dauert und bei dem Sie unerwünschte Bilder wie die Nachtzeit manuell entfernen können, bevor Sie sie zu einem Video verarbeiten
Unter Linux sieht ein Skript für meine Ubiquiti-Kamera so aus:
#!/bin/bash
# gehe zum richtigen Ordner
cd /home/steve/iceoff
# Ubiquiti - ubnt-Kamera
URL="https://192.168.2.114/snap.jpg"
# wo man Bilder schreibt
ubnt_dir=/home/steve/iceoff/ubnt
# Verzögerung zwischen Bildern
Verzögerung=20
# die Schleife
während es wahr ist
# Verwenden Sie die Uhrzeit/das Datum, um den Dateinamen zu stempeln - dies muss im Schleifenabschnitt sein
jetzt=$(/bin/date '+%Y%m%d%H%M%S')
# Holen Sie sich das Bild und schreiben Sie es als ubnt.jpg
/usr/bin/wget -q -O "$ubnt_dir/ubnt.jpg" -t 1 $URL
# Ändern Sie die Größe des ubnt.jpg-Bildes und schreiben Sie es mit dem Datums-/Uhrzeitformat für den Dateinamen auf die Festplatte
convert -geometry 1024x "$ubnt_dir/ubnt.jpg" "$ubnt_dir/${now}.jpg"
# schlafe für die Verzögerungszeit und hol dir dann ein anderes Bild
/bin/sleep "$verzögerung"
getan
Was das Skript macht:
Legen Sie eine variable URL fest, wo sich das Bild im Netzwerk/der Kamera befindet
Setzen Sie die Variable ubnt_dir auf den Ort, an dem wir Bilder speichern möchten (Sie müssen das Verzeichnis erstellen, bevor Sie das Skript ausführen)
Stellen Sie die variable Verzögerung ein, wie viele Sekunden zwischen den Bildern liegen - dies macht es einfach, die Zeit zwischen den Bildern zu ändern, ändern Sie einfach diese Variable und führen Sie das Skript erneut aus
starte eine Schleife mit while true do - diese Schleifen sollten so lange laufen, bis du das Skript mit Strg-C anhältst
Stellen Sie die Variable jetzt als Jahr, Monat, Tag, Stunde, Sekunde ein
16. Februar 2019 um 8 Minuten und 29 Sekunden nach 13 Uhr würde aussehen wie 20190216130829
Verwenden Sie wget, um ein Bild von der URL zu holen und es als ubnt-j.webp
Konvertieren Sie das Bild ubnt-j.webp
Schlaf für die Anzahl der Sekunden in der Verzögerungsvariablen
Gehen Sie zurück und beginnen Sie mit dem Schritt, während Sie wahr sind
Um dieses Skript auszuführen, logge ich mich in mein Konto ein und führe es vom Terminal aus aus - das ist also gut, um so etwas wie das Eis eines Sees aufzunehmen - es ist in ein oder zwei Tagen erledigt und ich brauche alle 20 Sekunden ein Bild.
Schritt 3: Bilder aufnehmen - Methode 2
Für längere Zeitraffer wie den Bau eines Gebäudes oder ein einjähriges Zeitrafferprojekt verwende ich eine andere Art der Bildaufnahme. Dafür verwende ich cron.
Cron ist ein Dienstprogramm, das alle x Minuten, Stunden, Tage oder Monate einen Befehl ausführt. So können Sie die Ausführung des Befehls nach Minute, Stunde, Tag, Tag des Monats usw. anpassen. Ein Benutzer in einem Linux-System kann seinen eigenen Cron-Job haben, der in seiner Crontab-Datei gespeichert wird.
Für einen monatelangen Zeitraffer, in dem ich alle X Minuten ein Bild erhalte, verwende ich einen Cron-Job und ein etwas anderes Skript, da es keine Schleife erfordert (während true do and done), da Cron das Skript alle aufruft X Minuten.
Sie können es nicht nur verwenden, um das Skript alle X Minuten auszuführen, sondern Sie können es auch auf die Ausführung zwischen bestimmten Stunden beschränken, damit Sie nicht viele Nachtbilder entfernen müssen. Wenn sich die Jahreszeit und die Tagesstunden ändern, ändere ich meinen Cron-Job, um dies widerzuspiegeln.
Um einen Cron-Job zu erstellen, melden Sie sich bei Ihrem Linux-Server an und führen Sie Folgendes aus: crontab -e Dies startet eine Bearbeitung Ihrer crontab. Meine crontab-Datei hat eine Zeile wie diese:
*/5 4-23 * * * /home/steve/timelapse/get.ubnt >/dev/null 2>&1
Das */5 bedeutet, dass alle 5 Minuten ausgeführt werden
Das 4-23 bedeutet, dass es von 4 bis 23 Uhr läuft (dies ändert sich bei mir mit der Saison)
Das erste * bedeutet, dass es jeden Tag im Monat ausgeführt wird
Das zweite * bedeutet, dass es jeden Monat des Jahres ausgeführt wird
Das dritte * bedeutet, dass es jeden Tag der Woche ausgeführt wird
/home/steve/timelapse/get.ubnt ist der Skriptname, der ausgeführt wird
/dev/null 2>&1 bedeutet, die Standardausgabe auf null und alle Fehler auf null zu setzen - wenn Sie dies nicht haben, erhalten Sie jedes Mal eine E-Mail, wenn der Cron-Job ausgeführt wird.
Mein Skript /usr/steve/timelapse/get.ubnt sieht so aus:
#!/bin/bash
cd /home/steve/timelapse
URL="https://192.168.2.114/snap.jpg"
jetzt=$(/bin/date '+%Y%m%d%H%M%S')
/usr/bin/wget -q -O ubnt-j.webp
Konvertieren -Geometrie 1024x ubnt-j.webp" />
Was dieses Skript macht:
zu /home/steve/timelapse wechseln
Legen Sie eine variable URL fest, wo sich das Bild im Netzwerk/der Kamera befindet
setze die Variable jetzt auf Jahr, Monat, Tag, Stunde, Minute, Sekunde (damit wir das endgültige JPG-Bild später mit Zeit-/Datumsstempeln versehen können)
Holen Sie sich das Bild von der URL und schreiben Sie es in ubnt.jpg
Ändern Sie die Größe des Bildes auf 1024 Pixel Breite, behalten Sie das richtige Verhältnis bei und schreiben Sie die Datei als Datums-/Zeitstempel.
Wie bei der vorherigen Methode/dem vorherigen Skript wird dies die Dateinamen sequenziell machen und es uns ermöglichen, das Video mit den Frames in der richtigen Reihenfolge zu erstellen. Nachdem ich ein paar Tage Bilder habe, kopiere ich sie in einen Ordner auf meinem Windows-PC, um die Videodatei zu erstellen. Normalerweise verwende ich ftp, um die Dateien auf den Windows-PC zu laden, da sie sich im selben Netzwerk befinden und das Login/Passwort als Klartext im Internet nicht sichtbar ist.
Schritt 4: Kopieren Sie die Bilder auf einen Windows-PC
Um die Bilder vom Linux-System auf einen Windows-PC zu kopieren, um sie zu einem Video zu verarbeiten, verwende ich FTP.
Das Windows-Programm, das ich dafür verwende, ist FileZilla Client. Sie können jeden beliebigen FTP-Client verwenden, sogar die Befehlszeilenversion in Windows.
Wenn Sie wissen, was Sie tun, können Sie auch Samba oder NFS verwenden und die Linux-Dateien als Ordner in Windows anzeigen lassen.
Schritt 5: Video erstellen - Photolapse 3
Da wir nun die Bilder haben, müssen wir sie zusammenfügen, um eine Videodatei zu erstellen.
Es gibt viele Programme, mit denen Sie dies tun können, und Sie können mit verschiedenen Programmen experimentieren.
Für eine relativ kleine Anzahl von Bildern, wie ich sie während der ein oder zwei Tage Eiszeit aufnehme, verwende ich jedoch das Windows-Programm Photolapse 3 - das leider nicht mehr aktualisiert wird und ich die Original-Website dafür nicht mehr finden kann. Es ist jedoch von einer Reihe von "Download"-Sites verfügbar. Eine schnelle Google-Suche sollte gut sein.
Das Schöne an diesem Programm ist, dass es sich um eine einzelne Binärdatei handelt, sodass keine Installation erforderlich ist. Laden Sie einfach die Binärdatei herunter und führen Sie sie aus. Der Nachteil ist, dass es nicht eine große Anzahl von Dateien verarbeitet. Mit riesig meine ich wahrscheinlich 20.000 oder mehr, aber für so etwas wie mein Ice-Off-Video mit ca. 5.000 Bildern ist es in Ordnung.
Sie starten das Programm, bohren im oberen linken Feld nach unten oder suchen, wo Ihre Bilder gespeichert sind, und geben dann die Anzahl der Framer pro Sekunde ein (eine kleinere Zahl lässt das Video als Zeitlupe erscheinen). Klicken Sie anschließend auf die Schaltfläche "Dateien aus aktuellem Ordner laden"
Photolapse lädt jeden Frame und zeigt eine Vorschau an, und Sie erhalten eine Vorstellung davon, wie das Video aussehen wird.
Wenn die Verarbeitung des gesamten Ordners abgeschlossen ist, klicken Sie auf die Schaltfläche "Film erstellen", ändern Sie den Dateinamen, wenn Sie möchten, und klicken Sie dann auf "Speichern".
Als nächstes müssen Sie eine Komprimierungsmethode für das Video auswählen oder es unkomprimiert lassen. Ich verwende "Microsoft Video 1". Alles, was übrig bleibt, ist auf "OK" zu klicken
Obwohl Sie alle Schritte erneut durchführen müssen, um eine andere Komprimierungsmethode oder einen anderen Codec auszuwählen, sollten Sie hier andere Einstellungen ausprobieren, wenn Sie das Video komprimiert benötigen.
Die Bilder, die ich für die Screenshots in diesem Schritt verwendet habe, stammen aus den ursprünglichen Ice-Off-Bildern. Ich habe 1191 Bilder mit 1024x576 Pixeln verwendet. Sie nahmen ca. 110 MB Festplattenspeicher ein. Das komprimierte Video war 235 MB groß und das unkomprimierte 1,96 GB
Schritt 6: Erstellen des Videos - VirtualDub
Das andere Programm, das ich verwendet habe, ist VirtualDub
Laden Sie die Zip-Dateien hier herunter. Es gibt eine 32-Bit- und eine 64-Bit-Version
Entpacken Sie die Dateien in einen eigenen Ordner.
Eines der Dinge, die Sie mit Ihren Bildern tun müssen, ist, sie fortlaufend neu zu nummerieren. Die Verwendung der Dateinamen mit Datums-/Zeitstempel, wie sie meine Skripte erstellen, funktioniert nicht mit VirtualDub. Es gibt mehrere Möglichkeiten, die Dateien neu zu nummerieren:
Erstellen Sie zuerst ein Backup Ihrer Dateien, dann ein weiteres Backup. Dann mit der zweiten Kopie:
Öffnen Sie den Ordner mit den Bildern, ändern Sie die Ansicht auf "Details", markieren Sie die erste Datei in der Liste, drücken Sie Strg-A, um alle Dateien auszuwählen, klicken Sie mit der rechten Maustaste und wählen Sie "Umbenennen". Ändern Sie den Dateinamen in 1 und drücken Sie dann die Eingabetaste.
Dadurch wird die Dateiliste verarbeitet und (1).jpg, dann (2)-j.webp
Die zweite Möglichkeit besteht darin, ein Programm namens Irfanview zu verwenden. Es hat einen Stapelmodus, in dem Sie die Dateien nacheinander in 1.jpg, 2.jpg, 3-j.webp
Sobald die Dateien umbenannt wurden, starten Sie VirtualDub, klicken Sie auf "Datei" und dann auf "Videodatei öffnen". Wählen Sie das erste-j.webp
Klicken Sie auf "Video" und dann auf "Bildrate", ändern Sie dies auf 30 (oder eine beliebige Bildrate, die Sie ausprobieren möchten).
Klicken Sie auf "Video" und dann auf "Komprimierung" - wie bei Photolapse 3 habe ich "Microsoft Video 1" verwendet
Um die Verarbeitung der Bilder zu starten, klicken Sie auf "Datei" und dann auf "Als AVI speichern". Benennen Sie die Datei und klicken Sie dann auf "Speichern"
Dies startet die Verarbeitung und zeigt an, wie lange sie dauern wird.
Obwohl VirtualDub mehr Schritte erfordert, werden mehr Dateien verarbeitet als Photolapse 3.
Ich habe mit VirtualDub einen Zeitraffer mit über 88.000 Bildern gemacht.
Schritt 7: Fazit
Um die Zeitraffervideos anzuzeigen, können Sie ein Programm wie VLC oder den Windows-eigenen Mediaplayer verwenden.
Es gibt viele, viele Möglichkeiten, Bilder aufzunehmen und einen Zeitraffer zu erstellen.
Wenn Sie eine Canon-Kamera haben, gibt es für einige Modelle eine Drittanbieter-Firmware CHDK, mit der Sie die Kamera im Intervallmessermodus verwenden und alle x Sekunden ein Bild aufnehmen können.
Experimentiere viel! Ich hoffe, Sie fanden dieses Instructable interessant und wenn Sie einen Zeitraffer machen, hinterlassen Sie unbedingt einen Link dazu in den Kommentaren.
Empfohlen:
So erstellen Sie ein Microbit-Spiel: 7 Schritte
So erstellen Sie ein Microbit-Spiel: Hai-Freunde, In dieser Lektion werde ich Ihnen beibringen, wie Sie ein Spiel in Tinkercad mit der neuen speziellen Komponente Microbit erstellen
So erstellen Sie ein Elektrokardiogramm (EKG): 5 Schritte
So erstellen Sie ein Elektrokardiogramm (EKG): Dieses Tutorial führt Sie durch die Schritte zum Erstellen eines 3-Punkt-Elektrokardiogramms mit einem Arduino. Bevor Sie beginnen, hier ein paar Informationen zu EKGs: Ein EKG erkennt den elektrischen Rhythmus Ihres Herzens und stellt sie grafisch dar . Dieser Graph wird als Tracin bezeichnet
So erstellen Sie ein Linux-Boot-Laufwerk (und wie man es verwendet): 10 Schritte
So erstellen Sie ein Linux-Boot-Laufwerk (und wie man es verwendet): Dies ist eine einfache Einführung in die ersten Schritte mit Linux, insbesondere Ubuntu
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Hinzugefügte Informationen: 4 Schritte
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen … Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Zusätzliche Informationen: Wenn Sie jemals auf eine Website gehen und ein Lied abspielen, das Sie mögen und es wollen, dann ist hier das anweisbare für Sie, nicht meine Schuld, wenn Sie etwas durcheinander bringen (nur so wird es passieren, wenn Sie ohne Grund anfangen, Dinge zu löschen) ) Ich konnte Musik für
So erstellen Sie einen Großelternkalender & Scrapbook (auch wenn Sie nicht wissen, wie man ein Scrapbook erstellt): 8 Schritte (mit Bildern)
So erstellen Sie einen Großelternkalender & Sammelalbum (auch wenn Sie nicht wissen, wie man Sammelalbum erstellt): Dies ist ein sehr wirtschaftliches (und sehr geschätztes!) Weihnachtsgeschenk für Großeltern. Ich habe dieses Jahr 5 Kalender für weniger als 7 US-Dollar pro Stück gemacht. Materialien: 12 tolle Fotos von Ihrem Kind, Kindern, Nichten, Neffen, Hunden, Katzen oder anderen Verwandten 12 verschiedene Stücke