Unione di canali RGB in FFMPEG


0

Ho tre video in scala di grigi, che rappresentano i canali rosso, verde e blu di un video. Li ho estratti usando il extractplanesfiltro e li ho inviati attraverso diverse condutture.

Ora vorrei combinarli di nuovo. Ma mentre extractplanesfunziona perfettamente, mergeplanesnon lo è. Il mio tentativo iniziale è stato questo:

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

Questo interpreta i miei canali RGB come YUV, che non è quello che voglio. Il mio prossimo tentativo è stato questo:

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

Ma secondo il messaggio di errore, Only planar formats with more than one component are supported.(lo stesso per tutti gli altri formati di pixel RGB e RGBA che ho provato).

C'è un altro modo per rimettere insieme questi canali? O un modo per convincere mergeplanesa produrre RGB?

Risposte:


0

Come dice il messaggio di errore, l' mergeplanesoutput può essere eseguito solo in un formato planare: ovvero, tutti i valori del primo componente insieme, quindi tutti i valori del secondo componente insieme e così via. I formati RGB di FFMPEG non sono planari: raggruppano i valori per pixel, non per componente. Quindi mergeplanesnon posso lavorare con loro.

Tuttavia, FFMPEG supporta il formato GBRP (verde-blu-rosso planare). Quindi puoi mergeplanesesportare in quello, quindi convertire in RGB da lì. Basta cambiare l'ordine dei componenti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.