错误码及排查

最近更新时间:2025-09-10 17:58:11

我的收藏
错误码的定义位于 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
权限不够,存入日志的文件夹没有写权限
图1 错误示例
图1 错误示例


图2 权限不够
图2 权限不够

打开 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 重连成功
图1 重连成功


图2 私有云连接ip
图2 私有云连接ip


图3 公有云连接域名
图3 公有云连接域名


信令服务器连接超时
解决方法:
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
图1 错误表现
图1 错误表现

信令服务器连接用户名或者密码错误
解决方法:
请检查配置文件config.json中是否存在 device id 以及password,并确认其是否正确。

TRRO_DEVICE_ALREADY_LOGIN

0x03000007

50331655
图1 错误表现
图1 错误表现


信令服务器连接用户名已经登录
解决方法:
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
控制消息接口的发送频率超过限制频率
图1 控制消息报错
图1 控制消息报错

发送间隔过于密集
建议统计发送次数以确认是否超过了频率限制;频率具体参见C/C++ 现场设备 SDK API
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
-
该调用或函数功能暂不支持