+ Antworten
Ergebnis 1 bis 10 von 10
  1. #1
    Obsidianforscher Avatar von DevinXXL
    Registriert seit
    25.11.2010
    Beiträge
    2.179
    Minecraft
    DevinXXL

    Merkwürdiger Farbverlust beim Rendern eines Videos

    Moin moin und hallo!
    Seit gewisser Zeit arbeite ich mit Videos, doch nach dem Rendern (h.264, MPEG-4) bemerke ich immer einen ziemlichen Farbverlust. Quelldatei ist auch h.264 (aus einer mkv), sollte also nicht das Problem sein.
    Google ergab, dass es sich bei Quicktime-Formaten um einen Gammashift-bug handelt, wie man den behebt hab ich auch herausgefunden, nur leider behebt sich da bei mir nix --> Es ist nicht dieser bug.

    Sobald die Videos allerdings auf Youtube sind (Und auch NUR da) ist die Farbe beinahe wieder wie im Original. Ich kann es mir nicht erklären.

    Damit ihr es euch besser vorstellen könnt, hier mal ein Bild:



    Zum Rendern verwende ich After Effects, dies tritt allerdings auch mit KDENLIVE (Ubuntu) auf.
    Nachträgliche Farbkorrektur endet in einer Katastrophe (ist auch nicht Sinn der Sache) und manuelle farbanpassung endet darin, dass es zu dunkel wird, was läuft da schief?

    In der RAM-Vorschau sind die Farben auch (noch) da, nach dem rendern eben nicht mehr.
    Und bitte keine Vorschläge wie "render doch als avi", denn das tue ich grundsätzlich nicht. Es MUSS h.264 sein.

    Danke schonmal

  2. #2
    Förster
    Registriert seit
    27.05.2011
    Beiträge
    47
    Also eine direkt Antwort kann ich dir nicht geben, da ich mich nicht so gut mir Rendern auskenne.
    Jedoch würde ich erstmal einfach zum Test mit einem anderen Programm rendern,wieMoviemaker oder Camtasia und gucken was dabei raus kommt.

  3. #3
    Architekt Avatar von Valance
    Registriert seit
    28.11.2010
    Beiträge
    1.665
    Minecraft
    Valance
    Kenne mich mit Videos jetzt mal so gar nicht aus, aber könnte es nicht auch an der Farbpalette liegen? Bzw. irgendwo in den Einstellungen des Codecs eingestellt sein, das er die Farben aus einer Palette nehmen soll? Überleg mal, es macht schon einen Unterschied ob ich ein Bild mit 32 Bit ( RGBA ) / 24 Bit ( RGB ) Farbinformationen vorliegen habe, oder (mal ganz extrem) pro Pixel nur 1 Byte (8 Bit) für eine Farbe benötige. Schau mal nach.



  4. #4
    Obsidianforscher Avatar von DevinXXL
    Registriert seit
    25.11.2010
    Beiträge
    2.179
    Minecraft
    DevinXXL
    Zitat Zitat von Toastiy Beitrag anzeigen
    Also eine direkt Antwort kann ich dir nicht geben, da ich mich nicht so gut mir Rendern auskenne.
    Jedoch würde ich erstmal einfach zum Test mit einem anderen Programm rendern,wieMoviemaker oder Camtasia und gucken was dabei raus kommt.
    Wie schon gesagt hab ich, kommt identisches Ergebnis bei raus.

    Zitat Zitat von Valance Beitrag anzeigen
    Kenne mich mit Videos jetzt mal so gar nicht aus, aber könnte es nicht auch an der Farbpalette liegen? Bzw. irgendwo in den Einstellungen des Codecs eingestellt sein, das er die Farben aus einer Palette nehmen soll? Überleg mal, es macht schon einen Unterschied ob ich ein Bild mit 32 Bit ( RGBA ) / 24 Bit ( RGB ) Farbinformationen vorliegen habe, oder (mal ganz extrem) pro Pixel nur 1 Byte (8 Bit) für eine Farbe benötige. Schau mal nach.
    Eben das dachte ich anfangs auch, doch dann habe ich mit den Einstellungen herumgespielt. Der Regler ist fest auf 24bit, allerdings kann man irgendwo anders beim rendern selbst noch alphakanal mit auswählen (entsptäche dann ja 32bit), aber das endet entweder in dem gleichen video oder damit, dass es weiß und 20kb groß ist.

    Aber selbst wenn es das wäre, warum sind die Farben auf Youtube dann plötzlich wieder da? Und alle Videos auf Youtube laden, nur um sie dann in farbe zu haben, ist grausig, denn das dauert ewig und es wird dabei so aggressiv komprimiert, dass ich ein 720p video auf nem 360p handy abspielen kann und selbst dann noch qualitätsverluste sehen würde.

    Andere Ideen?

  5. #5
    Obsidianforscher
    Registriert seit
    29.04.2011
    Beiträge
    3.100
    Zitat Zitat von DevinXXL Beitrag anzeigen
    Aber selbst wenn es das wäre, warum sind die Farben auf Youtube dann plötzlich wieder da?
    Weil beim Abspielen mit Youtube ein anderer Video-Player (Flash oder eben der in HTML5 integrierte) verwendet wird und der die Farben evtl. anders wiedergibt, bzw andere Farbeinstellungen für die Ausgabe verwendet?

    Du darfst nicht nur die Farbeinstellungen beim Umkodieren berücksichtigen, auch jeder (etwas bessere) Player kann bei der Videowiedergabe die Farbwerte verändern. Genauso wie du auf jedem Monitor Kontrast, Farben, Helligkeit, etc einstellen kannst, deswegen gibt aber deine Grafikkarte auch keine andere Farben aus.

  6. #6
    Obsidianforscher Avatar von DevinXXL
    Registriert seit
    25.11.2010
    Beiträge
    2.179
    Minecraft
    DevinXXL
    Ich weiß ja was Youtube benutzt (ich selbst nehme momentan den HTML5 player, auch wenn der buggt) aber eben der verwendet bei 720p meines wissens MPEG-4 und erstmal runtergeladen sind die farben ja auch noch da, weshalb es nicht am player liegen kann.

    Aber mein Problem tritt ja ausschließlich mit frisch gerenderten Videos auf und wie gesagt sobald Youtube die in die finger bekommt sind die Farben ja wieder da, aber was ich auch am Kontrast mache meine Farben sehen niemals auch nur den originalen ähnlich, gibts denn dafür keine erklärung?

  7. #7
    Obsidianforscher
    Registriert seit
    29.04.2011
    Beiträge
    3.100
    Zitat Zitat von DevinXXL Beitrag anzeigen
    Ich weiß ja was Youtube benutzt (ich selbst nehme momentan den HTML5 player, auch wenn der buggt) aber eben der verwendet bei 720p meines wissens MPEG-4 und erstmal runtergeladen sind die farben ja auch noch da, weshalb es nicht am player liegen kann.
    Was bitte hat das mit den Farben zu tun? Der kann ja ruhig MPEG4 verwenden, das sagt nichts darüber aus, welches Farbprofil er bei der Wiedergabe verwendet.

    Zitat Zitat von DevinXXL Beitrag anzeigen
    Aber mein Problem tritt ja ausschließlich mit frisch gerenderten Videos auf
    Vielleicht müssen die Farben ja erst reifen.

    Zitat Zitat von DevinXXL Beitrag anzeigen
    und wie gesagt sobald Youtube die in die finger bekommt sind die Farben ja wieder da, aber was ich auch am Kontrast mache meine Farben sehen niemals auch nur den originalen ähnlich, gibts denn dafür keine erklärung?
    Ähm, neben Kontrast gibts es noch drölfzehn andere Einstellungen, die die Farben beeinflussen. Helligkeit, Farbtemperatur wer weiß in welchem Farbraum dein Player überhaupt rechnet.

    Mit welchem Player spielst du denn deine Videos ab? Schonmal nen anderen versucht, und geguckt ob der die Farben vielleicht auch anders wiedergibt?

    Ich bin mir auch nicht sicher, ob Youtube die Videos nicht neu codiert, selbst wenn du MP4 hochlädst und Youtube selbst auch MP4 verwendet, schließt das nicht aus, dass die das Reencoden. Und wer weiß was die beim Reencoden nicht alles für "Bildverbesserer" mitlaufen lassen.

    In deinen Screenshots sieht man aber auch, dass die Farben nach Youtube auch nicht die gleichen sind, wie in deinem Original, was mir wiederrum sagt, dass da überall irgendwas an den Farben gedreht wird. Das was Youtube ausspuckt ist anders und keinesfalls dem Original entsprechend.
    Youtube holt die Farben also auch nicht zurück, sondern es verändert sie nur erneut.
    Geändert von Buuuh (30.11.2012 um 13:22 Uhr)

  8. #8
    Obsidianforscher Avatar von DevinXXL
    Registriert seit
    25.11.2010
    Beiträge
    2.179
    Minecraft
    DevinXXL
    Jah aber was ich auch tue, ich bekomme nicht einmal einen ÄHNLICHEN farbton wie im original hin, youtube schon. Die anderen einstellungen hab ich getestet, kommt immer dasselbe bei raus.

    Abspielen tue ich sie mit dem VLC player, aber auch mit WMP, media player classic und ubuntu's integriertem probiert, ÜBERALL das gleiche. Wenn ich das video erneut importiere, sind die farben ja auch weg, am player liegts somit aber mal mit garantie nicht. Tritt bisher auch ausschließlich bei h.264 auf, mit anderen allerdings geht generell die qualität flöten (oder die dateigröße ist gigantisch, vorteil von quicktime formaten eben), hab auch mal von YT nochmal die MP4 runtergeladen. Auch die weist diesen Farbverlust auf, hingegen webm und flv videoformate (reencoded von youtube) eben haben diesen farbverlust nicht und sehen aus wie oben, allerdings sind diese Formate für meine Vorhaben ungeeignet.

    Ganz im ernst, ist es doch der bekannte Gammabug, von dem ich gelesen habe? Und wieso kann ich ihn dann nicht beheben?

  9. #9
    Obsidianforscher
    Registriert seit
    29.04.2011
    Beiträge
    3.100
    Zitat Zitat von DevinXXL Beitrag anzeigen
    Jah aber was ich auch tue, ich bekomme nicht einmal einen ÄHNLICHEN farbton wie im original hin, youtube schon.
    Also ganz eherlich, ich finde den Youtube Farbton auch nicht "ähnlicher" am Original, als den anderen. Die sind alle 3 unterschiedlich.

    Zitat Zitat von DevinXXL Beitrag anzeigen
    Ganz im ernst, ist es doch der bekannte Gammabug, von dem ich gelesen habe? Und wieso kann ich ihn dann nicht beheben?
    Dann probier doch einfach mal nen anderen Encoder und guck, ob der Farbton immernoch flöten geht.

  10. #10
    Obsidianforscher Avatar von DevinXXL
    Registriert seit
    25.11.2010
    Beiträge
    2.179
    Minecraft
    DevinXXL
    Zitat Zitat von Buuuh Beitrag anzeigen
    Dann probier doch einfach mal nen anderen Encoder und guck, ob der Farbton immernoch flöten geht.
    Ja aber genau das habe ich doch schon längst und mehrmals, ging immernoch flöten...

    Edit: (02.12.2012 um 12:34)

    Nach einigen Stunden google und tests versuche ich es nun mit dem x264 encoder, da es damit angeblich gar nicht erst auftritt. Nur die frage: Hat jemand ein plugin für den VLC player, das es auch für Windows gibt? Linux nutze ich in letzter zeit für sowas eher weniger, liegt zum teil wohl daran dass ich after effects darauf nicht habe.

    Edit: (02.12.2012 um 13:33)

    Okay nun muss ich das Video in After Effects also als AVI rendern, um es dann mit MeGUI und x264 encoden zu können. Problem: Auch hier bleiben nicht alle farben erhalten.
    Zwar deutlich mehr als mit h.264, aber nicht alle. Ähnelt jetzt sogar zum verwechseln dem YouTube ding. Wenn ich die bilder unkomprimiert render, geht allerdings pro minute 5-8GB verloren UND ich kann es nicht encoden, was ein dickes problem ist, weil mit den avi codecs die farbe ja weg geht. Vorschläge?

    @Buuuh du scheinst dich da ja eher mit auszukennen.

    Edit: (05.12.2012 um 17:02)

    Falls es mal wen interessieren sollte: Ich habe den Bug nun zu 99% beseitigt. Dies habe ich wie folgt getan:
    Ich habe vorm encoden den gamma wert auf 0.88 gesetzt, scheint das natürlichste zu sein. Danach eben gerendert und als h.264 encodet. Nun haben aber sämtliche Player noch immer nicht die originalfarben. Zu beheben ganz leicht (das wird youtube wohl auch gemacht haben): Die Videoausgabe sollte OpenGL oder GDI sein, mit DirectX gibt es unter windows farbprobleme. Man kann allerdings auch einen farbverlustfreien codec verwenden, das ganze als avi rendern und durch x264 jagen, dann kommts selbe bei raus.

    Ein blogger hat auch erklärt woran das liegen mag: "...After Effects will first modify the pixel values to boost the mid-tone brightness, by applying a gamma..."

    Ich versuche aktuell, dieses problem noch zu 100% zu umgehen, aber im moment ist das so zumindest akzeptabel.

+ Antworten