Videos

Ekkart Kleinod  • 

Einfache Konvertierung

Werkzeug: ffmpeg

Formatkonvertierung mts - mp4

$> ffmpeg -i file.mts file.mp4

Video deinterlacen und in mp4 umwandeln

$> ffmpeg -i file.mts -deinterlace file.mp4

Formatkonvertierung mts - mpg

$> ffmpeg -i file.mts file.mpg

Formatkonvertierung mts - mpg, Codec MPEG2-Video, Audio unverändert

$> ffmpeg -i file.mts -vcodec mpeg2video -acodec copy file.mpg

Formatkonvertierung mts - mpg, deinterlace

$> ffmpeg -i file.mts -deinterlace file.mpg

Formatkonvertierung mts - mpg, Größe VGA

$> ffmpeg -i file.mts -s vga file.mpg

Batch-Konvertierung

Alle Videos eines Ordners und seiner Unterordner deinterlacen und als mp4 abspeichern:

$> find -name "*.mts" -exec ffmpeg -i {} -deinterlace {}.mp4 \;

Alle Videos eines Ordners und seiner Unterordner deinterlacen, auf VGA verkleinern und als mp4 abspeichern:

$> find -name "*.mts" -exec ffmpeg -i {} -deinterlace -s vga {}.vga.mp4 \;

Film in Einzelbilder konvertieren

Werkzeug: ffmpeg

Dies ist die Vorstufe für die Erstellung eines animierten gifs.

Im Beispiel wird zusätzlich eine Skalierung vorgenommen Ausgabe ist auch als jpg möglich. Der Dateiname muss entsprechend mit Platzhaltern versehen werden.

  • -i - Eingabedatei
  • -r - Framerate (ohne Angabe = Originalframerate)
  • -s - Ausgabegröße (ohne Angabe = Originalgröße)
  • -f - Ausgabeformat
$> ffmpeg -i file.mp4 -r 12 -s 640x360 -f image2 image-%3d.png

Codec eines Films herausbekommen

Werkzeug: ffprobe

$> ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 <file>

alle Informationen:

$> ffprobe <file>

Zeitraffer Video → Video

Blender oder ffmpeg nehmen.

Wird der Ton nicht entfernt oder angepasst, bleibt das Video in der Ursprungslänge, da der Ton noch vorhanden ist. Ton anpassen mit ffmpeg ist schwierig, daher das am besten mit Blender erledigen.

Video 10fach beschleunigen (Ton bleibt):

$> ffmpeg -i <infile> -filter:v "setpts=PTS/10" <outfile>

Video 10fach beschleunigen (Ton entfernen):

$> ffmpeg -i <infile> -an -filter:v "setpts=PTS/10" <outfile>

https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video

MKV-Dateien splitten

mkvmerge nehmen.

An allen chapters splitten:

$> mkvmerge --output <outfile> --split "chapters:all" <infile>

Für alle Dateien (chapters oder timestamp):

$> find -name "*.mkv" -exec mkvmerge --output "{}.conv.mkv" --split "chapters:all" "{}" \;
$> find -name "*.mkv" -exec mkvmerge --output "{}.conv.mkv" --split "timestamps:00:00:07.000" "{}" \;