Diese Seite durchsuchen:

Besucher: 17208

subscribe via rss



Twittern



Videostabilisierung

Insbesondere wenn man kein Stativ verwenden kann und sogar zoomen musste, sind Videos häufig verwackelt. Das sieht nicht gut aus und kann die Arbeit eines Projektes zunichte machen. Glücklicherweise gibt es Programme, die ein Video im Nachhinein stabilisieren können. Hier sind einige Beispielvideos:




Unter Linux gibt es das Kommandozeilenprogramm transcode. Ich musste zusätzlich auch mplayer installieren.

Unter Ubuntu und Debian verwendet man in der Regel apt zur Installation (Redhat, Fedora und CentOS verwenden yum):

sudo apt-get install transcode mplayer

Normalerweise muss der Filter, eine Art Plugin für transcode, separat installiert werden. Dafür muss man zunächst herausfinden, welche Version von transcode installiert ist:

transcode -v

Falls möglich, sollte man die neuste Version herunterladen. Ich habe für transcode 1.1.5 die Filterversion 0.93 verwendet. Diese Version bringt ein kleines Installationsscript mit sich, dass man ausführen kann, wenn das heruntergeladene Archiv entpackt wurde:

tar -xvzf vid.stab-0.93-transcode-1.1-binary-x86_64.tgz -C /tmp/
cd /tmp/vid.stab-0.93-transcode-1.1-binary-x84_64
sudo ./install.sh
(Ja, da hat sich in dieser Version tatsächlich ein kleiner Zahlenfehler im Ordnernamen eingeschlichen - das ist aber nicht weiter tragisch.)
Ausgabe:

Do you want to install the plugins to /usr/lib/transcode ? [y/N]

Bestätigen:

y

Ausgabe:

`./filter_stabilize.so' -> `/usr/lib/transcode/filter_stabilize.so' (backup: `/usr/lib/transcode/filter_stabilize.so.~2~')
`./filter_transform.so' -> `/usr/lib/transcode/filter_transform.so' (backup: `/usr/lib/transcode/filter_transform.so.~2~')
`./filter_deshake.so' -> `/usr/lib/transcode/filter_deshake.so' (backup: `/usr/lib/transcode/filter_deshake.so.~1~')
done

Da die Dateien nicht mehr benötigt werden, kann man Ordner und Archiv löschen:

rm -r /tmp/vid.stab-0.93-transcode-1.1-binary-x84_64
rm -r /tmp/vid.stab-0.93-transcode-1.1-binary-x86_64.tgz

Nun kann man das Video stabilisieren. Dazu müssen zwei Schritte durchgeführt werden. Der erste detektiert die Bewegungen des Videos:

transcode -J stabilize --mplayer_probe -i deinvideo.avi (Grundsätzlich werden auch andere Videoformate unterstützt)

Dabei wird die Datei deinvideo.trf angelegt. Diese enthält die Informationen, die zur Stabilisierung benötigt werden. Hat man den Stabilisierungsfilter noch nicht installiert tritt folgende Fehlermeldung auf:

[filter_stabilize.so] warning: unsupported Codec

Der zweite Schritt entfernt Wackelbewegungen und zoomt in der Regel ins Video, da sonst schwarze Randbereiche auftreten:

transcode -J transform -i deinvideo.avi --mplayer_probe -y xvid,tcaud -o deinvideo_stabilisiert.avi

Der Befehl erzeigt ein mpeg-kodiertes Video. Statt "xvid" kann man auch "raw" verwenden. Der Stabilisierungsprozess läuft dann zwar deutlich schneller ab, die resultierende Datei ist aber extrem groß.
Ohne tcaud kann es zu Problemen bei der Audiokonvertierung kommen. Die Option --mplayer_probe leitet den Videostrom durch das Programm. Lässt man sie weg, erscheint unter Umständen folgende Fehlermeldung:

[filter_transform.so] warning: not enough transforms found, use last transformation!



Quellen:
  • isenmann.wordpress.com
  • public.hronopik.de
  • blog.hamoid.com