Mesclando canais RGB no FFMPEG

0

Eu tenho três vídeos em escala de cinza, representando os canais vermelho, verde e azul de um vídeo. Eu os extraí usando o filtro extractplanes e os enviei através de diferentes pipelines.

Agora eu gostaria de combiná-los novamente. Mas enquanto extractplanes está funcionando perfeitamente, mergeplanes não está. Minha tentativa inicial foi esta:

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

Isso interpreta meus canais RGB como YUV, o que não é o que eu quero. Minha próxima tentativa foi esta:

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

Mas, de acordo com a mensagem de erro, Only planar formats with more than one component are supported. (o mesmo para todos os outros formatos de pixel RGB e RGBA que eu tentei).

Existe outra maneira de reunir esses canais? Ou alguma maneira de convencer mergeplanes a gerar RGB?

    
por Draconis 14.10.2016 / 20:42

1 resposta

0

Como a mensagem de erro diz, mergeplanes só pode produzir em um formato planar: ou seja, todos os valores do primeiro componente juntos, depois todos os valores do segundo componente juntos, e assim por diante. Os formatos RGB do FFMPEG não são planares: eles agrupam os valores por pixel, não por componente. Então mergeplanes não pode trabalhar com eles.

No entanto, o FFMPEG suporta o formato GBRP (Green-Blue-Red Planar). Então você pode ter mergeplanes export para isso, então converta para RGB a partir daí. Apenas mude a ordem dos componentes.

    
por 14.10.2016 / 21:31