Ich nehme ein UIImage aus der Png-Datei und füttere es dem videoWriter.
avAdaptor appendPixelBuffer: pixelBuffer
Wenn das Endergebnis-Video erscheint, fehlt ihm die eine Farbe, die gelbe Farbe oder etwas fehlt.
Ich nehme die Funktion, die den Pixel-Puffer aus dem UIImage gemacht hat,
%Vor%Ich versuche auch die kCVPixelFormatType_32AGRB und andere, es hat nicht geholfen.
irgendwelche Gedanken?
Vielleicht passen die Bildgrößen nicht zusammen.
Ihr Eingangsbild sollte die gleiche Breite und Höhe wie die Videoausgabe haben. Wenn sich "myWidth" oder "myHeight" von der Größe des Bildes unterscheidet (d. H. Ein anderes Seitenverhältnis), kann ein Byte am Ende der Zeile verloren gehen, was zu einer Farbverschiebung führen könnte. kCVPixelFormatType_32BGRA scheint das bevorzugte (schnellste) Pixelformat zu sein, also sollte dies in Ordnung sein.
Es gibt keine gelbe Farbe im RGB-Farbraum. Dies bedeutet, dass Gelb nur das & gt; Rot & lt; und & gt; grün & lt; Komponenten. Es scheint, dass & gt; blau & lt; fehlt.
Ich nehme an, dass Sie ein CFDataRef (möglicherweise NSData) für das Bild verwenden. Wenn es sich um ein NSData-Objekt handelt, können Sie die Bytes mit
an die Debug-Konsole ausgeben %Vor%Dies wird einen Hex Dump auf die Konsole ausgeben. Hier können Sie sehen, ob Sie Alpha haben und welche Art von Byte-Reihenfolge Ihr Png ist gleich. Wenn Ihr Bild Alpha hat, sollte jedes vierte Byte dieselbe Nummer sein.