IPC/NVR/可视门铃等具备多媒体能力的设备,扫地机/AGV等机器人设备
-
XM.Quan
- Posts: 79
- Joined: 2024年 Jun 18日 11:07
Passat 2025年 Mar 14日 11:15
- tuya_ipc_ss_get_aov_storage_status返回值正常的
2.日志显示存储线程运行正常,关闭DEBUG 日志后,整体运行速度可能会快一些
那先获取到3然后获取到5就可以判断aov录像此时已经完全存入SD卡中,可以退出aov录像断电了是吗?
帮忙看下关闭debug日志后,上电2.3秒开始aov推流,6.6秒aov推流结束,tuya_ipc_ss_get_aov_storage_status获取到1需要31.98接近上电后32秒,这个问题。日志已添加至附件。
-
Attachments
-
- 关闭debug打印后统计时间.txt
- (55.68 KiB) Downloaded 30 times
-
XM.Quan
- Posts: 79
- Joined: 2024年 Jun 18日 11:07
Passat 2025年 Mar 13日 15:27
1.写入虚拟帧,理论上可以,但是实际是否会有其他问题,需要全面测试
2.是否支持内存复用? 目前不支持
3.附件的测试版本,增加了tuya_ipc_ss_get_aov_storage_status 返回状态。另此版本仅供测试用,正式版才可用于发布产品。
请问2这个内存复用目前不支持的话,以后是否可以支持或者说有考虑支持吗?
-
Passat
- Posts: 76
- Joined: 2022年 Sep 16日 18:18
-
XM.Quan
- Posts: 79
- Joined: 2024年 Jun 18日 11:07
Passat 2025年 Mar 18日 11:25不考虑支持
帮忙看下aov卡录保存的慢的问题,日志已添加附件。以下为对应场景情况:
1.推流推完后获取状态第一次5第二次3,然后持续一段时间(大概需要20多秒)的3,然后再5.
aov push frame end
3.76 3.44
tuya_ipc_ss_get_aov_storage_status=5
24.34 39.67
2.推流推完后获取状态一直为3,一直持续未见5,日志统计了四分多钟,均未见5或者1或者4。
aov push frame end
4.27 4.09
tuya_ipc_ss_get_aov_storage_status=3
249.96 461.51
-
Attachments
-
- aov卡录测试日志(先5后3一段时间后5).txt
- (57.13 KiB) Downloaded 19 times
-
- aov卡录测试日志(一直3).txt
- (393.92 KiB) Downloaded 21 times
-
Passat
- Posts: 76
- Joined: 2022年 Sep 16日 18:18
Code: Select all
行 212: [01-01 00:03:56 ty E][7c34][tuya_ipc_ss_aov.c:467] start aov storage
行 471: Password: [01-01 00:04:16 ty E][c1f4][tuya_ipc_ss_aov.c:327] get aov last frame:0,1742286671000,419
行 528: aov push frame start
行 530: aov push frame end
行 881: aov push frame start
行 883: aov push frame end
1.两份日志中只出现一次,get aov last frame 。这个打印标志本地存储获取了AOV ringbuf 的最后一帧,完成了本次AOV录像存储过程。两次出现你添加的aov push frame end打印,不太清楚你的实现逻辑是怎样的。通过打印可以看出并没有按照之前建议的步骤实现AOV存储,请合理调整代码
2.另一份日志中,出现大量 [tuya_ipc_aov_buffer.c:244] fail to get 的打印,说明ringbuf 空间已接近用完。存储线程并没有获取到最后一帧。
-
XM.Quan
- Posts: 79
- Joined: 2024年 Jun 18日 11:07
Passat 2025年 Mar 20日 17:19
Code: Select all
行 212: [01-01 00:03:56 ty E][7c34][tuya_ipc_ss_aov.c:467] start aov storage
行 471: Password: [01-01 00:04:16 ty E][c1f4][tuya_ipc_ss_aov.c:327] get aov last frame:0,1742286671000,419
行 528: aov push frame start
行 530: aov push frame end
行 881: aov push frame start
行 883: aov push frame end
1.两份日志中只出现一次,get aov last frame 。这个打印标志本地存储获取了AOV ringbuf 的最后一帧,完成了本次AOV录像存储过程。两次出现你添加的aov push frame end打印,不太清楚你的实现逻辑是怎样的。通过打印可以看出并没有按照之前建议的步骤实现AOV存储,请合理调整代码
2.另一份日志中,出现大量 [tuya_ipc_aov_buffer.c:244] fail to get 的打印,说明ringbuf 空间已接近用完。存储线程并没有获取到最后一帧。
我把打印关了,部分关键打印我输出到文件了,比如aov push frame start跟aov push frame end,出现2次打印是因为我这边cat查看了2次本地文件导致的。
ringbuf用完了这个是因为我这边测试的问题,已开大了。
目前问题:
1.正常一套流程下来从启动aov录像(tuya_ipc_ss_start_aov_local_storage)到(tuya_ipc_ss_get_aov_storage_status)获取到状态1退出需要20秒,帮忙看下怎么优化这段时间。
2.有概率获取到最后一帧([01-01 00:02:00 ty E][bdd4][tuya_ipc_ss_aov.c:327] get aov last frame:0,1742286599000,333)但持续很久tuya_ipc_ss_get_aov_storage_status未获取到状态1或4
目前流程是
调用tuya_ipc_aov_buffer_init初始化aovbuf
调用tuya_ipc_aov_buffer_set_max_frame_size设置最大帧长
调用tuya_ipc_aov_cloud_storage_start开始aov云存
调用tuya_ipc_ring_buffer_open打开常规ringbuf
调用tuya_ipc_aov_buffer_open打开aovringbuf
打印aov push frame start
调用tuya_ipc_ring_buffer_append_data推一帧虚拟帧用于标记开始时间戳
调用tuya_ipc_aov_buffer_append_data_with_timestamp推完全部aov帧
调用tuya_ipc_ring_buffer_append_data推一帧虚拟帧用于标记结束时间戳
打印aov push frame end
调用tuya_ipc_ss_start_aov_local_storage开始aov卡录
打印tuya_ipc_ss_start_aov_local_storage
调用tuya_ipc_aov_buffer_close关闭aovringbuf
循环tuya_ipc_ss_get_aov_storage_status获取aov卡录状态,直至1或4退出,
打印tuya_ipc_ss_get_aov_storage_status及其返回值
调用tuya_ipc_ss_stop_aov_local_storage停止aov卡录
打印tuya_ipc_ss_stop_aov_local_storage及其返回值
主控下电
-
Attachments
-
- aov卡录测试日志(获取到最后一帧但未返回1或4).txt
- (30.33 KiB) Downloaded 19 times
-
- aov卡录测试日志需要20秒写完SD卡aov录像.txt
- (114.33 KiB) Downloaded 16 times
-
Passat
- Posts: 76
- Joined: 2022年 Sep 16日 18:18
- 写入速度异常,应该与常规的ringbuf中的帧数据偏少有关,可以打开debug排查原因。
- 可尝试在常规的ringbuf中多写入帧数据再对比效果
- 另一份日志中并没有找任何 tuya_ipc_ss_get_aov_storage_status 的打印
-
XM.Quan
- Posts: 79
- Joined: 2024年 Jun 18日 11:07
Passat 2025年 Mar 24日 11:10
- 写入速度异常,应该与常规的ringbuf中的帧数据偏少有关,可以打开debug排查原因。
- 可尝试在常规的ringbuf中多写入帧数据再对比效果
- 另一份日志中并没有找任何 tuya_ipc_ss_get_aov_storage_status 的打印
附件已添加一份打开debug打印的日志,将aov录像同时推aovringbuf和常规ringbuf。帮忙分析一下,从
aov push frame end
[01-01 00:04:26 ty E][79f4][tuya_ipc_ss_aov.c:467] start aov storage
到[01-01 00:04:47 ty D][79f4][tuya_ipc_ss_aov.c:520] tuya_ipc_ss_get_aov_storage_status:1,0x539a30
tuya_ipc_ss_get_aov_storage_status ret = [5]
中间经过了21秒左右,帮忙分析一下。
而且此次看sdk打印状态是1,但是实际返回值给的是5,有点不理解,也帮忙看下原因。
调用以及打印部分代码如下:
STORAGE_AOV_STATUS_E ret = tuya_ipc_ss_get_aov_storage_status(E_IPC_STREAM_VIDEO_MAIN);
printf("tuya_ipc_ss_get_aov_storage_status ret = [%d]\n", ret);
-
Attachments
-
- 同时推aov跟常规ringbuf开debug打印.txt
- (158.5 KiB) Downloaded 8 times
-
Passat
- Posts: 76
- Joined: 2022年 Sep 16日 18:18
tuya_ipc_ss_get_aov_storage_status 已返回值为准,其他打印可不用关注
日志中向常规ringbuf写入的帧类型和时间都是哪些?之前说的AOV ringbuf 需要依靠常规ringbuf的帧,但日志中并未出现在常规ringbuf中找到I帧的标记