TS-Datei in MPEG4-Format umwandeln

Aus TuxBoxWIKI
Wechseln zu: Navigation, Suche


Allgemeines

Nachdem meine Festplatte nach wenigen Wochen DVB-Aufnahmen nun doch am Platzen ist, musste ich mir überlegen, wie ich meine geliebten TS-Dateien eindampfe. Orientiert habe ich mich an folgendem Artikel.

Das Vorgehen besteht grundsätzlich aus 2 Schritten:

  1. Ermitteln der schwarzen Ränder am oberen und unteren Rand des Films (falls vorhanden :-)
  2. Umrechnen des MPEG2-Film nach MPEG4 mittels Mencoder

Was jeder verwendete Parameter denn nun genau bedeutet kann man hier nachlesen.


Position der schwarzen Ränder bestimmen

Der Übergang zum schwarzen Bereich kostet aufgrund des hohen Kontrasts relativ viel Video-Bandbreite. Gibt es den Rand nicht mehr, so kann die Videobandbreite verwendet werden, um die Qualität des Bildes zu verbessern. Wir rufen also zunachst mplayer zur automatischen Ermittlung der Ränder wie folgt auf:

mencoder -ovc lavc 
 -lavcopts 
  vcodec=mpeg4:vbitrate=10000:vhq:mpeg_quant:v4mv:mbd=2:trell:autoaspect 
 -oac mp3lame -lameopts preset=standard 
 -vf cropdetect,scale=704:288 
 -o newfile.avi origfile.ts

Nach wenigen Minuten stabilisiert sich die Ausgabe der crop-Ausgaben und man kann den Vorgang abbrechen. Die Crop-Zeile ist im nächten Schritt an der Stelle a:b:c:d einzufügen!


MPEG2 nach MPEG4 umrechnen

Hierbei habe ich die Optionen unter dem Aspekt zusammengestellt, dass ich zum einen Platz sparen will, zum anderen eine möglichst gute Qualität erhalten will.

  • Um Platz zu sparen rechne ich die Auflösung auf halbe PAL-Höhe um (704x288), was ein Format ist, welches per VLC auch mit meinem schwachen 2Ghz-Server gestreamt werden kann.
  • Um eine gute Qualität in einem Schritt zu erreichen gebe ich per 10Mbit/s fast unendliche Bandbreite vor.
  • Der Ton wird mit variabler Bitrate als mp3-Stream umgerechnet.

Per autoaspect bleibt das Seitenverhältnis im MPEG4-File richtig gespeichert. Leider beachten es nicht alle Player; VLC schon, mplayer, wenn man ihn mit den Parametern -zoom -xy 704, aufruft.

Wie dem auch sei, mein Vorschlag lautet:

mencoder -ovc lavc 
 -lavcopts 
  vcodec=mpeg4:vbitrate=10000:vhq:mpeg_quant:v4mv:mbd=2:trell:autoaspect 
 -oac mp3lame -lameopts preset=standard 
 -vf crop=a:b:c:d,scale=704:288 
 -o newfile.avi origfile.ts

Mit diesem Schritt sollte der Platzverbrauch des Films auf 40-70% eingedampft worden sein. Man kann bei mencoder in der Statuszeile beobachten in welche Richtung sich die End-Dateigröße entwickelt. Sollte dies mehr sein, als die TS-Datei, dann wurde der Film mit sehr hoher Datenrate gesendet (4,5 MBit im Schnitt) und ein Einsatz von tcrequant würde Sinn machen.


Ausblick

Sollte der Film doch noch mal in eine TS- oder MPEG-Datei umgewandelt werden sollen, dann liegt hier die passende Anleitung.

Sollte man doch ein 2-pass Encoding wählen wollen (variable Bitrate für Bildinfo), dann berechnet sich die optimale Bitrate je nach gewählter Auflösung, wie folgt:

optimale_bitrate = 50 * 25 * Höhe * Breite / 256

Für den obigen Aufruf gelten dann folgende Änderungen:

  • 1.Schritt:
-nosound -o /dev/null -lavcopts ... :vpass=1
  • 2.Schritt:
- ... :vpass=2