PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie transcodiert man richtig?


Gast
2008-11-19, 11:06:10
Hallo,

ich habe heute ein Video mit VLC transcodiert, bin aber mit dem Ergebnis nicht voll zufrieden und weiß nicht wirklich Rat. Hauptsächlich geht es um die Wahl der Bitrate beim Video- und Audiocodec.

An meinem konkreten Beispiel hatte ich ein Video zur hand, das interlaced war. Ich wollte es nur zwecks de-interlacing transcodieren, was für Parameter sollte ich also wählen, ohne die Qualität zu verschlechtern? Ich kam nicht wirklich auf eine Idee. Klar, nachsehen welche Bitrate das Original hat, aber VLC zeigt das in der Medien-Information nicht an und auch mit diversen Tools aus dem Netz kam ich auf nichts.

Und dann wäre da noch etwas: Ich hab das Video testweise mal auf drei verschiedenen System transcodiert, um die Zeitunterschiede zu messen, aus reinem Interesse. Seltsamerweise sind die transcodierten Videos alle unterschiedlich groß, wie kommt das?

Nr. 1: 26 299 165 Byte
Nr. 2: 26 329 254 Byte
Nr. 3: 26 323 276 Byte

...bei gleicher Eingabe würde ich ja normalerweise gleiche Ausgabe erwarten. :)

Gast
2008-11-20, 12:35:34
An meinem konkreten Beispiel hatte ich ein Video zur hand, das interlaced war. Ich wollte es nur zwecks de-interlacing transcodieren, was für Parameter sollte ich also wählen, ohne die Qualität zu verschlechtern?


garnicht transcodieren, jede erneute (verlustbehaftete) kompression verschlechtert zwangsweise die qualität, selbst wenn du die bitrate 3* höher als beim original wählst.
deinterlacing kannst du wunderbar bei der wiedergabe machen, die qualiät die du eventuell durch offline-deinterlacing gewinnst verlierst du locker durch die erneute kompression.

Seltsamerweise sind die transcodierten Videos alle unterschiedlich groß, wie kommt das?

die bitrate die du einstellst ist nur ein richtwert, welchen der encoder im mittel erreichen soll. jeder moderne videocodec nutzt VBR, damit ist die endgültige größe nicht genau vorhersagbar.

wenn du genau eine bestimmte dateigröße erreichen willst musst du 2-pass-encoding verwenden (wobei es natürlich immer noch ein paar bytes unterschied geben kann). dabei aber nicht vergessen, dass der audiostream auch noch platz braucht und ein wenig platz für die metainformationen des containers gebraucht wird.