【开发包全称】SDK Version:< TuyaOS V:6.2.7 BS:40.00_PT:2.3_LAN:3.5_CAD:1.0.5_CD:1.0.0 >
【问题描述】设备上电涂鸦sdk启动后,调用ty_aov_video_test进行aov录像测试,ty_aov_video_test中增加了tuya_ipc_ss_init的调用传入了aov相关参数且未见报错,指定读取文件AOV_TEST_FILE_NAME已修改为"/mnt/mmc/preRecord_test.h265",能够成功打开并解析推入aovringbuffer,推完后判断tuya_ipc_ss_get_aov_storage_status返回状态,一直为STORAGE_AOV_ONGOING,未见STORAGE_AOV_STOP或STORAGE_AOV_QUIT,且实际维持该状态一分半后将设备断电,在pc读取SD卡内容未见DCIM下存在aov录像文件。帮忙分析一下,日志已提交附件。
【SDK】aov卡录问题求助
【SDK】aov卡录问题求助
- Attachments
-
- 3com_2025-02-28_9_06_23.log
- (2.68 MiB) Downloaded 59 times
Re: 【SDK】aov卡录问题求助
日志中 [2025/2/28 9:06:33] [01-01 00:00:01 ty T][ae34][tuya_ipc_stream_storage.c:952] sd card status 2
初始化后SD卡一直处于异常状态,本地存储无法正常初始化和工作,AOV也不会正常运行
Re: 【SDK】aov卡录问题求助
Passat 2025年 Feb 28日 09:49日志中 [2025/2/28 9:06:33] [01-01 00:00:01 ty T][ae34][tuya_ipc_stream_storage.c:952] sd card status 2
初始化后SD卡一直处于异常状态,本地存储无法正常初始化和工作,AOV也不会正常运行
请问一下,这个SD卡状态有哪个接口需要重写吗?我这边读的aov文件也在SD卡里的,能读到应该SD卡正常挂载了。
然后我看初始化路径也是对的 [2025/2/28 9:06:33] [01-01 00:00:01 ty D][fa93][tuya_ipc_stream_storage.c:1313] Init stream_storage.base_path:/mnt/mmc v:4 a:101, max event per day 500, max during 600
SD卡状态对应dp的返回接口也是返回的1,但是我看好像没调用这个接口。
INT_T IPC_APP_get_sd_status(VOID)
{
INT_T sd_status = 1;
/* SD card status, VALUE type, 1-normal, 2-anomaly, 3-insufficient space, 4-formatting, 5-no SD card /
/ Developer needs to return local SD card status */
//TODO
sd_status = 1;
Code: Select all
PR_INFO("curr sd_status:%d \r\n", sd_status);
return sd_status;
}
Re: 【SDK】aov卡录问题求助
参见 https://developer.tuya.com/cn/docs/iot- ... 1%E8%B4%A5
上层 SD_STATUS_E tuya_ipc_sd_get_status(VOID) 的实现有关。SDK 内部会调用 tuya_ipc_sd_get_status,在返回 SD_STATUS_NORMAL 后,存储目录初始化才能完成。
Re: 【SDK】aov卡录问题求助
Passat 2025年 Feb 28日 16:30参见 https://developer.tuya.com/cn/docs/iot- ... 1%E8%B4%A5
上层 SD_STATUS_E tuya_ipc_sd_get_status(VOID) 的实现有关。SDK 内部会调用 tuya_ipc_sd_get_status,在返回 SD_STATUS_NORMAL 后,存储目录初始化才能完成。
好的,目前SD_STATUS_E tuya_ipc_sd_get_status(VOID)接口已实现。但是初始化tuya_ipc_ss_init时会返回-2,打印提示[01-01 00:00:01 ty E][f3b3][tuya_ipc_stream_storage.c:1246] cb NULL
[01-01 00:00:01 ty E][f3b3][main.c:619] Init Main Video Stream_Storage Fail. -2。
检查了一下cb是非空的接口。
INT_T TUYA_IPC_sd_status_upload(INT_T status)
{
IPC_APP_report_sd_status_changed(status);
return 0;
}
TUYA_IPC_STORAGE_VAR_T stg_var;
memset(&stg_var, 0, SIZEOF(TUYA_IPC_STORAGE_VAR_T));
memcpy(stg_var.base_path, p_local_storage_info->storage_path, SS_BASE_PATH_LEN);
strncpy(mount_path, p_local_storage_info->storage_path, sizeof(p_local_storage_info->storage_path)-1);
stg_var.max_event_per_day = p_local_storage_info->max_event_num_per_day;
stg_var.sd_status_changed_cb = TUYA_IPC_sd_status_upload; // p_local_storage_info->sd_status_cb;
stg_var.skills = p_local_storage_info->skills;
Code: Select all
stg_var.album_info.cnt = 0; // Default off
memcpy(&stg_var.album_info.album_name[0], TUYA_IPC_ALBUM_EMERAGE_FILE, strlen(TUYA_IPC_ALBUM_EMERAGE_FILE));
stg_var.aov_info.aov_stor_enable = 1; // AOV local storage default off
stg_var.aov_info.enable_channel = E_IPC_STREAM_VIDEO_MAIN;
stg_var.aov_info.aov_video_frame_duration_ms = 1000; // AOV 视频帧间隔时长(ms)
stg_var.aov_info.aov_video_bitrate = 1500; // AOV 码率
stg_var.aov_info.aov_video_gop = 9;
stg_var.aov_info.aov_video_width = 1440;
stg_var.aov_info.aov_video_height = 720;
stg_var.aov_info.aov_video_codec = TUYA_CODEC_VIDEO_H265;
PR_DEBUG("Init Stream_Storage SD:%s", p_local_storage_info->storage_path);
OPERATE_RET ret = tuya_ipc_ss_init(&stg_var);
if(ret != OPRT_OK)
{
PR_ERR("Init Main Video Stream_Storage Fail. %d", ret);
return OPRT_COM_ERROR;
}
帮忙分析一下,串口日志已添加附件。
- Attachments
-
- 3com_2025-03-03_19_30_51.log
- (84.89 KiB) Downloaded 51 times
Re: 【SDK】aov卡录问题求助
- cb NULL 报错是因为 tuya_ipc_ss_init 的入参中 SS_SD_STATUS_CHANGED_CB sd_status_changed_cb 为空导致。
- 请确认 sd_status_changed_cb 函数回调的赋值是否正确
Re: 【SDK】aov卡录问题求助
Passat 2025年 Mar 4日 09:57
- cb NULL 报错是因为 tuya_ipc_ss_init 的入参中 SS_SD_STATUS_CHANGED_CB sd_status_changed_cb 为空导致。
- 请确认 sd_status_changed_cb 函数回调的赋值是否正确
这个cb我用%p打印出来是有的。之前的日志里面也有sd_status_cb=[0x265744]的打印。使用的是demo里面的接口,具体配置与实现的截图已添加至附件。帮忙再分析一下
- Attachments
-
-
Re: 【SDK】aov卡录问题求助
出现 cb NULL 的报错的,只有当 sd_status_changed_cb 为空时才会出现。
- 检查 sd_status_changed_cb 回调函数的入参/出参类型与定义是否一致
- 在 tuya_ipc_ss_init 前增加打印 sd_status_changed_cb 的地址
Re: 【SDK】aov卡录问题求助
Passat 2025年 Mar 4日 14:56出现 cb NULL 的报错的,只有当 sd_status_changed_cb 为空时才会出现。
- 检查 sd_status_changed_cb 回调函数的入参/出参类型与定义是否一致
- 在 tuya_ipc_ss_init 前增加打印 sd_status_changed_cb 的地址
这边加了打印,并按类型重新定义了一个callback函数,打印出来非空
[2025/3/4 16:11:19] [01-01 00:00:01 ty D][ff03][main.c:620] Init Stream_Storage sd_status_changed_cb:0x269214
但是接口还是提示cb为空,返回-2.
帮忙分析一下。
- Attachments
-
-
-
-
- 3com_2025-03-04_16_11_12.log
- (79.7 KiB) Downloaded 45 times
Re: 【SDK】aov卡录问题求助
附件库,已增加响应函数指针的打印,可以与调用时的打印对比
Code: Select all
"cb NULL %p,%p"