Videoschnitt unter Linux

Nachdem ein Cam-Corder angeschafft wurde, um manche Ereignisse auch per Video dokumentieren zu können, sollte es doch auch möglich sein, nur die gewünschten Szenen herauszuschneiden. Das schicke Gerät zeichnet in AVCHD auf SD-Karten auf.

Vorschau generieren

Leider haben die Video-Daten direkt vom Cam-Corder keinen Zeit-Index. Dieser ist für unser weiteres Vorgehen essentiell.

ffmpeg -i INPUT.MTS -r 30000/1001 -acodec pcm_s16le -vcodec mjpeg
       -s 360x240 -aspect 3:2 -y INPUT_preview.mov

Dieses Video ist deutlich kleiner, hat Ton und auch eine mitlaufende Zeit im VLC. Die Zeiten, die im Ergebnis zu sehen sein sollen bitte aufschreiben im Format:

hh:mm:ss

Das Generieren läuft auf einem Intel Core Duo @ 1.66 GHz bei knapp 18 fps recht langsam. Auf einem Intel Core i5 @ 2.67 GHz wird die Operation schon auf ca. 65 fps beschleunigt.

Schneiden

Wenn nun die gewünschten Sequenzen bekannt sind, können diese mit folgendem Kommando ausgeschnitten werden:

ffmpeg -ss START -t STOP -i INPUT.MTS -r 30000/1001 -acodec ac3
       -ab 256k -vcodec copy -s 1280x720 -strict experimental
       -y OUTPUT.m2t

Die Qualität wird durch diesen Schnitt nicht beeinflusst.

Zeitindex zum Ergebnis hinzufügen

Um auch im Ergebnisvideo einen Zeitindex zu haben, muss man noch mit mencoder nachhelfen:

mencoder -idx INPUT.m2t -o OUTPUT.m2t -oac copy -ovc x264

Anschließend hat man den gewünschten Ausschnitt in Ausgangqualität inklusive Zeitindex.

Installation der notwendigen Software

Debian basierte Distributionen

apt-get install ffmpeg mplayer

Fedora 15 (Lovelock)

Fedora 15 macht es dem Anwender einfach:

yum install ffmpeg mplayer