Zum Inhalt

Videos für das Handy umwandeln

So, endlich geschafft: Um Videos für sein Handy umwandeln braucht es nur einen Befehl – zumindest unter Linux. Ohne umständliche GUI und mit einem kleinen Script ist die Arbeit schnell erledigt. Bei mir handelt es sich um ein Nokia 6120c (classic). Diese Anleitung sollte aber auch für andere Geräte funktionieren.

Video- und Audioformate finden

Als erstes muss man wissen, welche Videoformate sein Handy unterstüzt. Eine gute Anlaufstelle findet man dabei in der Heise.de Handygalerie. Man sucht sein Handy heraus und notiert sich die Formate, die das Handy abspielen kann. Idealerweise sind AAC und MPG4 als Audio- bzw. Videoformat vorhanden. Ansonsten muss evtl auf Formate wie mp3 oder gar pcm wave zurückgegriffen werden. Meine Favoriten vorbis und theora waren aber leider nicht dabei. Dafür komprimieren AAC und XviD besser. Außerdem ist XviD ebenfalls ein freier Codec, und auch mit faac gibt es eine freie Implementierung für die AAC-Kompression.

XviD? Haben wir nicht grad von MPG4 gesprochen? Ja! Es ist tatsächlich etwas konfus. MP(E)G4 ist nur ein Standard, nicht ein Codec selber. XviD ist dabei einer der effizientesten Kodierer. Ihr könnt aber auch Lavf zum kodieren nehmen, eurem Handy dürfte es egal sein – höchstens eurer Speicherkarte bzw. eurem Auge nicht.

Installation

Also wie nun umwandeln? Erstmal brauchen wir ffmpeg. Unter Ubuntu ist es ganz einfach zu installieren:

Damit werden sehr viele Codecs installiert, die aber nur klein sind. Falls ihr sie mal braucht, sind sie jetzt schonmal installiert. Nun erstellt ihr euch ein Shellscript namens  ~/bin/vid2mobile  mit folgendem Inhalt:

Jetzt nicht vergessen, das Skript ausführbar zu machen: chmod +x ~/bin/vid2mobile .

Nun navigiert man in den Ordner seiner Wahl und führt einfach den Befehl  vid2mobile video.avi  eingeben, und er wirft einem die Datei  video_mobile.mp4  aus. Dabei muss man sich keine Gedanken mehr über die Einstellungen machen. Es werden unzählige Eingabeformate unterstützt, darunter auch .flv-Dateien von Youtube. Empfohlen sind aber .mp4 -Dateien, die es dort i.d.R. auch gibt.

Das Script erklärt

Im Script verwendete Parameter

Die Optionen und Parameter im Einzelnen erklärt:

  • acodec libfaac
    Advanced Audio Codec – mp3-Nachfolger. Besser bei niedrigen Bitraten
  • ab 48k
    Audio-Bitrate soll im Schnitt bei 48 kilobit/s (= 48.000 bit/s) liegen
  • ac 1
    Ein Audiochannel – also Mono. Wer Stereo haben möchte setzt hier 2 ein. Am besten lässt man dann aber die Zeile weg, damit man Mono-Eingangsdateien nicht unnütz auf Stereo aufbläht.
  • ar 44100
    Samplerate von 44.1 kHz
  • vcodec libxvid und vtag xvid
    Videocodec soll XviD sein. Andere verfügbare Formate kann man sich mit ffmpeg -formats anzeigen lassen.
  • b 175k
    Video-Bitrate soll bei etwa 175 kilobit/s (=175.000 bit/s = 21,4 kiloByte/s [kiB/s] ) liegen – wer kleine Dateien möchte, kann hier etwas drehen – aber lieber erst am Quantizer drehen (qmin, qmax)
  • crop[…] 4
    Der Rand wird vor dem vergrößern/-kleinern um 4px beschnitten. Oftmals werden dadurch unschöne Ränder abgeschnitten.
  • qmin 3 und qmax 8
    Quantizer: Maximale Kompressionsstärke. 1 wäre die beste Qualität, 31 die schlechteste. Schlechter als 8 muss es auch auf dem Handy nicht sein. Wer kleinere Dateien möchte, setzt hier höhere Werte ein, beginnend bei qmax. Bringt auch das nichts, kann man qmin schrittweise hochsetzen.
  • r 18
    Das Video wird auf 18 Bilder pro Sekunde (fps) reduziert. Das genügt auf dem Handy völlig und spart noch etwas Platz.
  • s $width x $heigth
    Die Ausgabegröße
  • apect $ratio
    Das Seitenverhältnis der Ausgabe. XviD benötigt diesen Parameter dringen, und kann ihn nicht selbst bestimmen. Angaben wie „16:9“ oder „4:3“ werden auch akzeptiert.

Weitere Möglichkeiten

Wer sein Video noch weiter komprimieren möchte, ohne nennenswert Qualität zu verlieren, kann versuchen sog. B-Frames einzufügen. Dabei werden nicht nurdie Unterschiede zu den vorigen Bildern, sondern auch zu den folgenden gespeichert. Eventuell kann es aber etwas mehr Blöcke geben, auf meinem Handy gab es zusätzlich noch einen Synchronisationsverlust. iPod und PSP spielen solche Videos gar nicht. Aber immerhin schrumpfte ein 50 MiB-Musikvideo nicht auf 8,8 MiB, sondern auf 8,0 MiB. Das sind immerhin fast 10%! Alles, was man dafür tun muss, ist den Parameter -bf 3 anzuhängen.

Weitere Möglichkeiten ergeben sich durch 2pass-Encodung, was ich hier jedoch für übertrieben halte. Wer es dennoch machen möchte, führt ffmpeg zweimal aus. Einmal mit -pass 1 und noch einmal mit -pass 2. Dabei kann beim ersten Durchgang der Audiocodec durch -an ignoriert werden, als Ausgabe wählt man einfach /dev/null – es kommt ja noch kein Video heraus!


So, jetzt habt ihr sicherlich auch ein schönes Spielzeug – mir macht es nun richtig Spaß Videos für mein Handy umzuwandeln. Mit den ganzen GUIs vorher hab ich es irgendwie nicht hinbekommen. Wer Anregungen und Kritik hat, darf sie hier gerne als Kommentar hinterlassen 🙂

Published inHow Tos

Ein Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.