 |
|

24.09.2008, 10:50
|
|
Moderator
|
|
Registriert seit: 21.06.2004
Beiträge: 184
|
|
Rendern von Videos mit Alphakanal
Hallo zusammen,
ich bin mal wieder da.
Ich hab vor wenigen Tagen transparente Animationen für Flash gerendert. Dabei gab es das Problem, dass Vegas nur Dateien mit premultiplied Alpha ausgegeben hat, die der FLV Encoder nicht korrekt interpretieren konnte. Man hatte also einen schwarzen Saum um die Videos.
Um das Problem zu lösen, hab ich die Videos nochmal in AfterEffects importiert und neu gerendert. Dann gings.
Gibt's in Vegas ne Möglichkeit das zu ändern?
Christoph
|

24.09.2008, 13:25
|
|
Vegas-Team
|
|
Registriert seit: 26.04.2003
Beiträge: 7.282
|
|
Welches Format hattest du benutzt - unkomprimiertes AVI, Quicktime oder PNG-Bildsequenzen?
|

24.09.2008, 13:32
|
|
Moderator
|
|
Registriert seit: 21.06.2004
Beiträge: 184
|
|
Reingegangen bin ich mit nr PNG-Bildsequenz.
Rausgerechnet habich dann Quicktime Unkomprimiert und Quicktime PNG.
Mit unkomprimiertem Avi hatte ich glaube das gleiche Problem. Kann ich aber nich mehr genau sagen.
|

24.09.2008, 13:49
|
|
Moderator
|
|
Registriert seit: 21.06.2004
Beiträge: 184
|
|
Ja,
beim unkomprimierten Avi wird auch erstmit nem schwarzen Hintergrund vorgerechnet, also wieder premultiplied.
Christoph
|

24.09.2008, 15:18
|
|
|
Mitglied.
|
|
Registriert seit: 07.09.2007
Beiträge: 1.283
|
|
Dieser Farbsaum ist auch noch Einbisschen abhängig in welcher Farbe die Grafik ist.
Einige Farben bekommt man beim Reimportieren in Vegas wieder sauber andere nicht.
Ich kann auch keinen Zusammenhang zu einer Farbwarnung sehen.
Ob PNG oder AVI, immer hat man diesen dunkeln Farbsaum.
Ich kenne das von anderen Programmen, wo immer die Farbe vom Hintergrund in die Grafik mit einfliest, obwohl gar keine Farbe vom Hintergrund mehr Aktiv da ist.
Das gleiche macht Vegas auch, nur das es eben die Farbe Schwarz nimmt.
Leider kann man Vegas nicht austricksen da es eben immer nur dieses Schwarz nimmt.
Das es ein Vegas internes Problem ist, kann man auch daran sehen das Vegas das auch mit Fremdgrafiken macht wenn man sie Ausrendert.
Macht man in Vegas einen Hintergrund dazu, ist aber alles sauber.
|

24.09.2008, 15:37
|
|
Moderator
|
|
Registriert seit: 21.06.2004
Beiträge: 184
|
|
Hallo Jöörch,
Farbsaum ist wahrscheinlich n schlechter Begriff dafür.
Es ist jedenfalls so, dass Vegas beim verarbeiten der transparenten Bildteile die schwarze Hintergrundfarbe mit in die Berechnung einfließen lässt.
Das ist ja auch nicht weiter schlimm, da es ja auch eine legitime Methode ist. Ich würde nur gern eine "reine Farbberechnung" verwenden.
Importiert man Material mit "premultiplied alpha", kann man von Vegas ja den falschen Hintergrund wieder ordentlich rausrechnen lassen. Aber der FLV Encoder bietet diese Option eben leider nicht an.
Christoph
|

