start-disk-test 接口
新增于 V2.2
对磁盘的读写性能进行测试,判断是否满足当前录制码率的写入速度要求。测试过程中可以调用 stop-disk-test 接口进行取消。
进行性能测时,必须满足以下条件:
- 未进行固件升级
- 未进行重置和重启
- 未启用录制功能
- 未对磁盘进行格式化
- 未对磁盘进行性能测试
- 磁盘有效
- 磁盘空间大于 200 M
- 磁盘可写入
通过 get-status 接口可以获取到以下信息:
"cur-status": 65552 // 设备运行状态掩码
"usb": {
"disk-status": 1, // 磁盘状态掩码
"total-size": 61638148096,
"used-size": 97058816,
...
}
cur-status
和 设备状态掩码 进行与运算,可以得到以下状态表:
状态 | 条件 |
---|---|
未进行固件升级 | cur-status & statusUpgrade != statusUpgrade |
未进行重置 | cur-status & statusReset != statusReset |
未进行重启 | cur-status & statusReboot != statusReboot |
未启用录制功能 | cur-status & statusRecord != statusRecord |
未对磁盘进行格式化 | cur-status & statusFormatDisk != statusFormatDisk |
未对磁盘进行性能测试 | cur-status & statusDiskTest != statusDiskTest |
disk-status
和 磁盘状态码 进行与运算,可以得到以下状态表:
状态 | 条件 |
---|---|
磁盘有效 | disk-status & DiskValid = DiskValid |
磁盘空间大于 200 M | disk-status & LowSpace != LowSpace |
磁盘可写入 | disk-status & NotWrite != NotWrite |
请求方式
GET http://ip/usapi?method=start-disk-test&disk-type
参数 | 说明 |
---|---|
method | 方法名称:start-disk-test |
disk-type | 存储类型 0:U 盘 1:SD 卡 |
返回数据
{
"result": 0
}
属性 | 说明 |
---|---|
result | 返回状态。 0:开始格式化 1:操作重复 -5:磁盘错误 -9:系统忙 -16:磁盘空间不足 返回其它值请参考 API 状态码 |
计算最低写入速度 requirSpeed
通过 get-settings 接口可以获取到录制配置信息,如下:
"rec-stream": 0,
"main-stream": {
"kbps": 4096,
...
},
"sub-stream": {
"kbps": 1024,
...
}
"audio": {
"kbps": 128
...
}
rec-stream 表示录制码流类型:0 为 main-stream,1 为 sub-stream
通以上信息可计算出当前录制时,requirSpeed 为:
requirSpeed = main-stream.kbps + audio.kbps
= (4096 Kbps + 128 Kbps)
= 4224 Kbps / 1024 * 8
≈ 0.52 MB/S
性能测试过程状态
通过 get-status 接口可以获取到 disk-test 信息,如下:
"disk-test": {
"read-bps": 0,
"write-bps": 14833071, // 14833071 bps / 1024 * 1024 ≈ 14.15 MB/S
"percent": 3,
"result": 2,
"client-id": "web-session-32435088"
}
属性 | 说明 |
---|---|
result | 操作状态。 27:初始状态 5:操作取消 2:测试中状态 0:操作成功 返回其它值请参考 API 状态码 |
percent | 格式化进度:20 表示 20% |
read-bps | 当前读取速度 |
write-bps | 当前写入速度,如果大于 requirSpeed 则说明 U 盘性能是达标的 |
client-id | 保留属性 |
进行性能测试后,需要调用 clear-disk-test 接口将测试状态重置为初始状态(27)。