【Tuyaos SDK】sd卡录像问题

IPC/NVR/可视门铃等具备多媒体能力的设备,扫地机/AGV等机器人设备


Post Reply
hellokernel
Posts: 67

问题描述:

在sd卡格式化成功后,触发报警录像,报了“base_path[/mnt/sdcard/DCIM/CHAN0] un writeable” 这个错,无法写卡录像;

“---------record state” 这种打印是tuya_ipc_ss_get_status()的返回值,tuya_ipc_ss_get_status的返回值后面一直是E_STORAGE_UNWRITEABLE 且没有恢复。

谢谢各位。

Attachments
log0928.txt
(2.07 KiB) Downloaded 224 times
User avatar
Passat
Posts: 125

Re: 【Tuyaos SDK】sd卡录像问题

开发者文档中有相关章节。

SDK 需要使用开发者实现的接口 SD_STATUS_E tuya_ipc_sd_get_status(VOID) 来获取卡的状态。

SDK 内部会调用 tuya_ipc_sd_get_status,在返回 SD_STATUS_NORMAL 后,存储目录初始化才能完成。

卡状态获取 tuya_ipc_sd_get_status 由开发者实现,SDK 在卡正常后,才能进行存储功能。

  1. https://developer.tuya.com/cn/docs/iot- ... 1%E7%90%86

  2. https://developer.tuya.com/cn/docs/iot- ... 5%EF%BC%9F

hellokernel
Posts: 67

Re: 【Tuyaos SDK】sd卡录像问题

但是后面一直没有恢复呢,就是说,在卡的状态正常后,tuya_ipc_ss_get_status的返回值还是E_STORAGE_UNWRITEABLE

//卡状态 上报normal
[20250928_19:51:56][09-28 19:51:55 ty E][fc14][ty_sdk_sd_card.c:242] ----tuya_ipc_sd_get_status:1
[20250928_19:51:56]write_mode set 1 -> 1

//tuya_ipc_ss_get_status的返回值还是E_STORAGE_UNWRITEABLE
[20250928_19:51:56]2025/09/28 19:51:57.035 !WARN [doorbell_record_proxy_task][0817]---------record state:5

谢谢各位。

User avatar
Passat
Posts: 125

Re: 【Tuyaos SDK】sd卡录像问题

tuya_ipc_sd_get_status 由开发者实现,返回值要与实际情况保持一致。 如有问题需要自行解决。

Last edited by Passat on 2025年 Oct 11日 14:09, edited 1 time in total.
hellokernel
Posts: 67

Re: 【Tuyaos SDK】sd卡录像问题

/**

  • @brief get current stream storage status
    *
  • @param VOID
    *
  • @return STORAGE_STATUS_E
    */
    STORAGE_STATUS_E tuya_ipc_ss_get_status(VOID);

这个函数是tuya sdk 里面实现的吧。

谢谢各位。

hellokernel
Posts: 67

Re: 【Tuyaos SDK】sd卡录像问题

hellokernel 2025年 Oct 9日 11:26

但是后面一直没有恢复呢,就是说,在卡的状态正常后,tuya_ipc_ss_get_status的返回值还是E_STORAGE_UNWRITEABLE

//卡状态 上报normal
[20250928_19:51:56][09-28 19:51:55 ty E][fc14][ty_sdk_sd_card.c:242] ----tuya_ipc_sd_get_status:1
[20250928_19:51:56]write_mode set 1 -> 1

//tuya_ipc_ss_get_status的返回值还是E_STORAGE_UNWRITEABLE
[20250928_19:51:56]2025/09/28 19:51:57.035 !WARN [doorbell_record_proxy_task][0817]---------record state:5

谢谢各位。

这里说的是 tuya_ipc_ss_get_status的返回值还是E_STORAGE_UNWRITEABLE,不是tuya_ipc_sd_get_status,tuya_ipc_sd_get_status这个接口是我们自己实现的;现在的问题是 卡已经上报了normal,但是tuya_ipc_ss_get_status的返回值还是E_STORAGE_UNWRITEABLE;

谢谢各位。

User avatar
Passat
Posts: 125

Re: 【Tuyaos SDK】sd卡录像问题

Code: Select all

base_path[/mnt/sdcard/DCIM/CHAN0] un writeable

如果卡状态正常,内部创建文件夹是不会报错的, 如果出现此打印,只能说明卡还未正常。
卡状态正常,模式为事件录像时,使用 tuya_ipc_ss_start_event 才能正确录像

hellokernel
Posts: 67

Re: 【Tuyaos SDK】sd卡录像问题

卡的状态有恢复正常的。

问题是,如果一直非常频繁的触发录像,在这个过程中,如果卡的状态发生了变化,如从异常变为正常,在变为正常前触发了录像,此时会报E_STORAGE_UNWRITEABLE以及不能录像,但是在卡的状态变为正常后,还是会继续报E_STORAGE_UNWRITEABLE以及不能录像

谢谢各位。

User avatar
Passat
Posts: 125

Re: 【Tuyaos SDK】sd卡录像问题

  1. 如你所述 “在卡转为正常后” 出现 E_STORAGE_UNWRITEABLE,可能原因有
    ① 在事件录像模式下,触发开始写录像,之后卡异常,SDK自动停止录像,如果卡再次正常后,则需要外部再次调用 tuya_ipc_ss_start_event 后才会继续录像,否则不会自动开启新录像且状态不会变更;
    ②由你实现的 tuya_ipc_sd_get_status 并不能真实表示卡状态,虽然返回正常,但实际卡仍有问题,导致再次调用start后内部写录像失败,会出现状态 UNWRITEABLE
    但日志中未出现再次调用 tuya_ipc_ss_start_event 的记录;

  2. 如果为持续录像模式,卡状态正常后,会自动尝试开启录像,写入状态也会自动变更;

  3. SDK 通过 tuya_ipc_sd_get_status 和 tuya_ipc_sd_get_mode_config 获取卡状态和录像模式后,会自动根据状态和模式开启或者关闭写录像

Post Reply