Friday, January 16, 2009

.rec Dateien verlustfrei nach MPEG4/Xvid konvertieren

Folgende Programme werden dafür benötigt:
  • MPEG-Streamclip
  • Avidemux
  • (eventuell MPEG4Modifier)

1) Kopieren von .rec in einen .mpg Container

Dazu verwendet man MPEG Streamclip, da man bei diesem Programm die Fehlerbehandlung steuern kann. Der Vorteil bei .rec ist, dass die Daten bereits als MPEG2-Stream vorliegen und nicht aufwändig recodiert werden müssen, jedoch muss das Containerformat gewechselt werden, da die meisten Schnitt- und Konvertierungsprogramme .mpg unterstützen, aber nicht das .rec Format.

Nach der Installation von MPEG Streamclip sollte man gleich mal in die Preferences sehen und Fix streams with data breaks und Preserver GOPs at In/Out aktivieren.
Gerade bei TV-Streamdaten werden die Daten oft nicht fehlerfrei empfangen - manche Programm konvertieren fehlerhafte Frames einfach nicht mit, wodurch Bild und Ton asynchron werden, was besonders bei sehr langem Filmmaterial (bei mir z.B. 6 Stunden) auffällt.

Jetzt könnte man noch Audiospuren deaktivieren, um Speicherplatz zu sparen. Dazu unten bei Audio PID das jeweilige zu löschende Audioformat auswählen und per Edit / Delete Audio Track entfernen.

Um den .mpg-Container zu erstellen geht man auf File / Convert to MPEG und innerhalb kürzester Zeit hat man eine .mpg-Datei.

2) Schneiden und konvertieren ins MPEG4-Format
Dazu geht man in Avidemux und öffnet die zuvor erzeugte .mpg-Datei. Dabei kommt eine Meldung, ob indiziert werden soll, die man bejahend bestätigt. Falls man noch mehrere Tonspuren in der .mpeg-Datei hat, sollte man jetzt über Audio / Maintrack die richtige auswählen.
Danach kann man beliebige Schnittpunkte setzen und dann das Ausgabeformat einstellen.
Dazu geht man links bei Video auf die Dropdownliste und wählt MPEG-4 ASP (Xvid4).

Um die Bildqualtität zu behalten, wähle ich dort Encoding type 'Same quantizer as input', Interlaced, Chroma optimizer.

Bei Motion & Misc sollte man noch das richtige Pixel Aspect Ratio einstellen.
  • Bei 16:9 nimmt man 64 : 45
  • Bei 4:3 nimmt man 16 : 15
Das muss man machen, weil Fernsehmaterial in der PAL-Auflösung von 720x576 daherkommt, um Bandbreite zu sparen. Wie man sieht ist das weder 4:3 noch 16:9. Damit der Player dann weiß, wie das Bild gestretcht werden soll, gibt man über PAR an, wieviel Platz ein Pixel am Bildschirm eigentlich wirklich benötigt.

Danach verlässt man den Video-Dialog und stellt bei Audio die gewünschten Audioformate ein, was ich hier aber nicht näher erkläre. Meine Preferenz liegt bei AAC mit 192kbit.

Danach wählt man das Format, in dem die Ausgabe erfolgen soll. Dabei sollte man das neuere und bessere MP4 wählen und nicht mehr AVI, ich hatte damit aber bei einigen Videos ein ziemliches Ruckeln.

Deshalb konvertiere ich zuerst alles ins AVI-Format. Nachdem das AVI-Format dann testweise einmal abgespielt wird (bestens dafür geeignet ist der VLC Video Lan Client Player) sollte man kontrollieren, ob das Video auch im richtigen Format 4:3 bzw. 16:9 wiedergegeben wird.
Falls man PAR vorher vergessen oder falsch eingegeben hat, kann man das nämlich jetzt über das Programm MPEG4Modifier recht rasch noch korrigieren. Es erfolgt dabei nämlich ebenso kein Recode.

Wenn die AVI-Datei dann passt öffne ich diese nocheinmal in Avidemux, wähle bei Video Copy und bei Audio auch Copy und als Format MP4, um die Datei dann in das bessere MP4 Format zu wandeln. Dies geht auch recht flott, weil wieder kein Recode gemacht wird sondern nur eine Kopie angefertigt wird.



Konvertieren eines Videos für den Creative ZEN

Ich stand länger vor dem Problem, wie ich Videos für meine Creative ZEN 8GB richtig konvertiere. Nach einigen Ausprobieren und Internet Recherchen stelle ich euch hier meinen kleinen Guide zur Verfügung.

Zum Umwandeln verwende ich den kostenlos erhältlichen MEncoder, welcher bei MPlayer dabei ist. Dieser ist extrem vielseitig und frisst so ziemlich jedes Input-Format. Dieser lässt sich auch prima auf einem USB-Stick mitnehmen.
MPlayer mit MEncoder

Um möglichst viele Input-Format umwandeln zu können, sollte man sich das Codec-Pack holen, welches man in das MPlayer Hauptverzeichnis entpackt (dann kann man z.B. auch wmv umwandeln)
Zusätzliche Codecs für so ziemlich jedes Input-Format

Falls noch jemand Doku dazu will:
Ältere (aber Meinung nach bessere Doku) für Mencoder



Der grundsätzliche Aufruf für gute Qualtität für den Zen sieht so aus:

mencoder -oac mp3lame -lameopts abr:br=196 -ovc xvid -xvidencopts fixed_quant=5:chroma_opt:lumi_mask:threads=2 -vf scale=320:240,harddup ... -o C:\output.avi C:\input.avi

Das möchte ich jetzt gar nicht näher erklären, für Infos dazu gibts ja die Doku.


Was muss man bei Interlaced Videos beachten? (z.B. vom Festplatten-Recoder)
Dazu verwendet man für Xvid die Option interlacing, man sollte dann auch einen interlaced-sicheren Scaler verwenden, dies geschieht mit scale=...:1

mencoder -oac mp3lame -lameopts abr:br=196 -ovc xvid -xvidencopts fixed_quant=5:chroma_opt:lumi_mask:threads=2:interlacing -vf scale=320:240:1,harddup -o C:\output.avi C:\input.avi

Was für eine Scale benötigt man für 16:9 Videos?

scale=320:180

Wie kann man ein 4:3 aus einem 16:9 Video herausschneiden?
Um das ganze Display des Zen zu benutzen muss man bei einem 16:9 Video Teile des Bildes links und rechts wegschneiden.

-vf crop=[width]:[height]:[start_x]:[start_y]

Crop legt dabei Quasi einen Ausschnitt über die originale Auflösung und schneidet den Rest weg. Wir müssen also die Breite und Höhe des Ausschnitts definieren, und an welcher x/y-Koordinate dieser beginnt.

Bei Video im Format 16:9 (1024x576) würde man für 4:3 einen Ausschnitt von 768x576 (weil 576/3*4) verwenden. Damit dieser Ausschnitt zentriert liegt, rücken wir x auf 128 (= [1024-768]/2) ein.

-vf crop=768:576:128:0

Wie schneide ich ein 4:3 aus einem 16:9 PAL-Video heraus?

Etwas kniffliger wird das ganze, wenn das Ausgangsformat gar kein richtiges 16:9 ist, sowie das bei PAL auftritt. Für ein PAL Video im 16:9 Format muss sich aus der PAL-Auflösung herausrechnen, wie groß der Ausschnitt sein muss.

Pal-Auflösung tatsächlich: 720x576
wäre 16/9 aber: 1024x576
Das entsprich einem Verhältnis von 64/45 (720 * 64 / 45 = 1024)

Wir wollen aber aus dem 16/9 (1024x576) ein 4/3 ausschneiden (768x576). Wenn man das Verhältnis darauf anwendet (768 * 45 / 64 = 540) weiß man, wie groß der Ausschnitt aus dem echten PAL-Signal heraus sein muss. Dann wieder zentrieren ([720 - 540]/2 = 90).

Das Ergebnis wäre dann also folgendes:

-vf crop=540:576:90:0,scale=320:240