Не могу конвертировать I420 в RGB в gstreamer - PullRequest
0 голосов
/ 17 марта 2020

эта команда работает нормально:

gst-launch-1.0 -v --gst-debug-level=2 udpsrc port=1234 ! decodebin ! video/x-raw,format=I420 ! autovideosink

эта команда не работает:

gst-launch-1.0 -v --gst-debug-level=2 udpsrc port=1234 ! decodebin ! video/x-raw,format=I420 ! videoconvert ! video/x-raw,format=RGB ! autovideosink

ошибка: failed delayed linking some pad of GstDecodeBin named decodebin0 to some pad of GstVideoConvert named videoconvert0

что не так?

журнал важности:

/ GstPipeline: pipe0 / GstDecodeBin: decodebin0 / avdec_mpeg4: avdec_mpeg4-0.GstPad: sr c: caps = видео / x-raw, формат = (строка) I420, ширина = (int) 1920, высота = (int) 1080, режим чересстрочной развертки = (строка) прогрессивный, режим монофонического просмотра = (строка) монофонический, флаги множественного просмотра = ( GstVideoMultiviewFlagsSet) 0: ffffffff: / right-view-first / left-flipped / left-flpped / вправо-влево / half-aspect / mixed-mono, отношение сторон пикселей = (фракция) 1/1, chroma-site = (строка) mpeg2, колориметрия = (строка) bt709, частота кадров = (фракция) 10/1

весь журнал:

Установка конвейера на PAUSED. .. Конвейер работает и не нуждается в PREROLL ... Установка конвейера в PLAYING ... Новые часы: GstSystemClock /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video / mpegts, система stream = (логическое значение) true, пакетный размер = (int) 188 /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTSDemux:tsdemux0.GstPad:sink: caps = video / mpegts, systemstream = (логический) true, пакетный размер = (int) 188 / GstPipeline: pipe0 / GstDecodeBin: decodebin0 / GstMultiQueue: multiqueue0.GstPad: src_0: caps = video / mpeg, mpegversion = (int) 4, системный поток = (логический) false сток: caps = video / mpeg, mpegversion = (int) 4, системный поток = (логический) false / GstPipeline: pipe0 / GstDecodeBin: decodebin0 / GstMultiQueue: multiqueue0: max-size-buffers = 5 / GstPipeline: pipe0 / GstDecodeBin: decodebin GstMultiQueue: multiqueue0: max-size-time = 0 / GstPipeline: конвейер0 / GstDecodeBin: decodebin0 / GstMultiQueue: multiqueue0: max-size-bytes = 2097152 /GstPipeline:pipeline0/GstDecodeBin:decodebin0/uest video / mpeg, mpegversion = (int) 4, системный поток = (логический) false / GstPipeline: pipe0 / GstDecodeBin: decodebin0 / av dec_mpeg4: avdec_mpeg4-0.GstPad: sink: caps = video / mpeg, mpegversion = (int) 4, системный поток = (логический) false, синтаксический анализ = (логический) true /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMpep4PG4GPG4PG : sr c: caps = video / mpeg, mpegversion = (int) 4, системный поток = (булево) false, проанализировано = (булево) true /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMpeg4VParse:mpeg4vparse0.r10Pad *: caps = video / mpeg, mpegversion = (int) 4, системный поток = (логический) false, проанализированный = (логический) true, профиль = (строка) простой, level = (строка) 1, codec_data = (буфер) 000001b001000001b58913000001000000012000c48d8800553c0487 width = (int) 1920, height = (int) 1080, пропорции пикселя = (фракция) 1/1 /GstPipeline:pipeline0/GstDecodeBin:decodebin0/avdec_mpeg4:avdec_mpeg4-0.GstPad:sink: caps = video / mpeg , mpegversion = (int) 4, systemstream = (булево) false, parsed = (булево) true, профиль = (строка) простой, level = (строка) 1, codec_data = (буфер) 000001b001000001b58913000001000000012000c48d8800553c04871443, ширина = (int) 1920 высота = (int) 1080, пропорции пикселей = (фракция) 1/1 /GstPipeline:pipeline0/GstDecodeBin:decodebin0/avdec_mpeg4:avdec_mpeg4-0.GstPad:src: caps = video / x-raw, format = (строка) I420, ширина = (int) 1920, высота = (int) 1080, режим чересстрочной развертки = (строка) прогрессивный, режим multiview-mode = (строка) моно, флаги multiview-flags = (GstVideoMultiviewFlagsSet) 0: ffffffff: / right -view-first / влево-вправо / влево-вправо / влево-вправо / влево-вправо / половина аспекта / смешанный моно, соотношение сторон в пикселях = (фракция) 1/1, цветность сайта = (строка) mpeg2 , colorimetry = (строка) bt709, частота кадров = (фракция) 10/1 / GstCapsFilter: capsfilter2: caps = video / x-raw, format = (строка) I420 0: 00: 01.480704357 3721 0x7f3f9809a230 ПРЕДУПРЕЖДЕНИЕ грамматика по умолчанию: y: 510: gst_parse_no_more_pads: предупреждение: отложенное связывание не удалось. 0: 00: 01.480728456 3721 0x7f3f9809a230 WARN грамматика по умолчанию. y: 510: gst_parse_no_more_pads: предупреждение: не удалось отложить привязку некоторого пэда GstDecodeBin с именем decodebin0 к некоторому пэду GstVideoConvert с именем videoconvert0 ПРЕДУПРЕЖДЕНИЕ: из элемента / GstPipeline: pipeline0 / GstDecodeBin: decodebin0: сбой отложенного связывания. Дополнительная информация для отладки: ./grammar.y(510): gst_parse_no_more_pads (): / GstPipeline: pipeline0 / GstDecodeBin: decodebin0: сбой с задержкой при привязке некоторого блока GstDecodeBin с именем decodebin0 к некоторому блоку GstVideoConvert с именем videoconvertD / GstP: G0P: .GstDecodePad: src_0.GstProxyPad: proxypad3: caps = video / x-raw, формат = (строка) I420, ширина = (int) 1920, высота = (int) 1080, режим чересстрочной развертки = (строка) прогрессивный, режим множественного просмотра = (строка) mono, multiview-flags = (GstVideoMultiviewFlagsSet) 0: ffffffff: / right-view-first / left-flipped / left-flopped / right-flippped / right-flop / half-aspect / mixed-mono, pixel- соотношение сторон = (фракция) 1/1, цветность сайта = (строка) mpeg2, колориметрия = (строка) bt709, частота кадров = (фракция) 10/1 Перераспределить задержку ... 0: 00: 01.564689538 3721 0x5644dfac2f70 WARN baser c gstbasesr c. c: 3055: gst_base_src_l oop: ошибка: внутренняя ошибка потока данных. 0: 00: 01.564741097 3721 0x5644dfac2f70 WARN baser c gstbasesr c. c: 3055: gst_base_src_l oop: ошибка: поток остановлен, причина не связана (-1) ОШИБКА: от элемента / GstPipeline: конвейер 0 / GstUDPSr c: udpsrc0: Внутренняя ошибка потока данных. Дополнительная информация отладки: gstbasesr c. c (3055): gst_base_src_l oop (): / GstPipeline: pipe0 / GstUDPSr c: udpsrc0: потоковая передача остановлена, причина не связана (-1) Выполнение завершено после 0 : 00: 01.516699193 Установка конвейера на PAUSED ... Установка конвейера на READY ... Установка конвейера на NULL ... Освобождение конвейера ...

1 Ответ

0 голосов
/ 17 марта 2020

Скорее всего, это связано с тем, что выбранное устройство рендеринга не поддерживает RGB в качестве выходного формата.

...