错误码的定义位于 trro_field.h 头文件中。函数返回值为错误码的负值,如错误码为16777215,返回值为-16777215。错误码具体含义及排查方法如下表所示:
模块 | 错误码定义 | 错误码16进制 | 错误码10进制 | 错误表现 | 排查方向 |
通用模块 | TRRO_SUCCED (待废弃) | 0x00000001 | 1 | - | 成功执行 |
| TRRO_SUCCEED | 0x00000001 | 1 | - | 成功执行 |
| TRRO_COMMON_ERROR | 0x00FFFFFF | 16777215 | - | 通用失败 |
配置文件加载模块 (排查配置文件内容) | TRRO_CONFIG_ERROR | 0x01FFFFFF | 33554431 | - | 配置模块通用失败 |
| TRRO_CONFIG_PARSE_FAILED | 0x01000002 | 16777218 | - | |
| TRRO_CONFIG_ILLEGAL | 0x01000003 | 16777219 | - | 检查配置文件中,width、height、protocol 与接口输入参数是否匹配 |
| TRRO_CONFIG_UNEXIST | 0x01000004 | 16777220 | 日志错误提示: [CALL]TRRO_initGwPathWithLicense, load config err, cfg_path nullptr 或者 [CALL]TRRO_initGwPathWithLicense, load config err, config empty | 配置文件不存在或长度为0 解决方法: 1.确认配置路径是否正确传入,路径是否存在。 2.配置文件内容不正确 检查配置文件内容是否完整有效,确保文件非空且格式正确。 |
| TRRO_CONFIG_CER_FAILED | 0x01000005 | 16777221 | - | 使用公有云模式(cloud_mode 节点设置 public)启动,但没有证书文件 device.pem 或证书文件校验失败 |
| TRRO_CONFIG_LIC_FAILED | 0x01000006 | 16777222 | - | 使用私有模式(cloud_mode 节点设置 private)启动,但 license.txt 文件不存在 |
| TRRO_CONFIG_STREAMS_SIZE_ERROR | 0x01000007 | 16777223 | - | 超过最大支持流数目 |
| TRRO_CONFIG_PORT_RANGE_ILLEGAL | 0x01000008 | 16777224 | - | 端口范围配置非法 |
| TRRO_CONFIG_LOG_PERMISSION_DENIED | 0x01000009 | 16777225 | 报错: Trro_init >>open log permission denied 权限不够,存入日志的文件夹没有写权限 ![]() ![]() | 打开 log 文件权限不足 解决方法: chmod u+w 文件 给予文件写权限。旧的sdk版本可能存在权限不够崩溃问题,请及时更新版本。 |
初始化模块 (排查接口调用顺序及配置文件内容) | TRRO_INIT_ERROR | 0x02FFFFFF | 50331647 | - | 初始化失败 |
| TRRO_INIT_INPUT_ILLEGAL | 0x02000002 | 33554434 | - | 初始化失败或配置的设备 ID、端口范围非法 |
| TRRO_INIT_PARSE_FAILED | 0x02000003 | 33554435 | - | 初始化解析配置节点异常 |
| TRRO_INIT_CREATE_MEDIAMODE_FAILED | 0x02000004 | 33554436 | - | 媒体模块创建失败 |
| TRRO_INIT_PRM_ERROR | 0x02000005 | 33554437 | - | 初始化参数错误。 您需确认初始化参数,例如视频流输入 protocol 是否正确 |
| TRRO_INIT_INVALID_INPUT | 0x02000006 | 33554438 | - | 初始化参数非法 |
| TRRO_INIT_REPEAT | 0x02000007 | 33554439 | 日志打印:InitRtc failed, already init | 重复初始化 解决方法: 请检查sdk是否已经初始化过了,检查sdk启动次数。 |
TRRO_INIT_LICENSE_CHECK_FAILED | 0x02000010 | 33554448 | - | LICENSE 校验失败 | |
| TRRO_INIT_LICENSE_FILE_ERROR | 0x02000011 | 33554449 | - | LICENSE 文件错误 |
| TRRO_INIT_LICENSE_CHECK_TIME_FAILED | 0x02000012 | 33554450 | - | 授权过期 |
| TRRO_INIT_LICENSE_CHECK_DEVICE_FAILED | 0x02000013 | 33554451 | - | 硬件验证失败 |
| TRRO_INIT_LICENSE_CHECK_STREAM_FAILED | 0x02000014 | 33554452 | - | 授权流数目小于设备配置流数目 |
| TRRO_INIT_LICENSE_CHECK_ID_FAILED | 0x02000015 | 33554453 | - | 设备 ID 验证失败 |
| TRRO_INIT_PUBLIC_LICENSE_CHECK_TIMEOUT | 0x02000100 | 33554688 | 报错:public license check timeout,ret= -33554688 | 公有云 LICENSE 验证超时 解决方法: 公有云: ping域名( access.trro.qclouder.com和access.trro.qcloud.com )。如果无法连接,请检查网络。对于物联网卡情况。 |
| TRRO_INIT_PUBLIC_LICENSE_CHECK_NOT_BIND | 0x02000101 | 33554689 | 报错: public license not bind,ret=-33554688 | 公有云设备未绑定 LICENSE 解决方法: 请检查在公有云服务是否已过期,并进行续费或重新购买 |
| TRRO_INIT_PUBLIC_LICENSE_CHECK_NOT_ENOUGH | 0x02000102 | 33554690 | - | 公有云 LICENSE 数量不足 |
| TRRO_INIT_PUBLIC_LICENSE_CHECK_OVERTIME | 0x02000103 | 33554691 | - | 公有云 LICENSE 已过期 |
信令服务器模块 (排查网络及服务器状态) | TRRO_SIGNAL_ERROR | 0x03FFFFFF | 67108863 | - | 信令模块异常 |
| TRRO_SIGNAL_REGISTER_FAILED | 0x03000002 | 50331650 | - | 注册 MQTT 信令服务器失败 |
| TRRO_SIGNAL_STATUS_ABNORMAL | 0x03000003 | 50331651 | - | MQTT 信令服务连接异常 |
| TRRO_SIGNAL_MESSAGE_FAILED | 0x03000004 | 50331652 | - | 信令消息处理失败 |
| TRRO_SIGNAL_CONNECT_OUTTIME | 0x03000005 | 50331653 | 报错Trro_init >> signal connect timeout, try reconnecting, ret: -50331653 ![]() ![]() ![]() | 信令服务器连接超时 解决方法: 1. 内部重连: 端侧尝试连接服务。首次可能未成功连接,内部会进行重连。若后续连接成功,此错误码可忽略。 2. 网络连接问题: 请打开trro_daily日志查看 私有云: ping服务的IP地址。如果无法连接,请检查网络设置。 公有云: ping域名( access.trro.qclouder.com和access.trro.qcloud.com )。如果无法连接,请检查网络以及考虑白名单设置问题。共性问题: 如果可以ping通,私有云需检查推流和服务是否开启防火墙;公有云需检查是否开启防火墙,同时确认端口是否已开放。 |
| TRRO_SIGNAL_DEVICEID_OR_PASSWORD_INCORRECT | 0x03000006 | 50331654 | 报错:Trro_init >> device id or password incorrect,ret: -50331654 日志中也有打印:[CALL] TRRO_onSignalStateCB, device_id or password is incorrect ![]() | 信令服务器连接用户名或者密码错误 解决方法: 请检查配置文件 config.json 中是否存在 device id 以及password ,并确认其是否正确。 |
| TRRO_DEVICE_ALREADY_LOGIN | 0x03000007 | 50331655 | ![]() | 信令服务器连接用户名已经登录 解决方法: 1. 检查多进程问题: 使用命令 ps -aux |grep run_loader.sh和ps -aux |grep trro-test 查看是否有多个进程运行。如果发现重复进程,需按顺序结束进程: 先执行 kill -9 run_loader.sh 再执行 kill -9 trro-test 2. 强制登录: 如果有其他人或设备使用相同的设备ID登录,可以通过设置force_login为1来强制登录。 3. 私有云登录: 在私有云环境下,可以使用不同的设备ID登录,避免冲突。 |
流采集模块 (检查相机的接入、分辨率配置是否正常) | TRRO_CAPTURE_ERROR | 0x04FFFFFF | 83886079 | - | 采集模块异常 |
| TRRO_CAPTURE_OPENDEVICE_FAILED | 0x04000002 | 67108866 | - | 打开设备失败,检查相机是否有其他程序占用 |
| TRRO_CAPTURE_GETSOURCE_FAILED | 0x04000003 | 67108867 | - | 读取相机数据超时失败 |
| TRRO_CAPTURE_UNKNOWN_CAPTURETYPE | 0x04000004 | 67108868 | - | 未知的相机数据源类型 |
流传输模块 | TRRO_CONNECT_ERROR | 0x05FFFFFF | 100663295 | - | 连接异常 |
| TRRO_CONNECT_OUTTIME | 0x05000002 | 83886082 | - | 超时断连 |
消息传输模块 | TRRO_MESSAGE_ERROR | 0x06FFFFFF | 117440511 | - | 消息发送失败 |
| TRRO_MESSAGE_CHANNEL | 0x06000002 | 100663298 | - | 无可用消息发送通道 |
| TRRO_MESSAGE_RATE_EXCEED | 0x06000004 | 100663300 | 控制消息接口的发送频率超过限制频率 ![]() | 发送间隔过于密集 |
| TRRO_MESSAGE_BYTE_EXCEED | 0x06000003 | 100663299 | 日志报错: The message being sent is too large或者函数返回-100663299 | 发送字节数超出限制 解决方法: 检查消息长度是否超过允许的最大值,根据消息传输类型(reliable)使用不同的最大值限制: 不可靠传输时单条大小限制为1KB 可靠传输(reliable)时单条大小限制为10KB 如果超出限制,记录错误日志并返回 -TRRO_MESSAGE_BYTE_EXCEED |
存储模块 | TRRO_STOR_ERROR | 0x07FFFFFF | 134217727 | - | 存储异常,检查接口调用顺序 |
| TRRO_STOR_UNENABLE | 0x07000001 | 117440513 | - | 存储功能未使能 |
| TRRO_STOR_IDEXIST | 0x07000002 | 117440514 | - | 重复开启存储 |
| TRRO_STOR_ID_ILLEGAL | 0x07000003 | 117440515 | - | 存储 ID 非法 |
| TRRO_STOR_PARAM_ILLEGAL | 0x07000004 | 117440516 | - | 存储数据源输入入参非法 |
| TRRO_STOR_UNSET_FILENAME | 0x07000005 | 117440517 | - | 存储文件名为空 |
外采模块 | TRRO_EXTERNAL_RESIZE | 0x08000001 | 134217729 | - | 外采模式错误 |
扩展模块 |
TRRO_ERROR_CALLBACK_CAMERA
|
0x09010000
|
151060480
| - |
相机异步回调错误
|
|
TRRO_ERROR_CALLBACK_MIC
|
0x09020000
|
151126016
| - |
麦克风异步回调错误
|
|
TRRO_ERROR_CALLBACK_BANDWIDTH_LIMIT |
0x09030000
|
151191552
| - |
评估网络带宽无法满足最低码率需求
|
保留 | TRRO_UNSUPPORT | 0x0F000001 | 251658241 | - | 该调用或函数功能暂不支持 |