This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62A7:分离视频流时出现 GStreamer 颜色格式错误

Guru**** 2330840 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1508293/am62a7-gstreamer-color-format-error-when-splitting-video-stream

器件型号:AM62A7

工具/软件:

SDK 版本:10_00_00_08

我正在使用此 GStreamer 命令将一个 viedo streram 拆分为两个、但存在问题、两个输出的颜色错误。

实际上、左侧部分的颜色是正确的、表格应该是黄色、但右侧部分是蓝色。

这是命令

gst-launch-1.0 v4l2src device=/dev/video3 io-mode=dmabuf-import ! \
video/x-bayer, width=1920, height=1536, framerate=60/1, format=bggr12 ! \
tiovxisp sink_0::device=/dev/v4l-subdev4 \
sensor-name="X3F" \
dcc-isp-file=/opt/imaging/ox03f/dcc_viss.bin \
sink_0::dcc-2a-file=/opt/imaging/ox03f/dcc_2a.bin format-msb=9 ! \
video/x-raw, format=NV12, width=1920, height=1536, framerate=60/1 ! \
tiovxmultiscaler name=multi \
src_0::roi-startx=0 src_0::roi-starty=0 src_0::roi-width=1280 src_0::roi-height=720 \
src_1::roi-startx=0 src_1::roi-starty=0 src_1::roi-width=1920 src_1::roi-height=1080 \
multi.src_0 ! video/x-raw, width=1280,height=720,format=NV12 ! queue ! mosaic.sink_0 \
multi.src_1 ! video/x-raw, width=640,height=720,format=NV12 ! queue ! mosaic.sink_1 \
tiovxmosaic name=mosaic \
sink_0::startx="<0>" sink_0::starty="<0>" \
sink_1::startx="<1280>" sink_1::starty="<0>" ! \
kmssink driver-name=tidss sync=false skip-vsync=true

这是流水线。

我之前更新了 gsttiovxmultiscaler 后面的插件,我很确定在更新之前不存在颜色不匹配问题

AM62A7:GStreamer kmssink 延迟问题-处理器论坛-处理器- TI E2E 支持论坛

我也尝试了 videotestsrc 输出蓝屏,但在 sink_1中也出现了错误的颜色。

gst-launch-1.0 videotestsrc is-live=true pattern=6 ! \
video/x-raw, width=1920,height=1536,format=NV12 ! \
tiovxmultiscaler name=multi \
src_0::roi-startx=0 src_0::roi-starty=0 src_0::roi-width=1280 src_0::roi-height=720 \
src_1::roi-startx=0 src_1::roi-starty=0 src_1::roi-width=1920 src_1::roi-height=1080 \
multi.src_0 ! video/x-raw, width=1280,height=720,format=NV12 ! queue ! mosaic.sink_0 \
multi.src_1 ! video/x-raw, width=640,height=720,format=NV12 ! queue ! mosaic.sink_1 \
tiovxmosaic name=mosaic \
sink_0::startx="<0>" sink_0::starty="<0>" \
sink_1::startx="<1280>" sink_1::starty="<0>" ! \
video/x-raw, format=NV12, width=1920, height=720 ! \
kmssink driver-name=tidss sync=false

我在没有更新 Gstreamer 插件的机器上测试此命令、工作正常。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jason:

    我已将您的问题转交给我们的专家。 请期待尽快答复。

    此致、

    Suren

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jason:

    感谢您的报告。 我已经使用 videotestsrc 在我这边复制了它。 让我看看这个,并尽快回到你。

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中:

    只是跟进一下、是否 有任何关于此问题的更新?

    此致、

    Jason

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jason:

    我们仍在调查并试图找出根本原因。 在我的测试中、我发现问题可能与第二个缩放图像的宽高比有关。 例如、以下流水线可运行而不会出现任何问题:

    gst-launch-1.0 videotestsrc is-live=true pattern=6 ! \
    video/x-raw, width=1920,height=1536,format=NV12 ! \
    tiovxmultiscaler name=multi \
    src_0::roi-startx=0 src_0::roi-starty=0 src_0::roi-width=1240 src_0::roi-height=720 \
    src_1::roi-startx=0 src_1::roi-starty=0 src_1::roi-width=1920 src_1::roi-height=1080 \
    multi.src_0 ! video/x-raw, width=1240,height=720,format=NV12 ! queue ! mosaic.sink_0 \
    multi.src_1 ! video/x-raw, width=680,height=720,format=NV12 ! queue ! mosaic.sink_1 \
    tiovxmosaic name=mosaic \
    sink_0::startx="<0>" sink_0::starty="<0>" \
    sink_1::startx="<1240>" sink_1::starty="<0>" ! \
    video/x-raw, format=NV12, width=1920, height=720 ! \
    kmssink driver-name=tidss sync=false
    

    此致、

    建中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的建中:

    是否 有关于此问题的任何更新?

    我注意到一个有趣的现象-当我在上面的 videotestsrc 命令中从 MSC 分割一个额外的分支时,颜色变得正常。

    这是命令

    gst-launch-1.0 videotestsrc is-live=true pattern=6 ! \
    video/x-raw, width=1920,height=1536,format=NV12 ! \
    tiovxmultiscaler name=multi \
    src_0::roi-startx=0 src_0::roi-starty=0 src_0::roi-width=1280 src_0::roi-height=720 \
    src_1::roi-startx=0 src_1::roi-starty=0 src_1::roi-width=1920 src_1::roi-height=1080 \
    multi.src_0 ! video/x-raw, width=1280,height=720,format=NV12 ! queue ! mosaic.sink_0 \
    multi.src_1 ! video/x-raw, width=640,height=720,format=NV12 ! queue ! mosaic.sink_1 \
    multi.src_2 ! video/x-raw, width=1920,height=1536,format=NV12 ! queue ! fakesink \
    tiovxmosaic name=mosaic \
    sink_0::startx="<0>" sink_0::starty="<0>" \
    sink_1::startx="<1280>" sink_1::starty="<0>" ! \
    video/x-raw, format=NV12, width=1920, height=720 ! \
    kmssink driver-name=tidss sync=false

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jason:

    我们无法找出原因。 感谢您提供更多信息。

    此致、

    建中