Video-Renderer ... Was/Wozu/Wie?

Beim ahnungslosen Herumstöbern auf 4chan bin ich auf ein Bild gestoßen.

Etwas stutzig geworden bin ich, weil mit ffdshow unter einem Vergleichsbild etwas aufgelistet wurde, was wir (vermutlich) alle bei unseren avs-skripten zur Clip-Erstellung verwenden;
Außerdem sind mir Haali (als Videosplitter) und MPC-HC (als Wiedergabeprogramm) auch schonmal über den Weg gelaufen.
Bisher dachte ich dass in diesem Zusammenhang ffdshowsource(),avisource() und directshowsource() “nur” verschiedene Decodierungungsverfahren sind sind.

Nach einer kurzen Google-Suche habe ich herausgefunden, dass es bei dem Vergleich in dem Bild um “VideoRenderer” geht und das Bild so ähnlich auch in einem Post vom madVR-“Entwickler” auftaucht.

Meine Fragen zu denen ich noch keine wirklich zufriedenstellenden Antworten gefunden habe:
-Wo schaltet sich bei der Verarbeitung von Videodateien dieser Video-Renderer ein bzw. kennt man das schon unter einem anderen Namen?
-Wie hängen die beiden oben genannten ffdshow’s zusammen?

-Kann man mit diesem Wissen irgendwas im Hinblick auf AMVs anfangen? :stuck_out_tongue:

Es wäre ganz cool, wenn jemand in dieses Durcheinander aus Halbwissen etwas Ordnung bringen könnte oder mich auf Seiten verweisen könnte, die einem die Zusammenhänge erklären :wink: .
Edit: Ihr habt ja recht ^^

Verlinkung lässt keine Hotlinks zu. Statt dem Bild wird nur ein 4chan.org-Banner angezeigt. =(

Ein Bild von 4chan direkt verlinken
Von /a/, wo ein thread eh höchstens 10 Minuten lang überlebt.

Ahem.

Video Renderer: Im Prinzip ist das einfach nur das letzte Glied in einer Kette von Programmen die die Wiedergabe einer komprimierten Datei ermöglichen. Wenn du dir das kleine Programm Graphedit besorgst und mal eine Videodatei reinwirfst dürfte dir einiges klarer werden:

Als Grundlage hast du hier also die Datei in der die rohen Datenströme sitzen.
Durch den Codec, oder besser Dekomprimierungsprogramm, werden diese Datenströme zu einem unkomprimiertem Strom von Bildern im YV12-Farbraum
(Hier im Bild hängt noch Vobsub dazwischen was dafür zuständig ist das Video und die Softsubs zu einem Bild zusammenzufügen)
Der Video Renderer als letztes ist dann für die Ausgabe der Bilder auf deinem Bildschirm verantwortlich. Da dieser mit den YV12-Bildern nichts anfangen kann, sondern in aller Regel nur mit RGB-Bildern, du das Video wahrscheinlich auch in einer anderen Größe guckst als es abgespeichert ist (1280x720 auf 1920x1080 Monitor im Vollbild) und deine Grafikkarte eine sture Bildfolge von wahrscheinlich 60 Hz ausgibt während das Video wahrscheinlich nur 24 fps hat, ist es die Aufgabe des Video Renderers folgende Schwierigkeiten möglichst gut zu kompensieren die man alle auf deinem Beispiellink bewundern kann:

  • Rot- bzw. Grün-Verpixelung, entstehend dadurch da diese Farben das Ende der beiden Farbkanäle bei YUV darstellen, die im Fall von YV12 nur mit halber Auflösung abgespeichert werden.
  • Verpixelung generell entstehend durch das Skalieren auf andere Größen
  • Screen-tearing, entstehend durch asynchronität beim Ausgeben der Einzelbilder des Videos nicht angepasst an die Wiedergaberate der Grafikkarte / des Monitors (meißt 60 Hz)

In aller Regel bewältigen die gängigen Renderer in heutigen Systemen diesen Prozess gut genug dass ein normaler Mensch keinen Unterschied feststellen kann. Bloß bei Qualitativ miserablen Quellen (320x240 Auflösung) kann es definitiv noch einen optischen Unterschied machen, aber in der heutigen Zeit werden solche Quellen immer seltener.

Nein. Das einzig beeinflußbare hierbei ist die YV12 -> RGB konvertierung, da gängige Software wie Vegas und Premiere ausschließlich in RGB arbeiten. Wenn man die Schritte aus dem Guide befolgt schmeisst man Clips mit YV12-Farbraum in die Schnittsoftware, d.h. die Schnittsoftware übernimmt die Konvertierung in RGB. Wenn du Videophil bist und meinst diese Programme machen dabei keinen guten Job kannst du diese Konvertierung auch vorher machen (z.B. in Avisynth), musst dann aber mit doppelt so großen Dateien leben da ein Einzelbild im RGB-Farbraum grademal doppelt soviel Speicherplatz frisst wie im YV12 Farbraum. Hat schon seinen Grund warum das der Farbraum ist in dem alle gängigen Codecs komprimieren.
Kurz: Ein ändern des Farbraums kostet immer Qualität. Zweimal ändern (YV12 -> RGB -> YV12) lässt sich nicht vermeiden beim AMV-Prozess.
Aber das hat mit dem Video Renderer gar nix zu tun.

Okay ^^ die 4chan verlinkung habe ich mal rausgeschmissen :stuck_out_tongue:

Danke für deine Hilfe JCD … ich denke dadurch ist mir einiges klarer geworden.

Im Bezug auf ffdshow und mpc-hc, bezieht sich das Bild auf Video-Renderer, die von diesen Codecs verwendet werden?
Oder gibt da einen anderen/gar keinen Zusammenhang?

Nein, ich bin der Video Phil :smiley: