PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : x264 vs. XviD - Wie groß ist die die Platzersparnis?


Gast
2008-04-26, 06:03:09
Wenn ein ca. 48 min langer Film mit der Auflösung 768*526 Bildpunkten als XviD kodierter Film ca. 450 MB groß ist, wie groß wäre er dann bei gleicher Bildqualität, wenn man ihn mit dem x264 Codec kodieren würde?

Also wieviele MByte spart man unter Verwendung von x264 gegenüber XviD ein?

In dieser Frage gehen wir davon aus, daß jeweils beide Versionen die gleiche Ausgangslage haben, also z.B. der Originalfilm im AVI Rohformat vorliegt.

kokett
2008-04-26, 06:09:30
Kommt ganz auf die Encoder Settings an, ich denke mal dass du evtl. 50-100MB einsparen kannst. Qualitätsempfinden ist halt immer subjektiv, aber wenn das original auch schon ein reencode von irgendwas ist, und es dann nochmals in xvid oder x264 encodiert wird, ist es so oder so scheisse.

Gast
2008-04-26, 06:20:41
Kommt ganz auf die Encoder Settings an, ich denke mal dass du evtl. 50-100MB einsparen kannst.

Nicht mehr?
Keine 150 MB?


Qualitätsempfinden ist halt immer subjektiv, aber wenn das original auch schon ein reencode von irgendwas ist, und es dann nochmals in xvid oder x264 encodiert wird, ist es so oder so scheisse.

Also das Zeug liegt im Rohformat vor, also was halt so ein MiniDV Camcorder hergibt.

Bei der Auflösung habe ich mich übrigens vertan, das müßten 768 × 576 Bildpunkte sein.

Phantom1
2008-04-26, 09:35:26
Am besten du probierst es einfach aus und encodierst das video in h264 und gibts eine maximale größe von zb 300 MB an, dann kannst du ja selbst sehen ob dir die qualität ausreicht.

Zum umwandeln empfehle ich dir AviDemux (http://www.razorbyte.com.au/avidemux) in der h264 konfiguration gibts du dann an "Zweifach-Durchlauf Videogröße" und dort dann die 300 MB.

Gast
2008-04-26, 11:08:42
wenn die quelle in guter qualität vorliegt sollte x264 schon ca. 50-65% der größe von XviD bei vergleichbarer qualität erreichen.

(del)
2008-04-28, 00:49:10
Hmm... :frown: Klärt mich jemand auf was ich falsch mache? Ich hab mich mal mit TMPGEncXpress 4.4 versucht. Dadrin enthalten und benutzt:
Divx6.7 (VBR 3.5Mbit bis 4Mbit) vs. MainConcept h264/avc (3Mbit).
Sound jeweils 32Khz/128bit.

Quelle war ~100MB dv-avi. Divx wurde 11.5MB, h264/avc 10MB. Das wäre das eine. Das andere ist, die Qualität ist sogut wie identisch :confused:

Gast
2008-04-28, 01:12:37
Also ich habe jetzt meine Tests durchgeführt und komme zu der Schlußfolgerung,
daß man mit MPEG-4 AVC gegenüber MPEG-4 ASP nichts gewinnt wenn es darum geht
die Datenmenge zu reduzieren.

Ein Video in DVD Auflösung das mit XViD (MPEG-4 ASP) bei einer durchschnittlichen Bitrate von 990 kb/s enkodiert wurde sieht sieht immer noch besser aus, als genau das gleiche Video, daß mit x.264 (MPEG-4 AVC) und einer leicht niedrigeren Bitrate von 899 kb/s enkodiert wurde.

D.h. durch Verwendung von H.264 kann man bei DVD Auflösung die Datenmenge gegenüber XViD kaum bis gar nicht reduzieren und wenn überhaupt, dann nur unwesentlich, vielleicht 30 kb/s weniger Bitrate oder wie in diesem Video
ca. vielleicht 10 MB Einspareffekt.

Das Video habe ich 3 mal mit x.264 kodiert.
Jeweils immer mit unterschiedlicher Bitrate.

Version 1: 699 kb/s Dateigröße 337 MB
Version 2: 799 kb/s " 381 MB
Version 3: 899 kb/s " 399 MB

Und dann noch das XVid Video:
XVid 990 kb/s Dateigröße 427 MB

Bei Version 1 sind schon erhebliche Verwaschungen und Ausfranzungen gegenüber dem Original erkennbar. Man sieht sogar beim bloßen zuschauen ohne das Original zu kennen, daß das Video ziemlich verschwommen bzw. blurred ist.

Bei Version 2 ist das eine Größenordnung besser, aber im direkten Vergleich fallen die Fehler halt trotzdem stark auf.

Bei Version 3 muß man schon etwas genauer hinschauen, aber auch hier hat die XVid Version mit 990 kb/s bei z.B. Gesichtsflächen oder einem Hemdkragen mehr schärfe als das x264 Video.

Alle x.264 Videos haben gemeinsam das sie mehr oder weniger stark verschwommen aussehen. D.h. da ist ein Blug Effekt vorhanden.




Ehrlich gesagt bin ich daher irgendwie von x.264 enttäuscht.
Denn zu der Tatsache daß es nichts bringt kommt noch hinzu,
daß der x.264 encoder noch nicht richtig zu funktionieren scheint, denn der Film
hatte auch ein paar wenige Bilder erhebliche Fehler bei dem man nichts sieht außer
wildes Farbrauschen.

Desweiteren braucht das x.264 darüberhinaus auch noch mehr Rechenpower zum dekodieren und wenn der Rechner leicht ausgelastet ist, dann führt das zu Blockschiebeeffekten.


Die beste Wahl ist daher immer noch MPeg-4 ASP. Bzw. hier der XVid Codec.

Gast
2008-04-28, 01:15:03
Hmm... :frown: Klärt mich jemand auf was ich falsch mache? Ich hab mich mal mit TMPGEncXpress 4.4 versucht. Dadrin enthalten und benutzt:
Divx6.7 (VBR 3.5Mbit bis 4Mbit) vs. MainConcept h264/avc (3Mbit).
Sound jeweils 32Khz/128bit.

Quelle war ~100MB dv-avi. Divx wurde 11.5MB, h264/avc 10MB. Das wäre das eine. Das andere ist, die Qualität ist sogut wie identisch :confused:

Da du die Bitrate bei h264 niedriger gewählt hast, ist das fertige h264/AVC Video auch kleiner.

Das mit der identischen Qualität kommt aber nicht hin, siehe mein Posting über diesem. Schau mal ganz genau hin in einem direktvergleich.

Gast
2008-04-28, 01:20:55
Zum testen wurde Avidemux 2.4.1 verwendet.

Welche Version Avidemux von den beiden Encodern x264 und XVid verwendet steht leider nicht dabei. Die sind bei Avidemux ja alle eingebaut.


Separat ist bei meinem Ubuntu 8.04 die x264 Version vom 24.12.2007 installiert, aber die wird ja wohl von Avidemux nicht verwendet, da Avidemux seine eigene x264Version integriert.
Gleiches gilt für den XVid Codec der in 1.1.2 Version vorliegt.

Rhönpaulus
2008-04-28, 01:42:26
h264 ist schon deutlich besser.
ich setzte es mittlerweile durchweg für meine tv-aufzeichnungen ein.
wie bei xvid auch kommt es sehr auf die zahlreichen parameter an.
ein allgemeiner vergleich ist deshalb nicht so ohne weiteres möglich.
nur wenn am pc abgespielt werden soll kann man das volle featureset nutzen.
allgemein kann man sagen das der vorteil von h264 wird um so größer wird je höher die pixelanzahl ist.
als codec hat sich bei mir ffdshow durchgesetzt und bringt mit den richtigen einstellungen sehr gute ergebnisse.
bis es soweit war mußte ich aber auch viel durchprobieren und testen.
bidirektionale frames und der quantisierungsbreich sind dabei die wichtigsten faktoren.

der hauptsächliche nachteil von h264 ist der etwa doppelt so hohe rechenaufwand gegenüber xvid was den zeitaufwand für das encoden entsprechend erhöht.

Gast
2008-04-28, 02:03:10
allgemein kann man sagen das der vorteil von h264 wird um so größer wird je höher die pixelanzahl ist.

Ok, mit dieser Aussage kann ich leben.
Bei DVD Auflösung sind die Vorteile also noch vernachlässigbar gering, wie mein eigener Test mir zeigt.


Was die Einstellungen von XviD betrifft, da habe ich das genommen was Avidemux im großen und ganzen so als Vorgabe hatte.
Lediglich die Bitrate habe ich manuell gewählt.




als codec hat sich bei mir ffdshow durchgesetzt und bringt mit den richtigen einstellungen sehr gute ergebnisse.

Der ist in Avidemux leider nicht eingebaut und steht somit nicht als H.264/AVC Codec zur Auswahl.



bis es soweit war mußte ich aber auch viel durchprobieren und testen.
bidirektionale frames und der quantisierungsbreich sind dabei die wichtigsten faktoren.

Gut eventuell kann man da noch etwas drehen, auch beim x264 habe ich die Voreinstellungen von Avidemux verwendet.



Aber ansonsten wie schon gesagt, eine merkbare Platzersparnis bei gleicher Qualität konnte ich bei dem niedrig aufgeklösten Video durch H.264/AVC nicht erreichen.
Ich bleibe also vorerst bei XViD und die Bildfehler spare ich mir dabei auch.

Gast
2008-04-28, 02:04:27
@Rhönpaulus

Was für Einstellungen verwendest du für deinen H.264/AVC encoder?
Ich könnte ja nochmal mit deinen Einstellungen einen Testdurchlauf machen.

(del)
2008-04-28, 02:04:44
@Gast
Also ich habe jetzt meine Tests durchgeführt und komme zu der SchlußfolgerungDeckt sich mit meinen Erfahrungen.

Wenn das nicht hinkommt mit der Quali, dann bin ich sogar fast der Meinung, daß AVC subjektiv schlechter aussah, da es nicht so knackig war wie Divx/Xvid. Alles war irgendwie übermäßig geglättet. Das Original sah kontrastreicher aus.

Davon ab konnte hier Divx (vom Xvid also mal ab) beim anderen, schlechteren miniDV Material die Bilder noch gleich vom Haus aus rudimentär entrauschen bevor es sie kodierte. Hier bricht sich einfach nur ein Codec ohne weitere Funktionen und vor allem ein AVC komplett den A... ab. MainConcept eigentlich als die Referenz versuchte das Rauschen auf eine Art mitzukodieren welche die Bildqualität nochmals erheblich verschlechterte. Auf dem E8400 @3.65Ghz hat das leichte Entrauschen von Divx den Vorgang nur unerheblich verlängert.

So oder so machten hier erstmal Divx/Xvid das rennen. Vor allem da sie auch auf den meisten Schubladenplayern laufen oder weil mein kleiner "low power" HC-Rechner unter AVC schon ziemlich stöhnt. Preis/Leistung von Divx also erstmal nicht zu schlagen hier.

@Rhönpaulus
Hast du vor deine ffdshow presets mit ins Grab zu nehmen? Sonst würde das der eine oder andere bestimmt gerne ausprobieren.

Nacht.

edit:
Ausgansmaterial war bei mir wie gesagt PAL von miniDV. 1x eine 1A Qualität und 1x eine weniger gute (leichtes Rauschen der alten Kamera wegen schlechten Lichtverhältnissen).

edit2 :hammer:
Zwischen x264 und MainConcept konnte ich keine nenneswerten Unterschiede in der Qualität ausmachen. Der zweite punktet eigentlich nur durch Geschwindigkeit. x264 verschluckte sich hier aber einige wenige Male an paar Frames. MainConcept nicht. Das wars aber auch schon.

Gast
2008-04-28, 14:43:55
Alles war irgendwie übermäßig geglättet. Das Original sah kontrastreicher aus.


alles eine frage der einstellungen, H.264 ermöglicht beispielsweise deblocking direkt beim encoding, was natürlich etwas unschärfe erzeugt.
wenn DivX kontrastreicher wirkt liegt das auch höchstens an unterschiedlichen einstellungen, beispielsweise bei den psycho-visual-enhancements.
generell hat ein konstrastreicheres bild auch weniger informationen und ist damit leichter zu komprimieren.

Rhönpaulus
2008-04-28, 14:53:05
also bei tv-material über dvb-s hat man offtmals mehr oder weniger starke artefakte im bild.
das ist ein problem denn diese artefakte stellen beim erneuten komprimieren zusätzliche bilddetails dar welche ein extra portion datenrate gegenüber einer artefaktfreien quelle benötigen.
deshalb muß man die datenrate um so höher ansetzen je mehr artefakte bereits in der quelle vorhanden sind.
ich setze deshalb bei h264 datenraten von 1100-1500kbit/s und 1600-2300kbit/s bei xvid ein.
beides bringt an meiner hardware und am tv eine bildqualität welche kaum noch von der originalen aufzeichnung zu unterscheiden ist.
dabei spielt auch eine rolle das ich xvid generell in 2pass und h264 wegen des doppelten zeitaufwandes nur in 1pass encode.
h264 in 2pass würde sicher nochmal deutlich niedrigere datenraten bei vergleichbarer subjektiver qualität ermöglichen aber das ist auf meiner hardware einfach zu zeitaufwändig.
drei bis vier spielfilmlängen pro dvd-r reichen mir aus.

wer gute ergebnisse will sollte einfach mit den parametern spielen,jeweils einen kurzen schnippel mit aussagekräftigem bildinhalt in 1pass encoden und diese dann vergleichen.
diese einstellungen kann man dann auch auf das 2pass-verfahren erfolgreich übertragen.
dabei muß man aber beachten das kaufgeräte wie ipod oder dvd-player i.d.r. (noch) nicht alle features decodieren können und man nur auf dem pc als plattform volle handlungsfreiheit bei den optionen hat.

in anhang findet ihr die von mir genutzten enstellungen für xvid-2p und ffdshow-1p.
die optionen für xvid sind screenshots wärend die einstellungen für ffdshow,welche in der registry abgelegt sind,einfach exportiert sind.
falls ihr eure eigenen ffdshow-einstellungen behalten wollt müßt ihr diese zuerst exportieren und sichern bevor ihr sie mit meinen überschreiben tut.

zu beachten ist noch das je nach quelle aspectratio und deinterlacer jeweils angepaßt werden müssen.
ich nutze generell die volle auflösung welche vom tv-sender rüberkommt und schneide die schwarzen ränder weg.
über die einstellung von ar ergibt sich dann automatisch bei der wiedergabe das richtige bildformat.
den deinterlacer nur einsetzen wenn er benötigt wird.
bei xvid bringt der interlaced-mod mehr qualität als jeder deinterlacer so man seine wiedergabe an einem tv mit röhre vornimmt.
bei ffdshow und h264 funktioniert interlaced-mod noch nicht zu meiner zufriedenheit weswegen ich solches bildmaterial dann mit einem deinterlacer zu vollbildern umwandeln muß.
das ist immer ein kompromiss aber ffdshow bietet eine große auswahl an verschiedenen deinterlacingverfahren wobei zwei davon schon sehr gute ergebnisse mit tv-material erreichen.

zum encoden verwende ich nach wie vor eine modifizierte version von vidomi.
neuere encoder haben sich bei mir nicht bewährt und bringen auch keine vorteile.

ps: wenn h264 wie bei dem gast hier generell unscharf wirkt liegt das vermutlich am integrierten deblockingfilter welcher vor der komprimierung einen blurfilter drübersetzt.
diese option einfach nicht verwenden und schon sieht das ganze gleich anders aus.

kackspecht
2008-04-28, 17:01:06
Vorallem bei maximalen Einstellungen ist x.264 deutlich besser als Xvid mit maximalen Einstellungen.
Mit folgenden x.264-Parametern aus MeGUI habe ich sehr gute Ergebnisse erzielt:
--pass 3 --bitrate 1500 --stats ".stats" --ref 16 --mixed-refs --no-fast-pskip --bframes 3 --b-pyramid --b-rdo --bime --weightb --direct auto --subme 7 --trellis 2 --analyse all --8x8dct --vbv-maxrate 25000 --me umh --merange 64 --threads auto --thread-input --progress --no-psnr --no-ssim --output "output" "input"

Hier ist ein professioneller Vergleich der Codecs:
http://compression.ru/video/codec_comparison/mpeg-4_avc_h264_2007_en.html

kackspecht
2008-04-28, 17:11:35
Wenn das nicht hinkommt mit der Quali, dann bin ich sogar fast der Meinung, daß AVC subjektiv schlechter aussah, da es nicht so knackig war wie Divx/Xvid. Alles war irgendwie übermäßig geglättet. Das Original sah kontrastreicher aus.

Dann musst du einfach die beiden Parameter für den Deblocking Filter von 0 auf z.B. -3 ändern, damit das Bild schärfer wird.

Gast
2008-04-28, 18:19:44
h264 in 2pass würde sicher nochmal deutlich niedrigere datenraten bei vergleichbarer subjektiver qualität ermöglichen aber das ist auf meiner hardware einfach zu zeitaufwändig.


wie lange wird es eigentlich dauern bis dieses märchen endlich ausgerottet wird?

multipassencoding alleine bringt erstmal genau 0 qualität.

multipassencoding bringt erstmal den vorteil dass man die endgültige größe des videostreams sehr genau bestimmen kann, beim singlepass ist die eingestellte bitrate ja lediglich ein richtwert der in der realität mehr oder weniger (bei modernen encodern eher mehr) abweichen kann.

der nächste vorteil ist, dass man die mitgespeicherte log-datei bearbeiten kann um manuell beispielsweise wichtigeren szenen etwas mehr datenrate zu gönnen und weniger wichtigen etwas weniger.

wenn man diesen schritt allerdings nicht macht steht in der logdatei genau das drinnen, was der encoder beim single-pass-encoding in einem durchgang gemacht hätte.

multipassencoding macht also nur sinn wenn man extrem viel zeit investiert, und damit meine ich nicht nur rechnerzeit oder aber die endgültige dateigröße beispielsweise durch ein transportmedium genau vorgegeben ist.

aber auch hier ist es fraglich ob der extreme zeitaufwand gerechtfertigt ist, denn wunderdinge kann man sich dadurch nicht erwarten, im prinzip lediglich ein "umschichten" von qualität.

Rhönpaulus
2008-04-30, 02:33:27
ich habe tv-material seit 2002 in großen mengen verarbeitet und habe dadurch umfangreiche erfahrungen machen können.
2pass ist generell ein qualitätsvorteil welcher um so größer wird je länger die videosequenz und je differenzierter der detailgrad innerhalb des streams ist.

1p variiert die datenrate durch einen differenzierungsalgorytmus anhand des detailgrades des bildes in festgelegten grenzen über ein festes vorgegebenes zeitintervall zur laufzeit.
nur innerhalb dieses zeitintvervalls und innerhalb der grenzwerte erfolgt eine sinnvolle anpassung der datenrate.
sobald längere szenen mit überdurchschnittlichem oder unterdurchschnittlichem bedarf an datenmenge vorliegen funktioniert die anpassung nicht mehr zufriedenstellend und es bricht entweder die bildqualität ein oder die als ziel vorgegebene durchschnittsdatenrate wird überschritten/unterschritten.
alle parameter diesbezüglich sind einstellbar aber das ändert nichts an diesem verteilungsverhalten.

2p führt im ersten durchlauf zuerst eine komprimierung mit maximaler bildqualität (minimalem quantisierungsfaktor) durch.
das ziel dabei ist zu ermitteln welche gesamtgröße der stream damit erreicht UND welche datenmenge jeweils für jedes einzelbild verwendet wurde.
das damit gewonnene datenmengenprofil wird nun mit dem quotient aus zieldatenmenge und maximal erreichter datenmenge multipliziert.
heraus kommt das optimale datenratenprofil für den stream und die geforderte gesamtdatenmenge.
es garantiert im gegensatz zum 1pass-verfahren durch eine optimale verteilung immer gleichbleibende subjektive qualität in allen sequenzen sowie die exakte größe des streams um den vorhandenen speicherplatz optimal auszunutzen.
nun muß nur noch der stream im zweiten durchlauf mit diesem errechnetten neuen datenmengenprofil komprimiert und abgespeichert werden.

geht es um einen stream mit geringen oder nur kurzzeitigen starken variationen des detailgrades bringt das 2pass-verfahren nur marginale vorteile und ist deshalb auch nicht mehr sinnvoll.
außerdem kann man die nachteile des 1pass-verfahrens überdecken wenn man eine generell größere durchschnittliche datenrate als eigendlich notwendig verwendet.

wenn man für eine fest vorgegebene datenmenge des streams die maximale qualität erreichen will und dabei unnötigen reserven bei der datenrate vermeiden möchte damit zum beispiel auch vier spielfilme in guter qualität auf eine scheibe passen bietet das 2pass-verfahren speziell in kritischen sequenzen die besseren ergebnisse.

wenn man selber testet und keine nennenswerten unterschiede feststellen kann liegt das i.d.r. an einer nur wenige sekunden/minuten langen sequenz mit nicht aussagekräftigem bildinhalt.
wenn schon muß man das testen was man später auch in der praxis einsetzen will.
auf die länge eines filmes oder einer reportage können ganz andere ergebnisse herauskommen.

ps: es gab nur einen einzigen vernünftigen grund am profil aus dem ersten pass im 2p-verfahren entwas herumzueditieren.
dummerweise erzeugt der abspann mit seiner durchlaufenden hellen schrift auf schwarzem untergrund einen enormen detailgrad mit entsprechend hohem verbrauch an datenmenge.
wenn man hier stärker quantisiert kommt die hier eingesparte datenmenge dem davorliegendem film zu gute.
das editieren per hand ist aber veraltet und überflüssig.
in modernen encodern definiert man einfach solche sequenzen als unwichtig und stellt ein um wieviel prozent datenmengenreduktion diese sequenzen gegenüber der optimalen datenmenge verarbeitet werden sollen.
in der praxis kann man da üblicherweise 50% einsparen.

Phantom1
2008-04-30, 10:56:21
wie lange wird es eigentlich dauern bis dieses märchen endlich ausgerottet wird?

multipassencoding alleine bringt erstmal genau 0 qualität.
Das ist unsinn.

Wie "Rhönpaulus" bereits erwähnt hat bringt 2pass besonders bei längeren videos enorm viel qualität, da die bitrate wesentlich besser im ganzen video verteilt werden kann.

Singlepass macht eigentlich nur sinn bei sehr kurzen videos oder bei live-aufnahmen (zb webcam). Wobei ich bei live-aufnahmen erstmal das video loseless (zb mit huffyuv) aufnehmen würde und anschließend dann mit 2pass komprimieren würde.

Beim Singlepass wird die dateigröße normalerweise nie größer als beim 2pass, sondern meistens kleiner oder gleich, da wie gesagt die bitrate nicht voll ausgenutzt wird.