24.09.2008, 16:46
|
|
Vegas-Team
|
|
Registriert seit: 26.04.2003
Beiträge: 7.282
|
|
Dass Vegas beim Rendern mit transparentem Hintergrund die Transparenz schwarz ausgibt und dieses Schwarz dann später wieder extrahiert wird, ist ein Irrtum. Vegas erzeugt dabei kein Schwarz, sondern einen richtigen Alphakanal (mit möglichen Transparenzwerten von 0 bis 255).
Da wird auch nicht das Schwarz des Hintergrundes mit reingenommen. Der Hintergrund ist nur eine Vorschaudefinition. Eigentlich existiert in der Vegas-Timeline gar kein Hintergrund, solange keiner erzeugt wird. Nur bei Export zu Formaten ohne Alphakanal wird dort Schwarz mit RGB 0/0/0 gesetzt, weil in dem diesem Fall daraus ja irgendwie "Fleisch und Blut" erzeugt werden muss.
Wäre es so, dass Vegas transparente Hintergründe tatsächlich zu Schwarz machen würde, dann könnte z.B. eine schwarze Schrift auf transparentem Hintergrund später nie mehr wieder differenziert werden. Dem ist aber nicht so. Wird schwarze Schrift mit Alpha-Kanal gerendert und wieder importiert, dann bleibt die Schrift aufs Pixel exakt definiert und der Hintergrund entsprechend transparent (Alpha-Kanal muss eben manuell gewählt werden).
Es bleiben auch beim Reimport in Vegas (nachdem Vegas etwas auf transparentem Hintergrund exportiert hat) keine schwarzen Ränder, sofern nur auch der richtige Alpha-Kanal zugewiesen wurde.
Was mit dem in Vegas korrekt ausgegebenem Alpha-Kanal und somit auch mit den Rändern eines Vordergrundobjektes geschieht, ist allein eine Frage der lesenden Software, die den Alpha-Kanal wieder korrekt interpretieren muss, bzw. die darauf korrekt abgestimmt werden muss.
Da ist also kein "falscher" Hintergrund, er muss nur korrekt gelesen werden.
"Aber der FLV Encoder bietet diese Option eben leider nicht an."
Genau das ist der springende Punkt. Der FLV-Encoder ist nicht in der Lage, den Alpha-Kanal korrekt zu lesen. Die einzige Lösung ist dann vermutlich, ein anderes FLV-Tool zu nutzen. Wenn ich mich nicht irre, hatte ich solche Dinge schon gemacht (mit Chromakeying in Vegas) und die FLV/SWF-Ausgabe war sauber.
|

24.09.2008, 16:46
|
|
|
Mitglied.
|
|
Registriert seit: 07.09.2007
Beiträge: 1.283
|
|
Ich muss ja gestehen das ich überhaupt keine Ahnung habe was FLV ist.
Wie und wo gibt man das den aus.
|

24.09.2008, 17:04
|
|
Moderator
|
|
Registriert seit: 21.06.2004
Beiträge: 184
|
|
Hallo,
ein Beispiel zum Verständnis:
Ich habe in Vegas einen weißen Text (#ffffff) mit 50% Transparenz.
Vor dem schwarzen Kompositionshintergrund hat der Text also die Farbe #888888.
Beim Export in ein Alpha-fähiges Format - eben z.B. Quicktime mit 32bit Farbtiefe und PNG-Kompression, erzeugt Vegas einen Farbpixel #888888 mit Alphawert 128. Das Schwarz wurde also mit der Farbe verrechnet, eben "premultiplied".
Beweis:
Lade die erzeugte Datei wieder in Vegas (siehe Anhang). Man sieht in der Vorschau schon den schwarzen Hintergrund. Stellt man nun den Alphakanal des Events auf "Straight (nicht mattiert)", hat man keinen weißen Text mit 50% Transparenz, sondern eben einen grauen Text mit 50% Transparenz. Erst mit "Vormultipliziert" und einer gewählten schwarzen Farbe wird die Farbe korrekt herausgerechnet und man kommt wieder zu einem weiß mit 50% Transparenz.
@Jöörch: FLV ist ein Containerformat von Adobe, mit dem man im Flash Player Videos darstellen kann.
Christoph
Edit: Der FLV-Konverter erwartet eben einen sauberen Farbkanal.
|

24.09.2008, 17:29
|
|
Vegas-Team
|
|
Registriert seit: 26.04.2003
Beiträge: 7.282
|
|
Soweit ist das zwar korrekt, aber das ist nur eine zusätzliche Maßnahme der Alphakanal-Integration für (lesende) Software, die Transparenz anders gar nicht interpretieren könnte. Der Alphakanal als solches ist auch beim Vegas-Export ein völlig eigenständiger (vierter) Kanal, zusätzlich zu den drei Farbkanälen. Die Trennung von Transparenz und Vordergrund ist somit immer absolut sauber (bei korrekter Definition). Wenn's der FLV-Encoder nicht sauber interpretiert, fehlt ihm die passende Option.
|
 |
|
|
|
|