У меня есть три видео в оттенках серого, представляющие красный, зеленый и синий каналы из видео. Я извлек их, используя фильтр извлечения extractplanes , и отправил их через разные конвейеры.

Теперь я хотел бы объединить их снова. Но в то время как extractplanes работает отлично, mergeplanes нет. Моя первая попытка была такая:

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

Это интерпретирует мои каналы RGB как YUV, а это не то, что я хочу. Моя следующая попытка была такая:

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

Но согласно сообщению об ошибке, Only planar formats with more than one component are supported. (То же самое для всех других форматов пикселей RGB и RGBA, которые я пробовал.)

Есть ли другой способ соединить эти каналы? Или какой-нибудь способ убедить mergeplanes для вывода RGB?

1 ответ1

0

Как говорится в сообщении об ошибке, mergeplanes могут выводиться только в плоском формате: все значения первого компонента вместе, все значения второго компонента вместе и т.д. Форматы FFMPEG RGB неплоские: они группируют значения по пикселям, а не по компонентам. Таким образом, mergeplanes не могут работать с ними.

Однако FFMPEG поддерживает формат GBRP (зеленый-синий-красный плоский). Таким образом, вы можете экспортировать mergeplanes в него, а затем конвертировать в RGB. Просто измените порядок компонентов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .