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.

[参考译文] TDA4VH-Q1:保存多映像

Guru**** 2393725 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1491278/tda4vh-q1-mulicam-image-save

器件型号:TDA4VH-Q1
主题中讨论的其他器件:TDA4VH

工具与软件:

我使用的是 tda4vh 和 SDK 9.2.0.5版本

我目前正在使用 mulicam 编解码器应用程序保存8个摄像头图像。


在此过程中、我要保存 png 图像和视频。


我该怎么办?

可以多通道编解码器同时存储视频和 png 图像


如果不起作用、我可以继续在 mulicam 应用程序中保存 png 图像

如果没有、是否有办法在 mulicam 应用程序中保存每一帧的 png 图像

谢谢你

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

    我想在 multicam 应用程序中将其另存为 YUV 文件、而不必将其另存为 png、

    但我如何单独为每个摄像头保存它


    我在 multicam 中打开了 en_out_LDC_write 选项、并将其另存为"S"、作为 YUV 文件


    'vx_zone_error:[vxCopyUserDataObject:299] Invalid user data object reference (vx_zone_error:[vxCopyUserDataObject:299]用户数据对象引用无效)错误

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

    您好、Kim、

    如果您要使用 en_out_LDC_write 选项、则说明 SDK 中有问题、其修复方法在版本说明中提到、

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/09_02_00_05/exports/docs/tiovx/tiovx_release_notes.html#Known_Issues

    应用 tiovx 目录中发行说明中提到的补丁。

    或者、替代方法是将 LDC_OUTPUT 设置为图形参数、并且您可以在应用程序中处理帧(保存到一个文件)。

    但如何单独为每个摄像机保存该文件

    如果将 LDC_OUTPUT 设置为图形参数、则必须使对象数组排队/出队、并且对象数组中的每个元素将是每个摄像头的帧、则可以在应用中相应地进行处理。

    如果您想将其与  en_out_LDC_write 一起使用、请查看   APP_SEND_cmd_LDC_write_node ()的定义、其中 tivxNodeSendCommand () API TIVX_CONTROL_CMD_SEND_TO_ALL_COPY_NECTED 用于写入所有8个摄像头图像、您可以修改以指定复制节点(每个摄像头的复制节点)的索引、从而单独保存与每个摄像头的复制节点相关联的帧。

    此致、
    Gokul

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

    你好
    当我应用上述补丁文件时、我在按下"S"按钮时保存了作为 vis 和 LDC 结果的 YUV 文件。

    但当我打开文件时、我遇到了问题。


    对于 LDC 结果文件、摄像头0正常保存、但其余摄像头似乎没有第一张图片中所示的数据。 以前、

    我们讨论了"TIVX_CONTROL_CMD_SEND_TO_ALL_COPY_NOTS"、但我必须重复 TIVxNodeSendcommand 函数8次、以同时节省8个摄像头。


    在 vis 的情况下,颜色的变化,如第二张图片中所示奇怪,如果你打开8个摄像头, 我们只得到4个结果

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

    您好、Kim、

    我们谈到"TIVX_CONTROL_CMD_SEND_TO_ALL_COPY_NOTS"、但我必须重复 TIxNodeSendcommand 函数8次才能同时节省8个摄像头。[/QUOT]

    如果您使用此宏 TIVX_CONTROL_CMD_SEND_TO_ALL_COPY_NOTS、这将向所有节点发送命令

    如果指定复制节点的索引、则必须调用让我们说4次以保存4台摄像机、或者6次以保存6台摄像机。

    在 app_multi_cam.cfg 中将 BYPASS_SPLIT_GRAPH 配置更改为1

    此更改后、我可以正确保存4个摄像头的图像、8个摄像头的8个文件正在保存、但无法验证数据、因为我只有4个摄像头。

    您能将其选中一次吗。

    此致、
    Gokul

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

    我确认图像已正常保存。 感谢你的评分

    我想、在通过按下"S"按钮成功采集数据后、

    我将其更改为不带按钮进行采集、但仅保存最后一个文件。

    如何继续保存所有帧的图像

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

    您好、Kim、

    如何保存所有帧的图像

    您可以使用 num_FRAMEs_to_write cfg 以仅按一次"s"连续保存指定帧数的图像。

    此致、
    Gokul

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

    我也使用了这个选项来解决这个问题。


    即使数字非常大、也是否存在功能问题、或者是否有办法无限期存储该数字

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

    我通过增加我捕获的帧数来测试它、

    但随着我返回、板会变慢、

    我不知道如何解决它

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

    您好、Kim、

    这是正常的,它取决于存储介质的写入速度,如果你保存8个图像,让我们假设30fps,每个图像1.5MB,大约是360MB/sec 所需的写入速度

    这会减慢 EVM 的速度。

    此致、
    Gokul

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

    感谢你的帮助。

    我解决了所有的问题,速度也解决了,把它保存为 SSD,而不是保存为 SD 卡。


    但是、在捕获期间经过一段特定的时间后、它将如下面的日志所示消失。 这是硬件问题吗? 我使用定制电路板。

    此外、这种现象会减少您捕获的摄像机数量、从而延长了死亡时间。

     Enter Choice: [  180.239003] kauditd_printk_skb: 1 callbacks suppressed
    [  180.239013] audit: type=1701 audit(1743150872.514:15): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=1214 comm="vx_app_multi_ca" exe="/opt/vision_apps/vx_app_multi_cam.out" sig=4 res=1
    [  180.241703] Core dump to |/lib/systemd/systemd-coredump pipe failed
    [  180.241706] Core dump to |/lib/systemd/systemd-coredump pipe failed
    [  180.244166] audit: type=1701 audit(1743150872.514:16): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=214 comm="systemd-journal" exe="/lib/systemd/systemd-journald" sig=4 res=1
    [  180.255949] Core dump to |/lib/systemd/systemd-coredump pipe failed
    [  180.255962] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b
    [  180.255966] CPU: 7 PID: 1 Comm: systemd Not tainted 6.1.80 #1
    [  180.255970] Hardware name: Texas Instruments J784S4 EVM (DT)
    [  180.255973] Call trace:
    [  180.255976]  dump_backtrace.part.0+0xdc/0xf0
    [  180.255994]  show_stack+0x18/0x30
    [  180.255998]  dump_stack_lvl+0x68/0x84
    [  180.256005]  dump_stack+0x18/0x34
    [  180.256009]  panic+0x184/0x344
    [  180.256013]  make_task_dead+0x0/0x180
    [  180.256017]  do_group_exit+0x34/0x90
    [  180.256020]  get_signal+0x724/0x790
    [  180.256024]  do_notify_resume+0x23c/0xda0
    [  180.256029]  el0_undef+0x74/0x84
    [  180.256033]  el0t_64_sync_handler+0xf0/0x140
    [  180.256038]  el0t_64_sync+0x18c/0x190
    [  180.256042] SMP: stopping secondary CPUs
    [  180.260658] Kernel Offset: disabled
    [  180.260659] CPU features: 0x40000,20028084,0000420b
    [  180.260664] Memory Limit: none
    [  180.375107] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b ]---
    p��@�@
    

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

    您好、Kim、

    请就此问题提交另一主题。

    谢谢、此致、
    Gokul

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

    好的

    非常感谢