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.

[参考译文] AM67:简单视频播放无法正常工作

Guru**** 2394295 points
Other Parts Discussed in Thread: AM67, AM67A

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1474068/am67-simple-video-playback-not-working

器件型号:AM67

工具与软件:

您好!

我们希望 在没有任何 AI 组件的情况下在 v3link 板上播放简单的视频流。

c7x 内核是否需要运行/加载固件才能使摄像头正常工作? 如果 AM67 (没有 A)应禁用 AI 内核、我们如何使用 CSI 摄像头输入?

以下是我们将获得的日志:

root@j722s-EVM:~#/opt/edgeai-gst-apps/scripts/setup_cameras_v3link.sh
检测到 IMX219摄像头0
器件=/dev/video-imx219-cam0
名称= imx219
格式=[fmt:SRGGB8_1X8/1920x1080字段:none]
subdev_id =/dev/v4l-imx219-subdev0
ISP_必需=是
LDC_required = yes
root@j722s-evm:~# gst-launch-1.0 v4l2src device=/dev/video-imx219-cam0 io-mode=5! \
> video/x-bayer,宽度=1920,高度=1080,帧速率=30/1,格式=rggb! \
>队列泄漏=2 ! tiovxisp sink_0::device=/dev/v4l-imx219-subdev0
> sensor-name=sensor_Sony_IMX219_RPI DCC-isp-file=/opt/imaging/imx219/linear/dcc_viss_1920x1080.bin \
> sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_1920x1080.bin format-msb=7 \
> sink_0::pool-size=8 src ::pool-size=8! video/x-raw、format=NV12、width=1920、height=1080! \
>队列! 运维受电方
应用程序:初始化...!!!
1275.416506 s:内存:init ...!!
1275.416629 s:MEM:已初始化的 DMA 堆(FD=8)!!!
1275.416790 s:内存:初始化...完成!!
1275.416808 s:IPC:初始化...!!!
_rpmsg_char_find_ctrldev:找不到与 virtio2.rpmsg_chrdev.-1.13匹配的 rpmsg_ctrldev 设备
file_deref_link:/sys/bus/platform/devices/7e000000.dsp 的 readlink 失败
_rpmsg_char_find_rproc:7e000000.dsp 器件大部分尚未创建!
file_deref_link:/sys/bus/platform/devices/7e200000.dsp 的 readlink 失败
_rpmsg_char_find_rproc:7e2000.dsp 器件大部分尚未创建!
1275.477460 s:IPC:错误:无法为 CPU [MCU2_0]创建 TX 通道!!
1275.477478 s:IPC:错误:无法为 CPU [c7x_1]创建 TX 通道!!
1275.477491 s:IPC:错误:无法为 CPU [c7x_2]创建 TX 通道!!
1275.477504 s:IPC:初始化...完成!!
应用程序:错误:IPC 初始化失败!!!
remote_servic: init…!!
_rpmsg_char_find_ctrldev:找不到与 virtio2.rpmsg_chrdev.-1.21匹配的 rpmsg_ctrldev 设备
file_deref_link:/sys/bus/platform/devices/7e000000.dsp 的 readlink 失败
_rpmsg_char_find_rproc:7e000000.dsp 器件大部分尚未创建!
file_deref_link:/sys/bus/platform/devices/7e200000.dsp 的 readlink 失败
_rpmsg_char_find_rproc:7e2000.dsp 器件大部分尚未创建!
Remote_servic:初始化...完成!!!
1275.479514 s:GTC 频率= 200 MHz
应用程序:初始化...完成!!!
1275.479647 s:vx_zone_info:全局启用 vx_zone_error
1275.479663:vx_zone_info:全局启用 vx_zone_warning
1275.479677 s:vx_zone_info:全局启用 vx_zone_info
1275.480434 s:vx_zone_info:[tivxPlatformCreateTargetId:134]添加了目标 MPU-0
1275.480632 s:vx_zone_info:[tivxPlatformCreateTargetId:134]添加了目标 MPU-1
1275.480740 s:vx_zone_info:[tivxPlatformCreateTargetId:134]添加了目标 MPU-2
1275.480836 s:vx_zone_info:[tivxPlatformCreateTargetId:134]添加了目标 MPU-3
1275.480856 s:vx_zone_info:[tivxInitLocal:126] Initialization done!!
1275.480872 s:vx_zone_info:全局禁用 vx_zone_info
正在将管道设置为暂停...
1275.491616 s:vx_zone_error:[ownContextCreateCmdObj:161]上下文对象描述符[0]分配失败
1275.491675 s:vx_zone_error:[ownContextCreateCmdObj:164]上下文对象描述符[0]分配失败
1275.491692 s:vx_zone_error:[ownContextCreateCmdObj:165]已超过可用的最大对象描述符。 增加 TIVX_PLATION_MAX_OBJ_DESC_SHM_INST 值
1275.491710 s:vx_zone_error:[ownContextCreateCmdObj:166]将 source/platform/psdk_j7/common/tivx_platform_psdk_中的 TIVX_PLATION_MAX_obj_DESC_SHM_INST 值增大 soc .h
1275.491731 s:vx_zone_error:[vxCreateContext:1098]上下文异议创建失败
1275.491759 s:vx_zone_error:[ownIsKernelInContext:677]无法锁定上下文
1275.491776 s:vx_zone_error:[ownGetErrorObject:55]未能锁定上下文
1275.491792 s:vx_zone_error:[vxGetStatus:1178] Reference is NULL (参考为 NULL)
1275.491807 s:vx_zone_error:[vxLoadKernels:209]为模块 openvx-core 发布函数失败
1275.491840 s:vx_zone_error:[vxAllocateUserKernelId:1787]无法锁定上下文
1275.491856 s:vx_zone_error:[tivxAddKernelDmpacSde:394]无法分配用户内核 ID
1275.491871 s:vx_zone_error:[vxLoadKernels:209]为模块 hwa 发布函数失败
1275.491892 s:vx_zone_error:[vxAllocateUserKernelId:1787]无法锁定上下文
1275.491908 s:vx_zone_error:[tivxAddKernelDLPreProcArmv8:185]无法分配用户内核 ID
1275.491923 s:vx_zone_error:[vxLoadKernels:209]为模块 edgeai_img_proc 发布函数失败
管道处于活动状态、不需要 PREROLL ...
管道是 PREROLLED ...
正在将管道设置为播放...
1275.494716 s:vx_zone_error:[ownIncrementReference:668]未能锁定参考
新时钟:GstSystemClock
1275.494788 s:vx_zone_error:[ownAddReferenceToContext:385]无法锁定上下文
1275.494834 s:vx_zone_error:[ownCreateReference:770]添加对上下文的引用失败
1275.494856 s:vx_zone_error:[ownCreateReference:779]无法添加到资源表
1275.494872 s:vx_zone_error:[ownGetErrorObject:55]未能锁定上下文
1275.494888 s:vx_zone_error:[vxGetStatus:1178] Reference is NULL (参考为 NULL)
1275.494949905 s:vx_zone_error:[vxGetStatus:1178] Reference is NULL (参考值为 NULL)

**(GST-LAUNCH-1.0:1642):临界**:00:40:39.661:gst_tiovx_get_size_from_examplar:断言'vx_Success == vxGetStatus (examplar)"失败
错误:来自元素/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:没有可从中导入的下游池。
其他调试信息:
/usr/4510debug/gstreamer1.0-plugins-good/1.22.12/sys/v4l2/gstv4l2object.c(5471) src:gst_v4l2_object_decision_allocation ():/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
在导入 DMABUF 或 USERPTR 时、我们需要从中导入一个池
执行在0:00:00.334945295之后结束
正在将管道设置为空...
错误:来自元素/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:内部数据流错误。
其他调试信息:
/usr/4510debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesrc.c src (3134):gst_base_src_loop ():/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
流已停止、未协商原因(-4)

(gst-launch-1.0:1642):Gstreamer-video-critical **:00:40:39.996:gst_video_info_from_caps:asserting 'caps!= NULL' failed.
错误:来自元素/GstPipeline:pipeline0/GstTIOVXISP:tiovxisp0:无法初始化 TIOVX 模块
其他调试信息:
/usr/4510debug/edgeai-gst-plugins/1.0.0/gst-libs/gst/tiovx/gsttiovxmiso.c src (1512):gst_tiovx_miso_negotated_src_cap ():/GstPipeline:pipeline0/GstTIOVXISP:tiovxisp0
正在释放管道...
1275.832584 s:vx_zone_error:[vxUnloadKernels:258]无法为模块 hwa 卸载内核
1275.832635 s:vx_zone_error:[vxUnloadKernels:258]无法为模块 edgeai_img_proc 卸载内核
1275.832682 s:vx_zone_error:[ownDecrementReference:625]未能锁定参考
应用程序:Deinit ...!!!
Remote_service:Deinit ...!!!
1275.837401 s:IPC:错误:关闭创建的端点失败!!!
1275.837425 s:IPC:错误:关闭创建的端点失败!!!
1275.837438 s:IPC:错误:关闭创建的端点失败!!!
Remote_servic: Deinit...完成了!!!
1275.837462 s:IPC:Deinit ...!!
捕获到 SIGSEGV
在 wait4 ()中来自/usr/lib/libc.so.6的#0 0x0000ffaffa2bf0d30
/usr/lib/libglib-2.0.so.0中 g_on_error_stack_trace ()中的#1 0x0000ffa2d85e6c
#2 0x0000000000405220英寸? ()
#3.
#4 0x0000ffa2ba2814在?? ()来自/usr/lib/libc.so.6
/usr/lib/libtivision_apps.so.10.1.0中的 appIpcDeleteRpmsgRxTask ()中的#5 0x0000ff9fe4d058
#6 0x0000ffff9fe4c41c /usr/lib/libtivision_apps.so.10.1.0
#7 0x0000ffff9fe56700 in appCommonDeInit () from /usr/lib/libtivision_apps.so.10.1.0
#8 0x0000ffa23a9004英寸 ()来自/usr/lib/libgsttiovx-1.0.so.1
#9 0x0000ffa2ced020在 g_object_unref ()中来自/usr/lib/libgobject-2.0.so.0
#10 0x0000ffffa23adc84在?? ()来自/usr/lib/libgsttiovx-1.0.so.1
#11 0x0000ffa2ced020 in g_object_unref () from /usr/lib/libgobject-2.0.so.0
#12 0x0000ffa2f18658 in?? ()来自/usr/lib/libgstreamer-1.0.so.0
#13 0x0000ffa2f17828 in gst_bin_remove () from /usr/lib/libgstreamer-1.0.so.0
#14 0x0000ffa2f17b9c 输入? ()来自/usr/lib/libgstreamer-1.0.so.0
#15 0x0000ffa2cecf1c 在 g_object_unref ()中来自/usr/lib/libgobject-2.0.so.0
#16 0x0000000000404dfc 在?? ()
#17 0x0000ffa2b484f4 in?? ()来自/usr/lib/libc.so.6
#18 0x0000ffa2b485cc 来自/usr/lib/libc.so.6的_libc_start_main ()中
#19 0x0000000000403c30 in?? ()
软件。 请运行"gdb gst-launch-1.0 1642"以继续调试、运行 Ctrl-C 退出、或运行 Ctrl-\转储内核。

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

    您好!

    如需从 传感器流式传输到显示器、请参阅此常见问题解答: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1427869/faq-sk-am69-how-to-stream-from-csi-sensor-and-usb-camera-to-display-using-gstreamer

    如果您有 任何其他问题、请告诉我。

    谢谢!

    Fabiana

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

    Fabiana,

    这些示例都需要 gstreamer tiovxisp、它无法在 AM67 (?)上运行

    是否有示例在不使用 tiovxisp 的情况下访问"device=/dev/video-imx219-cam0?
    我可以使用这些器件吗?
    /dev/v4l/by-path/platform-30122000.ticsi2rx-video-index1
    /dev/v4l/by-path/platform-30122000.ticsi2rx-video-index2
    /dev/v4l/by-path/platform-30122000.ticsi2rx-video-index0
    /dev/v4l/by-path/platform-30122000.ticsi2rx-video-index3

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

    尊敬的 Evan:

    这些示例已经过验证、可用于 AM67。 您是否正在使用 AM67A Edge AI SDK?

    谢谢!

    Fabiana

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

    尊敬的 Fabiana:

    我们要购买的是 AM67、而不是 AM67A、因此我有意在器件树中省略 C7x 内存分割和固件。
    您能否告知我们是否必须购买 AM67A 来支持 FPD Link 摄像头?

    请参阅以下规格中的图像。
    我们打算购买的硬件上不会提供 c7x 内核。



    我将确认该设置可以在启动 C7x 内核等后正常运行、但我们需要了解是否需要整个堆栈。 如果不需要、我们不会更喜欢运行整个 edgeai 堆栈。 我们希望某些设计仅具有1GB 的存储器(目前分割区为2GB)、而对于某些应用、我们只需要两个 FPD Link 摄像头、仅连接在 A53内核上、因此如果可能、这些应用的额外开销和复杂性不会是首选。

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

    尊敬的 Evan:

    您是否无法成功运行以下流水线? 无需 C7x 即可运行。 请确保您已预先连接显示器。

    gst-launch-1.0 \
    v4l2src device=/dev/video-imx219-cam0 io-mode=5 ! queue leaky=2 ! \
    video/x-bayer, width=1920, height=1080, framerate=30/1, format=rggb ! \
    tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name="SENSOR_SONY_IMX219_RPI" \
    dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_1920x1080.bin \
    sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_1920x1080.bin format-msb=7 ! \
    video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! \
    kmssink driver-name=tidss sync=false

    有关 edgeai-gst-plugins 的更多信息: https://github.com/TexasInstruments/edgeai-gst-plugins/wiki

    谢谢!

    Fabiana

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

    尊敬的 Fabiana:

    感谢您的支持、但此命令会导致上述相同故障。

    我们将 LVDS 屏幕连接到 Card1。
    如果我在 kmssink gst 模块中指定了错误的 connector-id、则会收到一个不同的错误、表明屏幕未连接。

    我将设置我的硬件以启用 C7x 内核。

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

    尊敬的 Evan:

    您使用的 SDK 版本是什么?  imx219流水线中需要 tiovxisp 元素、因为该传感器需要 ISP 调优二进制文件。

    [quote userid="36781" url="~/support/processors-group/processors/f/processors-forum/1474068/am67-simple-video-playback-not-working@root~ j722s-evm: #/opt/edgeai-gst-apps/scripts/setup_cameras_v3link.sh
    检测到 IMX219摄像头0
    器件=/dev/video-imx219-cam0
    名称= imx219
    格式=[fmt:SRGGB8_1X8/1920x1080字段:none]
    subdev_id =/dev/v4l-imx219-subdev0
    ISP_必需=是
    LDC_REQUIRED =是[/报价]

    谢谢!

    Fabiana

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

    尊敬的 Fabiana:

    我在设备树中缺少其中一个 r5f 内存分割、导致出现上述错误消息。
    现在流不再崩溃、而是等待数据。

    这是一个 j722s Yocto 构建10.01.08.01。 (PROCESSOR-SDK-LINUX-10_01_08_01.txt)
    我从 processor-sdk-analytics-10.01.00-config.txt 中添加了 meta-edgeai 层的软件包、以尝试使用这个稍后版本测试 FPD-link 摄像头。

    重新启用 c7x 内核后、 我看到固件加载、但似乎我的邮箱配置不正确。
    我们的当前覆盖未配置 C7x 邮箱。

    应用程序:初始化...!!!
    20.901586 s:内存:初始化...!!!
    20.901663 s:MEM:初始化的 DMA 堆(FD=8)!!
    20.901851 s:内存:初始化...完成!!
    20.901869 s:IPC:初始化...!!!
    _rpmsg_char_find_rproc:7e000000.dsp 未探测或不是 Remoteproc!
    _rpmsg_char_find_rproc:7e2000.dsp 未探测或不是 Remoteproc!
    20.962322 s:IPC:错误:无法为 CPU [c7x_1]创建 TX 通道!!
    20.962406s:IPC:错误:无法为 CPU [c7x_2]创建 TX 通道!!
    20.962422 s:IPC:初始化...完成!!
    应用程序:错误:IPC 初始化失败!!!
    remote_servic: init…!!
    _rpmsg_char_find_ctrldev:找不到与 virtio2.rpmsg_chrdev.-1.21匹配的 rpmsg_ctrldev 设备
    _rpmsg_char_find_rproc:7e000000.dsp 未探测或不是 Remoteproc!
    _rpmsg_char_find_rproc:7e2000.dsp 未探测或不是 Remoteproc!
    Remote_servic:初始化...完成!!!
    20.967095s:GTC 频率= 200 MHz
    应用程序:初始化...完成!!!
    20.969471 s:vx_zone_info:全局启用 vx_zone_error
    20.969527 s:vx_zone_info:全局启用 vx_zone_warning
    20.969542 s:vx_zone_info:全局启用 vx_zone_info
    20.971293 s:vx_zone_info:[tivxPlatformCreateTargetId:134]已添加目标 MPU-0
    20.971686 s:vx_zone_info:[tivxPlatformCreateTargetId:134]已添加目标 MPU-1
    20.971896 s:vx_zone_info:[tivxPlatformCreateTargetId:134]已添加目标 MPU-2
    20.972067 s:vx_zone_info:[tivxPlatformCreateTargetId:134]已添加目标 MPU-3
    20.972094 s:vx_zone_info:[tivxInitLocal:126] Initialization done!!
    20.972110 s:vx_zone_info:全局禁用 vx_zone_info
    正在将管道设置为暂停...
    管道处于活动状态、不需要 PREROLL ...
    管道是 PREROLLED ...
    正在将管道设置为播放...
    新时钟:GstSystemClock

    2月27日17:59:22 j722s-evm 内核:k3-dsp-rproc 7e000000.dsp:错误-19:mbox_request_channel 失败
    2月27日17:59:22 j722s-evm 内核:remoteproc remoteproc0:发布7e000000.dsp
    2月27日17:59:22 j722s-evm 内核:k3-dsp-rproc 7e2000.dsp:错误-19:mbox_request_channel 失败
    2月27日17:59:22 j722s-evm 内核:remoteproc remoteproc0:发布了7e2000.dsp
    2月27日17:59:03 j722s-evm kernel[554]:k3-dsp-rproc 7e000000.dsp:error -19:mbox_request_channel failed.
    2月27日17:59:03 j722s-evm kernel[554]:remoteproc remoteproc0:发布了7e000000.dsp
    2月27日17:59:03 j722s-evm kernel[554]:k3-dsp-rproc 7e2000.dsp:error -19:mbox_request_channel failed.
    2月27日17:59:03 j722s-evm kernel[554]:remoteproc remoteproc0:发布了7e2000.dsp


    我已经检查 CSI 引脚、我看到数据正在向处理器进行时钟输入。



    更新了: 我重新添加了 c7x 邮箱、现在视频源在我们的版本中是正常的。

    我将构建的设备树与 TI 的 AM67A WIC 映像进行了比较、发现其支持具有固件和适当邮箱的 C7x 内核。
    我将 C7x 固件指向/dev/null、并看到流在使用常规 WIC 映像时按上文的方式挂起在 EVB 上。

    所以、 我想说的最好、 通过 TI 的原生 FPD 链路实现、我们需要 AM67A、而不能将 AM67与 FPD 链路摄像头一起使用?

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

    尊敬的 Fabiana:

    是否可以使用 media-ctl 将未更正的 FPD 链路流重定向到 gstreamer 可以访问的焊盘(无需 tiovx 模块)?

    实际上,我在你之前链接的文档中看到了这一点! 再次感谢您的帮助。

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

    尊敬的 Evan:

    由于美国假期、请预计我的回复会延迟。

    谢谢!

    Fabiana

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

    尊敬的 Evan:

     使用 AM67A Edge AI SDK 启用和验证了 J722S EVM + Arudcam V3Link + IMX219/IMX390设置。 我相信您的初始问题已经有了解答、接下来我将结束本次主题演讲。 请查看我在下面链接的资源、帮助您解决有关此主题的任何其他问题、并告诉我是否还有其他我可以为您提供的帮助。

    AM67A 边缘 AI 数据流: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-am67a/10_01_00/exports/edgeai-docs/common/edgeai_dataflows.html

    AM67 Academy: 使用摄像头

    [常见问题解答]在 AM6x 上开发摄像头应用时遇到的常见问题-处理器论坛-处理器- TI E2E 支持论坛

    谢谢!

    Fabiana

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

    尊敬的 Fabiana:

    如果没有 C7x 内核、并使用 gstreamer bayer2rgb、我们在640x480下每秒只能可靠地获得大约5帧。 占用大约50%的 CPU。
    看起来我们需要将 Bayer 流映射到某种格式化仪才能有效地对其进行解码。 不过、它是有效的。
    它也非常深和蓝色、如文档所示。

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

    尊敬的 Evan:

    它也非常暗,非常蓝,就像文档所显示的。

    您指的是哪种文档?  您如何捕获这些帧?

    谢谢!

    Fabiana

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

    尊敬的 Fabiana:

    您之前链接至: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1427869/faq-sk-am69-how-to-stream-from-csi-sensor-and-usb-camera-to-display-using-gstreamer

    链接至"ISP 调优指南": https://www.ti.com/lit/an/sprad86a/sprad86a.pdf

    本文档介绍了如何 在使用 tiovx gstreamer 模块之前进行基本检查、以查看摄像头是否工作、并会将其显示为深蓝色。

    以下是我使用的管道: gst-launch-1.0 -v v4l2src device=/dev/video-imx219-cam0 ! video/x-bayer、width=640、height=480、帧速率=5/1、format=rggb! bayer2rgb! autovideosink

    实际输出、该值应该大部分是白光:

    据说、我们可以使用 Glshader 片段对 GPU 上的流进行解码和颜色校正、而无需 C7x 内核。

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

    尊敬的 Evan:

    为了获得最佳图像质量、始终建议进行 ISP 调优。 但是、如果您希望 使用 GStreamer 进行颜色校正、我建议在这种情况下使用 videobalance 来调整色调。 下面的示例使用 DCC 二进制文件、但它们不需要使用 videobalance Gstreamer 元素。

    gst-launch-1.0 \
    v4l2src device=/dev/video-imx219-cam0 io-mode=5 ! queue leaky=2 ! \
    video/x-bayer, width=1920, height=1080, framerate=30/1, format=rggb ! \
    tiovxisp sink_0::device=/dev/v4l-subdev2 sensor-name="SENSOR_SONY_IMX219_RPI" \
    dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_1920x1080.bin \
    sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_1920x1080.bin format-msb=7 ! \
    videobalance hue="-0.5" ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! \
    kmssink driver-name=tidss sync=false

    将 videobalance 色调设置为-1.0将"翻转"颜色、使蓝色显示为 橙色、绿色显示为红色。 上面的示例设置为-0.5、以便蓝色显示为粉红色、绿色显示为紫色、这应该有助于解决 您看到的颜色不平衡问题。

    谢谢!

    Fabiana

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

    尊敬的 Fabiana:

    我确认我们可以用视频上的颜色正确。 但是、它仍然受到 CPU 的限制。
    我们将寻求使用基于 gstreamer 的 gstreamer 模块来帮助实现该目标。

    谢谢!

    Evan

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

    尊敬的 Evan:

    啊、我明白。 我没有使用 Glshader 的经验,但它似乎是一个很好的选择在这里。

    谢谢!

    Fabiana