RGB-Kanäle in FFMPEG zusammenführen

760
Draconis

Ich habe drei Graustufenvideos, die die roten, grünen und blauen Kanäle eines Videos darstellen. Ich habe sie mit dem extractplanesFilter extrahiert und durch verschiedene Pipelines geschickt.

Jetzt möchte ich sie noch einmal kombinieren. Aber während extractplanesdas perfekt funktioniert, mergeplanesist es nicht. Mein erster Versuch war folgender:

[r][g][b] mergeplanes=0x001020 [output] 

Dies interpretiert meine RGB-Kanäle als YUV, was ich nicht will. Mein nächster Versuch war folgender:

[r][g][b] mergeplanes=0x001020:rgb24 [output] 

Laut der Fehlermeldung Only planar formats with more than one component are supported.(Gleiches gilt für alle anderen RGB- und RGBA-Pixelformate, die ich ausprobiert habe.)

Gibt es eine andere Möglichkeit, diese Kanäle wieder zusammenzusetzen? Oder eine Möglichkeit, die mergeplanesRGB-Ausgabe zu überzeugen ?

0

1 Antwort auf die Frage

0
Draconis

Wie in der Fehlermeldung angegeben, mergeplaneskann nur in einem planaren Format ausgegeben werden: alle Werte der ersten Komponente zusammen, dann alle Werte der zweiten Komponente und so weiter. Die RGB-Formate von FFMPEG sind nicht planar: Sie gruppieren die Werte nach Pixel und nicht nach Komponenten. So mergeplaneskann nicht mit ihnen arbeiten.

FFMPEG unterstützt jedoch das GBRP-Format (Green-Blue-Red Planar). Sie können also mergeplanesexportieren und dann von dort in RGB konvertieren. Ändern Sie einfach die Reihenfolge der Komponenten.