TRRO_FIELD
| 宏定义 | 枚举
trro_field.h 文件参考

浏览源代码.

struct  TrroMultiNetworkStats
 
struct  TRRO_TextFormat
 
struct  TRRO_RoiRect
 

宏定义

#define TRRO_EXPORT   __attribute__((visibility("default")))
 
#define DEPRECATED   __attribute__((deprecated))
 
#define TRRO_SUCCED   0x00000001
 十进制【1】 成功 更多...
 
#define TRRO_SUCCEED   0x00000001
 十进制【1】 成功 更多...
 
#define TRRO_COMMON_ERROR   0x00FFFFFF
 十进制【16777215】 失败 更多...
 
#define TRRO_CONFIG_ERROR   0x01FFFFFF
 十进制【33554431】 配置解析失败 更多...
 
#define TRRO_CONFIG_PARSE_FAILED   0x01000002
 十进制【16777218】 配置文件格式异常 更多...
 
#define TRRO_CONFIG_ILLEGAL   0x01000003
 十进制【16777219】 参数格式非法,需新增参数检查 更多...
 
#define TRRO_CONFIG_UNEXIST   0x01000004
 十进制【16777220】 配置文件不存在 更多...
 
#define TRRO_CONFIG_CER_FAILED   0x01000005
 十进制【16777221】 云证书错误 更多...
 
#define TRRO_CONFIG_LIC_FAILED   0x01000006
 十进制【16777222】 license证书错误 更多...
 
#define TRRO_CONFIG_STREAMS_SIZE_ERROR   0x01000007
 十进制【16777223】 超过最大支持流数目 更多...
 
#define TRRO_CONIFG_PORT_RANGE_ILLEGAL   0x01000008
 十进制【16777224】 端口范围配置非法 更多...
 
#define TRRO_CONFIG_LOG_PERMISSON_DENIED   0x01000009
 十进制【16777225】 打开log文件权限不足 更多...
 
#define TRRO_CONFIG_DEVICE_ID_INVALID   0x0100000A
 
#define TRRO_CONFIG_DEVICE_NAME_INVALID   0x0100000B
 
#define TRRO_CONFIG_SDK_MODE_INVALID   0x0100000C
 
#define TRRO_CONFIG_CLOUD_MODE_INVALID   0x0100000D
 
#define TRRO_CONFIG_REQUIRED_FIELD_MISSING   0x0100000E
 
#define TRRO_CONFIG_FIELD_TYPE_ERROR   0x0100000F
 
#define TRRO_CONFIG_CERTIFICATE_MD5_INVALID   0x01000010
 
#define TRRO_INIT_ERROR   0x02FFFFFF
 十进制【50331647】 初始化通用失败 更多...
 
#define TRRO_INIT_INPUT_ILLEGAL   0x02000002
 十进制【33554434】 初始化参数异常 更多...
 
#define TRRO_INIT_PARSE_FAILED   0x02000003
 十进制【33554435】 配置节点解析异常 更多...
 
#define TRRO_INIT_CREAT_MEDIAMODE_FAILED   0x02000004
 十进制【33554436】 媒体模块创建失败 更多...
 
#define TRRO_INIT_PRM_ERROR   0x02000005
 十进制【33554437】 参数错误 更多...
 
#define TRRO_INIT_INVALID_INPUT   0x02000006
 十进制【33554438】 非法输入 更多...
 
#define TRRO_INIT_REPEAT   0x02000007
 十进制【33554439】 重复初始化 更多...
 
#define TRRO_INIT_LICENSE_CHECK_FAILED   0x02000010
 十进制【33554448】 LICENSE校验失败 更多...
 
#define TRRO_INIT_LICENSE_FILE_ERROR   0x02000011
 十进制【33554449】 LICENSE 文件错误 更多...
 
#define TRRO_INIT_LICENSE_CHECK_TIME_FAILED   0x02000012
 十进制【33554450】 LICENSE 授权过期 更多...
 
#define TRRO_INIT_LICENSE_CHECK_DEVICE_FAILED   0x02000013
 十进制【33554451】 LICENSE 硬件验证失败 更多...
 
#define TRRO_INIT_LICENSE_CHECK_STREAM_FAILED   0x02000014
 十进制【33554452】 LICENSE 授权流小于设备流 更多...
 
#define TRRO_INIT_LICENSE_CHECK_ID_FAILED   0x02000015
 十进制【33554453】 LICENSE 设备ID验证失败 更多...
 
#define TRRO_INIT_PUBLIC_LICENSE_CHECK_TIMEOUT   0x02000100
 十进制【33554688】 LICENSE 公有云license验证超时 更多...
 
#define TRRO_INIT_PUBLIC_LICENSE_CHECK_NOT_BIND   0x02000101
 十进制【33554689】 LICENSE 公有云设备未绑定license 更多...
 
#define TRRO_INIT_PUBLIC_LICENSE_CHECK_NOT_ENOUGH   0x02000102
 十进制【33554690】 LICENSE 公有云license数量不足 更多...
 
#define TRRO_INIT_PUBLIC_LICENSE_CHECK_OVERTIME   0x02000103
 十进制【33554691】 LICENSE 公有云license已过期 更多...
 
#define TRRO_INIT_PUBLIC_LICENSE_CHECK_NOT_DURATION   0x02000104
 十进制【33554692】 LICENSE 公有云license剩余时长不足 更多...
 
#define TRRO_INIT_CANCEL   0x0200000F
 十进制【33554447】 LICENSE 客户主动退出 更多...
 
#define TRRO_SIGNAL_ERROR   0x03FFFFFF
 十进制【67108863】 信令模块失败 更多...
 
#define TRRO_SIGNAL_REGIST_FAILED   0x03000002
 十进制【50331650】 信令注册失败 更多...
 
#define TRRO_SIGNAL_STATUS_ABNORMAL   0x03000003
 十进制【50331651】 信令服务器连接异常 更多...
 
#define TRRO_SIGNAL_MESSAGE_FAILED   0x03000004
 十进制【50331652】 信令消息处理失败 更多...
 
#define TRRO_SIGNAL_CONNECT_OUTTIME   0x03000005
 十进制【50331653】 信令服务器连接超时 更多...
 
#define TRRO_SIGNAL_DEVICEID_OR_PASSWORD_INCORRECT   0x03000006
 50331654 信令服务器连接用户名或者密码错误 更多...
 
#define TRRO_DEVICE_ALREADY_LOGIN   0x03000007
 50331655 信令服务器连接用户名已经登陆 更多...
 
#define TRRO_CAPTURE_ERROR   0x04FFFFFF
 十进制【83886079】 采集模块错误 更多...
 
#define TRRO_CAPTURE_OPENDEVICE_FAILED   0x04000002
 十进制【67108866】 打开设备失败 更多...
 
#define TRRO_CAPTURE_GETSOURCE_FAILED   0x04000003
 十进制【67108867】 获取数据源失败 更多...
 
#define TRRO_CAPTURE_UNKNOWN_CAPTURETYPE   0x04000004
 十进制【67108868】 未知采集类型 更多...
 
#define TRRO_CONNECT_ERROR   0x05FFFFFF
 十进制【100663295】 连接错误 更多...
 
#define TRRO_CONNECT_OUTTIME   0x05000002
 十进制【83886082】 超时断连 更多...
 
#define TRRO_MESSAGE_ERROR   0x06FFFFFF
 十进制【117440511】 消息错误 更多...
 
#define TRRO_MESSAGE_CHANNEL   0x06000002
 十进制【100663298】 消息通道异常 更多...
 
#define TRRO_MESSAGE_BYTE_EXCEED   0x06000003
 十进制【100663299】 发送字节数超出限制 更多...
 
#define TRRO_MESSAGE_RATE_EXCEED   0x06000004
 十进制【100663300】 发送间隔过于密集 更多...
 
#define TRRO_MESSAGE_MAX_EXCEED   0x06000005
 十进制【100663301】 1s钟最多发送 10KB数据 inactive 1s钟最多发送 1KB数据 更多...
 
#define TRRO_MESSAGE_BLOCK   0x06000006
 
#define TRRO_MESSAGE_COMPRESS   0x06000007
 
#define TRRO_MESSAGE_PERMISSION   0x06000008
 十进制【100663303】 消息压缩失败 更多...
 
#define TRRO_STOR_ERROR   0x07FFFFFF
 十进制【134217727】 存储异常 更多...
 
#define TRRO_STOR_UNENABLE   0x07000001
 十进制【117440513】 存储未使能 更多...
 
#define TRRO_STOR_IDEXIST   0x07000002
 十进制【117440514】 重复开启存储 更多...
 
#define TRRO_STOR_ID_ILLEGAL   0x07000003
 十进制【117440515】 非法ID 更多...
 
#define TRRO_STOR_PARAM_ILLEGAL   0x07000004
 十进制【117440516】 参数非法 更多...
 
#define TRRO_STOR_UNSET_FILENAME   0x07000005
 十进制【117440517】 未设置文件名 更多...
 
#define TRRO_START_CAPTURE_IDEXIST   0x07000006
 十进制【117440518】 重复开启采集 更多...
 
#define TRRO_EXTERNAL_RESIZE   0x08000001
 十进制【134217729】 外采模式错误 更多...
 
#define TRRO_ERROR_CALLBACK_CAMERA   0x09010000
 十进制【151060480】 相机异步回调错误 更多...
 
#define TRRO_ERROR_CALLBACK_MIC   0x09020000
 十进制【151126016】 麦克风异步回调错误 更多...
 
#define TRRO_ERROR_CALLBACK_BANDWIDTH_LIMIT   0x09030000
 十进制【151191552】 评估网络带宽无法满足最低码率需求 更多...
 
#define TRRO_ERROR_CALLBACK_RESERVE_DEGRADE   0x09040000
 十进制【151257088】 网络带宽不足引发reserve带宽降级 更多...
 
#define TRRO_UNSUPPORT   0x0F000001
 十进制【251658241】 该调用或者函数功能暂不支持 更多...
 
#define TRRO_INPUT_SIZE_ILLEGAL   0x0F000002
 十进制【251658242】 输入大小不匹配 更多...
 
#define TRRO_SESSION_INACTIVE   0x0F000003
 十进制【251658243】 会话未激活 更多...
 
#define TRRO_PARAM_INVALID   0x00F00000
 十进制【15728640】 输入参数不正确 更多...
 

类型定义

TRRO_OnMultiNetworkStat

回调所绑定的每个网卡的内网IP,外网IP, rtt、lost 接收数据和发送数据

参数
[in]stats
返回
void
typedef void TRRO_onMultiNetworkStat(void *context, const TrroMultiNetworkStats stats)
 
TRRO_OnAudioState

音频连接状态回调

参数
[in]context上下文
[in]up_or_down0 为上行 1 为下行
[in]stateTrroState连接状态
返回
void
typedef void TRRO_OnAudioState(void *context, int up_or_down, int state)
 
TRRO_OnControlState

数据连接状态回调

参数
[in]context上下文
[in]stateTrroState连接状态
返回
void
typedef void TRRO_OnControlState(void *context, int state)
 
TRRO_onState

视频连接状态回调

参数
[in]context上下文
[in]stream_id视频流id
[in]stateTrroState连接状态
返回
void
typedef void TRRO_OnState(void *context, int stream_id, int state)
 
TRRO_OnErrorEvent

错误信息回调

参数
[in]context上下文
[in]error_code错误码 为负值
[in]error_msg错误信息
返回
void
typedef void TRRO_OnErrorEvent(void *context, int error_code, const char *error_msg)
 
TRRO_onControlData

接收远端设备消息回调

参数
[in]context上下文指针,返回注册时传入的context
[in]controller_id远端设备ID
[in]msg消息体内容
[in]qos消息体长度
[in]msg消息qos类型 0:unreliable, 1:reliable
返回
void
typedef void TRRO_onControlData(void *context, const char *controller_id, const char *msg, int len, int qos)
 
TRRO_onVideoCaptureData

采集视频帧回调

参数
[in]context上下文指针,返回注册时传入的context
[in]data视频数据
[in]width
[in]height
[in]type视频格式,0 YUV420, 4 YUYV
[in]stream_id流号
返回
void
typedef void TRRO_onVideoCaptureData(void *context, const char *data, int width, int height, int type, int stream_id)
 
TRRO_OnLogData

日志回调

参数
[in]context上下文
[in]msg日志内容
[in]level日志级别,参考枚举TrroLogLevel
返回
void
typedef void TRRO_OnLogData(void *context, const char *msg, int level)
 
TRRO_onEncodeFrameInfo

编码建议信息回调,适用于外部输入编码帧场景

参数
[in]context上下文
[in]stream_id流ID
[in]type回调类型, 0:强制关键帧请求 , 1 码率更新请求
[in]bitratetype为1时有效,表示建议输入的编码数据码率,单位kbps
返回
void
typedef void TRRO_onEncodeFrameInfo(void *context, int stream_id, int type, int bitrate)
 
TRRO_onLatencyReport

延迟信息回调

参数
[in]context上下文
[in]stream_id流ID
[in]vcct视频控制闭环时延, 等于视频上行延迟(不含采集)+控制下行延迟
返回
void
typedef void TRRO_onLatencyReport(void *context, int stream_id, int vcct)
 
TRRO_onMediaState

媒体传输状态回调

参数
[in]context回调上下文指针
[in]stream_id流ID
[in]fps每秒帧数目
[in]bps每秒数据量
[in]rtt封包来回时间
[in]lost丢包率
[in]packets_send总发送数目
[in]stun穿网模式 0:host, 1:srflx, 2:prflx, 3:relay
返回
void
typedef void TRRO_onMediaState(void *context, int stream_id, int fps, int bps, int rtt, long long lost, long long packets_send, int stun)
 
TRRO_onSignalState

信令连接状态回调

参数
[in]context上下文
[in]state信令连接状态,参考枚举SignalState
返回
void
typedef void TRRO_onSignalState(void *context, SignalState state)
 
TRRO_onOperationPermissionRequest

远端设备操控权限申请通知

参数
[in]remote_devid请求权限的remote deviceId
[in]permission请求的权限,参考TrroPermission, 0: guest 只有观看权限, 1: master 完全控制权限
返回
void
typedef void TRRO_onOperationPermissionRequest(void *context, const char *remote_devid, int permission)
 
TRRO_onVideoCaptureFrame

外部调用TRRO_startVideoCapture时的数据回调

参数
[in]context上下文
[in]capture_id采集视频的当前源ID
[in]data采集的视频数据
[in]length采集的视频数据长度
[in]width采集的视频宽度
[in]height采集的视频高度
[in]color_format采集的视频格式
返回
void
typedef void TRRO_onVideoCaptureFrame(void *context, unsigned long long capture_id, const char *data, int length, int width, int height, TrroColor color_format)
 
TRRO_onRemoteMixAudioFrame

对端多路混音后音频原始数据回调

参数
[in]context回调上下文指针, 返回注册回调函数时传入的context
[in]data音频PCM数据 10ms 16bits
[in]length数据长度
[in]channel音频声道数目,如单声道为1,双声道为2,多声道为N
[in]sample_rate音频采样率
返回
: void
typedef void TRRO_onRemoteMixAudioFrame(void *context, const char *data, int length, int channel, int sample_rate)
 
typedef void TRRO_onRemoteEncodedFrameData(void *context, const char *gwid, int stream_id, int conn_fd, const char *data, int len, TrroCodec trro_codec, bool is_key_frame, long long videotime, bool has_user_time, uint64_t user_time)
 
TRRO_onRemoteDeviceState

远端用户连接状态回调接口

参数
[in]context回调上下文指针, 返回注册回调函数时传入的context
[in]remote_deviceremote端用户id
[in]stream_idremote端用户 连接的哪个steam
[in]state1、连接 0、断开 对应 TrroRemoteDeviceState, 状态可能回调多次
返回
: void
typedef void TRRO_onRemoteDeviceState(void *context, const char *remote_device, int stream_id, int state)
 
TRRO_onActiveState

会话活跃状态回调接口

参数
[in]context回调上下文指针, 返回注册回调函数时传入的context
[in]is_active是否活跃
typedef void TRRO_onActiveState(void *context, bool is_active)
 

枚举

enum  TrroState { kDisconnect = 0, kConnecting = 1, kConnected = 2, kDisconnecting = 3 }
 
enum  TrroPermission { kPermissionGuest = 0, kPermissionMaster = 1 }
 
enum  TrroRemoteDeviceState { kRemoteDeviceDisconnect = 0, kRemoteDeviceConnected = 1 }
 
enum  TrroColor {
  Trro_ColorYUVI420 = 0, Trro_ColorUYVY = 3, Trro_ColorYUYV = 4, Trro_ColorJPEG = 5,
  Trro_ColorARGB = 6, Trro_ColorNV12 = 7, Trro_ColorMJPEG = 8, Trro_ColorEYUYV = 9,
  Trro_ColorH264 = 10, Trro_ColorH265 = 11, Trro_ColorAV1 = 12, Trro_ColorBGRA = 20,
  Trro_ColorRGB = 21, Trro_ColorBGR = 22
}
 
enum  FrameType { TYPE_IFrame = 1, TYPE_PFrame = 0 }
 
enum  SignalState {
  kTrroReady = 0, kTrroLost = 1, kTrroReup = 2, kTrroKickout = 3,
  kTrroAuthFailed = 4
}
 
enum  TrroLogLevel { TRRO_LOG_INFO = 1, TRRO_LOG_WARNING = 2, TRRO_LOG_ERROR = 3 }
 
enum  MediaDeviceType { MediaDeviceTypeMic = 0, MediaDeviceTypeSpeaker = 1 }
 
enum  TrroCodec { Trro_H264 = 0, Trro_H265 = 1, Trro_AV1 = 2, Trro_OPUS = 20 }
 
enum  VideoCaptureProtocol { kV4L2_DMA = 0, kV4L2_MMAP, kRTSP }
 

函数

getErrorMsg

根据错误码,返回错误信息。

参数
[in]errorCode错误码
返回
errorMsg 排查帮助信息
TRRO_EXPORT const char * getErrorMsg (int errorCode)
 
TRRO_initGwJsonWithLicense

使用字符串和本地license初始化

参数
[in]json_str配置文件json字符串
[in]license_pathlicense文件路径名,e.g. "./license.txt"
[in]mode初始化模式 0 同步模式一直等待,-1 异步模式, 初始化成功后通知TRRO_onSignalState
返回
1 for success, other failed
TRRO_EXPORT int TRRO_initGwJsonWithLicense (const char *json_str, const char *license_path, int mode=0)
 
TRRO_initGwJson

使用字符串初始化

参数
[in]json_str配置文件json字符串
[in]mode0 同步模式,一直等待 -1 异步模式,初始化成功后通知TRRO_onSignalState
返回
1 for success, other failed
TRRO_EXPORT int TRRO_initGwJson (const char *json_str, int mode=0)
 
TRRO_initGwPathWithLicense

使用配置文件和本地license初始化

参数
[in]cfg_pathjson配置文件路径名,e.g. "./config.json"
[in]license_pathlicense文件路径名,e.g. "./license.txt"
[in]mode0 同步模式一直等待,-1 异步模式 初始化成功后通知TRRO_onSignalState
返回
1 for success, other failed
TRRO_EXPORT int TRRO_initGwPathWithLicense (const char *cfg_path, const char *license_path, int mode=0)
 
TRRO_initGwPath

使用配置文件初始化

参数
[in]cfg_pathjson配置文件路径名,e.g. "./config.json"
[in]mode0 同步模式一直等待,-1 异步模式,初始化成功后TRRO_onSignalState信息
返回
1 for success, other failed
TRRO_EXPORT int TRRO_initGwPath (const char *cfg_path, int mode=0)
 
TRRO_start

启动音视频传输业务, 需要等待初始化成功后调用(同步模式init返回成功 或 异步模式初始化TRRO_onSignalState通知连接Read)

参数
[in]void
返回
1 for success, other failed
TRRO_EXPORT int TRRO_start ()
 
TRRO_stop

销毁SDK,释放sdk资源

参数
[in]void
返回
void
TRRO_EXPORT void TRRO_stop ()
 
TRRO_updatePassword

更新密码, TRRO_start之后调用有效

参数
[in]password新密码
[in]length密码长度
返回
1 for success, other failed
TRRO_EXPORT int TRRO_updatePassword (const char *password, int length)
 
TRRO_sendControlData

向远端设备发送数据

参数
[in]msg消息体
[in]len消息体长度
[in]qos0:unreliable 1:reliable
返回
1 for success, other failed
TRRO_EXPORT int TRRO_sendControlData (const char *msg, int len, int qos=0)
 
TRRO_setChineseFontAndSize(Experimental)

设置渲染文字格式,需要在调用外部输入图像前前调用,否则不生效

参数
[in]font_path字幕格式路径 .tff 后缀的路径
[in]size字幕大小
[in]input需要输入的文字字符集合
返回
void
TRRO_EXPORT void TRRO_setChineseFontAndSize (const char *font_path, float size, const char *input)
 
TRRO_externalVideoData

废弃的外部图像输入接口

弃用:
这个接口已被废弃,不再推荐使用。请使用 TRRO_externalVideoDataWithText 接口代替。
参数
[in]stream_id流ID
[in]data消息体
[in]width数据源宽
[in]height数据源高
[in]type数据源类型,当前支持Trro_ColorYUVI420 Trro_ColorJPEG Trro_ColorYUYV
[in]dataSize数据大小,为0时会自动根据格式计算大小,发送JPEG等无特定大小数据时需指定
[in]text图像要叠加字符串(experimental)
[in]point_x叠加文字起始x坐标,最左侧为0 (experimental)
[in]point_y叠加文字起始y坐标,最顶部为0 (experimental)
返回
1 for success, other failed
TRRO_EXPORT DEPRECATED int TRRO_externalVideoData (int stream_id, const char *data, int width, int height, int type, int dataSize=0, const char *text="", int point_x=0, int point_y=0)
 
TRRO_externalVideoDataWithText

外部图像输入接口

参数
[in]stream_id流ID
[in]data消息体
[in]width数据源宽
[in]height数据源高
[in]type数据源类型,当前支持Trro_ColorYUVI420 Trro_ColorJPEG Trro_ColorYUYV
[in]dataSize数据大小,为0时会自动根据格式计算大小,发送JPEG等无特定大小数据时需指定
[in]textFormat图像要叠加字符串格式,包括了文字内容,起始坐标,文字颜色,边框颜色(experimental)
返回
1 for success, other failed
TRRO_EXPORT int TRRO_externalVideoDataWithText (int stream_id, const char *data, int width, int height, int type, int dataSize=0, TRRO_TextFormat *text_format=NULL)
 
TRRO_externalVideoDataWithUserTime

外部图像输入接口,带用户时间戳

参数
[in]stream_id流ID
[in]data消息体
[in]width数据源宽
[in]height数据源高
[in]type数据源类型,当前支持Trro_ColorYUVI420 Trro_ColorJPEG Trro_ColorYUYV
[in]user_time用户时间戳
[in]dataSize数据大小,为0时会自动根据格式计算大小,发送JPEG等无特定大小数据时需指定
返回
1 for success, other failed
TRRO_EXPORT int TRRO_externalVideoDataWithUserTime (int stream_id, const char *data, int width, int height, int type, long long user_time, int dataSize=0)
 
TRRO_externalEncodeVideoData

外部编码流输入,编码流codec需要与配置codec一致

参数
[in]stream_id流ID
[in]data消息体
[in]width数据源宽
[in]height数据源高
[in]size数据大小
[in]type数据源类型,参考FrameType
返回
1 for success, other failed
TRRO_EXPORT int TRRO_externalEncodeVideoData (int stream_id, const char *data, int width, int height, int size, FrameType type)
 
TRRO_externalEncodeVideoDataUserTime

外部编码流输入,编码流codec需要与配置codec一致

参数
[in]stream_id流ID
[in]data消息体
[in]width数据源宽
[in]height数据源高
[in]size数据大小
[in]type数据源类型,参考FrameType
[in]user_time用户时间戳
返回
1 for success, other failed
TRRO_EXPORT int TRRO_externalEncodeVideoDataUserTime (int stream_id, const char *data, int width, int height, int size, FrameType type, long long user_time)
 
TRRO_setOperationPermission

设置远端设备操控权限,目前同时只能有一个远端设备有master权限,若已有远端设备是master权限,调用该接口设置master权限,会自动取消之前设备的master权限然后设置新设备;

参数
[in]remote_devid设置权限的对端设备id
[in]permission参考 TrroPermission, 0 guest,只有观看权、1 master, 完全控制权限
返回
1 for success, other failed
TRRO_EXPORT int TRRO_setOperationPermission (const char *remote_devid, int permission)
 
TRRO_registerMultiNetworkStatsCallback

注册多网网卡状态回调

参数
[in]context上下文指针,回调时会返回该上下文指针
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerMultiNetworkStatsCallback (void *context, TRRO_onMultiNetworkStat *callback)
 
TRRO_registerControlDataCallback

注册远端设备消息回调函数

参数
[in]context上下文指针,回调时会返回该上下文指针
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerControlDataCallback (void *context, TRRO_onControlData *callback)
 
TRRO_registerVideoCaptureCallback

注册视频采集数据回调函数

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerVideoCaptureCallback (void *context, TRRO_onVideoCaptureData *callback)
 
TRRO_registerEncodeFrameInfoCallback

注册编码建议信息回调函数

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerEncodeFrameInfoCallback (void *context, TRRO_onEncodeFrameInfo *callback)
 
TRRO_registerRemoteMixAudioFrameCallback

注册远端混音音频数据回调函数

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerRemoteMixAudioFrameCallback (void *context, TRRO_onRemoteMixAudioFrame *callback)
 
TRRO_registerRemoteEncodedFrameCallback

注册远端编码数据回调函数

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerRemoteEncodedFrameCallback (void *context, TRRO_onRemoteEncodedFrameData *callback)
 
TRRO_registerOnState

注册视频连接状态回调函数

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerOnState (void *context, TRRO_OnState *callback)
 
TRRO_registerOnAudioState

注册音频连接状态回调函数

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerOnAudioState (void *context, TRRO_OnAudioState *callback)
 
TRRO_registerOnControlState

注册数据连接状态回调函数

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerOnControlState (void *context, TRRO_OnControlState *callback)
 
TRRO_registerOnErrorEvent

注册视频连接状态回调函数

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerOnErrorEvent (void *context, TRRO_OnErrorEvent *callback)
 
TRRO_registerLogCallback

注册日志回调函数

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerLogCallback (void *context, TRRO_OnLogData *callback)
 
TRRO_registerLatencyCallback

注册时延回调函数

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerLatencyCallback (void *context, TRRO_onLatencyReport *callback)
 
TRRO_registerMediaState

注册音频状态回调

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerMediaState (void *context, TRRO_onMediaState *callback)
 
TRRO_EXPORT int TRRO_registerAudioMediaState (void *context, TRRO_onMediaState *callback)
 
TRRO_testNetworkQuality

评估网络状态 注意:此函数是阻塞函数 如果网络未连接成功超时时间为10s 再加网络探测时间

参数
[in]stream_ids想要进行网络探测的流ID数组
[in]stream_size想要进行网络探测的流ID数组的大小
[in]test_time连接成功后的探测持续时间,test_time 最小2s,最大10s;
返回
int 网络评估 0:无法评估网络,1:良好网络,2:较差网络,3:不可用网络
TRRO_EXPORT int TRRO_testNetworkQuality (int *stream_ids, int stream_size, int test_time)
 
TRRO_registerSignalStateCallback

注册信令服务连接状态回调

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerSignalStateCallback (void *context, TRRO_onSignalState *callback)
 
TRRO_registerOperationPermissionRequest

注册远端设备操控权限请求通知回调

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerOperationPermissionRequest (void *context, TRRO_onOperationPermissionRequest *callback)
 
TRRO_registerRemoteDeviceState

注册远端用户连接状态回调接口

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerRemoteDeviceState (void *context, TRRO_onRemoteDeviceState *callback)
 
TRRO_registerActiveState

注册会话激活状态回调

参数
[in]context上下文
[in]callback回调函数
返回
1 for success, other failed
TRRO_EXPORT int TRRO_registerActiveState (void *context, TRRO_onActiveState *callback)
 
TRRO_startRecorder(Experimental)

启动录制

参数
[in]recorderID录制ID (若想录制采集流,id需设置成对应stream, config文件中stream_config需加上 “record_on”:1)
[in]format录制格式:0 :264
[in]width编码宽
[in]heigh编码高
[in]jump录制跳帧数(隔几帧跳一帧)
[in]fps编码帧率
[in]bps码率
[in]filename文件名
[in]config录制选项(保留)
返回
1 for success, other failed
TRRO_EXPORT int TRRO_startRecorder (int recorderID, int format, int width, int heigh, int jump, int fps, int bps, const char *filename, const char *config)
 
TRRO_sendRecordVideoData(Experimental)

发送录制数据

参数
[in]recorderID录制ID
[in]data录制数据
[in]width数据源宽
[in]heigh数据源高
[in]size录制数据大小
[in]format视频源格式 1 yuv420 , 4 YUYV
返回
1 for success, other failed
TRRO_EXPORT int TRRO_sendRecordVideoData (int recorderID, const char *data, int width, int height, int format)
 
TRRO_switchRecorderFile(Experimental)

切换录制文件

参数
[in]recorderID录制ID
[in]filname文件名
返回
1 for success, other failed
TRRO_EXPORT int TRRO_switchRecorderFile (int recorderID, const char *filename)
 
Trro_stopRecorder(Experimental)

停止录制

参数
[in]recorderID录制ID
返回
1 for success, other failed
TRRO_EXPORT int TRRO_stopRecorder (int recorderID)
 
Trro_setForcePush(Experimental)

更改强制推流状态

参数
[in]stream_id;流ID
[in]force_push;true 强制推流,false 按需推流
返回
1 for success, other failed
TRRO_EXPORT int TRRO_setForcePush (int stream_id, bool force_push)
 
TRRO_externalVideoDataNv(Experimental)

外部码流输入-编码流,用于NV jetson平台加速

参数
[in]stream_id流ID
[in]data消息体
[in]real_width数据源宽
[in]real_height数据源高
[in]size数据大小
[in]type数据源类型,参考Color类型,支持YUYV格式
返回
1 for success, other failed
TRRO_EXPORT int TRRO_externalVideoDataNv (int stream_id, const char *data, int real_width, int real_height, int type)
 
TRRO_externalVideoDataDmaNative(Experimental)

nvidia jetson平台特殊输入接口(Experimental)

参数
[in]stream_id流id
[in]fd输入句柄
[in]real_width原始数据宽
[in]real_height原始数据高
[in]type输入类型
返回
1 for success, other failed
TRRO_EXPORT int TRRO_externalVideoDataDmaNative (int stream_id, int fd, int real_width, int real_height, int type)
 
TRRO_externVideoMJPEGDecode(Experimental)

外部编码流输入MJPEG,使用nvidia jetson平台解码

参数
[in]stream_id流id
[in]data源数据
[in]data_size数据大小
[in]widht原始数据宽
[in]height原始数据高
返回
1 for success, other failed
TRRO_EXPORT int TRRO_externVideoMJPEGDecode (int stream_id, const char *data, int data_size, int width, int height)
 
TRRO_externAudioData(Experimental)

外部音频数据输入(pcm数据), 16位音频采样

参数
[in]data源数据
[in]data_size数据大小
[in]channel音频声道数
[in]sample_rate音频采样率
返回
1 for success, other failed
TRRO_EXPORT int TRRO_externAudioData (const char *data, int data_size, int channel, int sample_rate)
 
TRRO_externAudioDataUserTime(Experimental)

外部音频数据输入(pcm数据), 16位音频采样

参数
[in]data源数据
[in]data_size数据大小
[in]channel音频声道数
[in]sample_rate音频采样率
[in]user_time用户自定义时间戳
返回
1 for success, other failed
TRRO_EXPORT int TRRO_externAudioDataUserTime (const char *data, int data_size, int channel, int sample_rate, unsigned long long user_time)
 
TRRO_setSessionActiveState(Experimental)

默认为激活状态,设置后会非激活状态,仅仅保持连接,不发送数据

参数
[in]is_active是否激活状态
返回
1 for success, other failed 注意:仅仅支持支持 视频为"outside" “outenc” "rtsp_enc" 以及音频为外部输入模式
TRRO_EXPORT int TRRO_setSessionActiveState (bool is_active)
 
TRRO_audioMute(Experimental)

Mute 拉流端的音频 仅Server模式

参数
[in]userid拉流端id
[in]mute是否mute
返回
1 for success, other failed
TRRO_EXPORT int TRRO_audioMute (const char *userid, bool mute)
 
TRRO_muteLocalAudio

Mute 本地音频流

参数
[in]mute是否mute
返回
1 for success, other failed
TRRO_EXPORT int TRRO_muteLocalAudio (bool mute)
 
TRRO_reinitRtc(Experimental)

重配置rtc,当前仅支持重置外采

参数
[in]config重配置json数据
TRRO_EXPORT int TRRO_reinitRtc (const char *config)
 
getSdkVersion

获取sdk版本信息

参数
[in]void
返回
version 版本号
TRRO_EXPORT const char * TRRO_getSdkVersion ()
 
TRRO_getDeviceCount(Experimental)

根据MediaDeviceType 查询音频设备的个数。

参数
[in]type音频设备类型
返回
设备个数
TRRO_EXPORT int TRRO_getDeviceCount (MediaDeviceType type)
 
TRRO_getDeviceName(Experimental)

根据MediaDeviceType 和 index查询设备名字。

参数
[in]type设备类型
[in]index为设备索引,值为 [0, TRRO_getDeviceCount)
返回
设备名字,失败返回null
TRRO_EXPORT const char * TRRO_getDeviceName (MediaDeviceType type, int index)
 
TRRO_setCurrentDevice(Experimental)

根据MediaDeviceType 和 index设备当前采集或者播放设备。

参数
[in]type设备类型
[in]index为设备索引,值为 [0, TRRO_getDeviceCount)
返回
1 for success, other failed
TRRO_EXPORT int TRRO_setCurrentDevice (MediaDeviceType type, int index)
 
TRRO_startVideoCapture

开始摄像头采集

参数
[in]context上下文
[in]url采集路径,摄像头为/dev/video*, rtsp时是rtsp的地址
[in]protocol当等于kV4L2_DMA或者kV4L2_MMAP时,为摄像头采集。当等于 kRTSP 时,为rtsp地址
[in]TrroColor采集视频格式
[in]width采集视频宽度
[in]height采集视频高度
[in]fps采集视频帧率
[in]callback采集视频回调
[in,out]capture_id采集流的唯一标识符(重复则返回错误),支持传入传出(当(*capture_id) > 0时才用传入值,为0则内部生成修改该值)
返回
开始采集失败则返回错误码,返回1表示成功
TRRO_EXPORT int TRRO_startVideoCapture (void *context, const char *url, VideoCaptureProtocol protocol, TrroColor color_format, int width, int height, int fps, TRRO_onVideoCaptureFrame callback, unsigned long long *capture_id)
 
TRRO_stopVideoCapture

停止摄像头采集

参数
[in]capture_id采集视频源ID(不能为0)
返回
停止采集失败则返回错误码,返回1表示成功
TRRO_EXPORT int TRRO_stopVideoCapture (unsigned long long capture_id)
 
TRRO_SetEncodeConfig

设置编码器相关配置

参数
[in]stream_id视频流id
[in]roi_rects对应的Roi区域数组
[in]lenTRRO_RoiRect数组长度
返回
设置失败则返回错误,返回1表示成功
TRRO_EXPORT int TRRO_setEncodeRoi (int stream_id, TRRO_RoiRect *roi_rects, int len)
 

宏定义说明

◆ DEPRECATED

#define DEPRECATED   __attribute__((deprecated))

◆ TRRO_CAPTURE_ERROR

#define TRRO_CAPTURE_ERROR   0x04FFFFFF

十进制【83886079】 采集模块错误

◆ TRRO_CAPTURE_GETSOURCE_FAILED

#define TRRO_CAPTURE_GETSOURCE_FAILED   0x04000003

十进制【67108867】 获取数据源失败

◆ TRRO_CAPTURE_OPENDEVICE_FAILED

#define TRRO_CAPTURE_OPENDEVICE_FAILED   0x04000002

十进制【67108866】 打开设备失败

◆ TRRO_CAPTURE_UNKNOWN_CAPTURETYPE

#define TRRO_CAPTURE_UNKNOWN_CAPTURETYPE   0x04000004

十进制【67108868】 未知采集类型

◆ TRRO_COMMON_ERROR

#define TRRO_COMMON_ERROR   0x00FFFFFF

十进制【16777215】 失败

◆ TRRO_CONFIG_CER_FAILED

#define TRRO_CONFIG_CER_FAILED   0x01000005

十进制【16777221】 云证书错误

◆ TRRO_CONFIG_CERTIFICATE_MD5_INVALID

#define TRRO_CONFIG_CERTIFICATE_MD5_INVALID   0x01000010

◆ TRRO_CONFIG_CLOUD_MODE_INVALID

#define TRRO_CONFIG_CLOUD_MODE_INVALID   0x0100000D

◆ TRRO_CONFIG_DEVICE_ID_INVALID

#define TRRO_CONFIG_DEVICE_ID_INVALID   0x0100000A

◆ TRRO_CONFIG_DEVICE_NAME_INVALID

#define TRRO_CONFIG_DEVICE_NAME_INVALID   0x0100000B

◆ TRRO_CONFIG_ERROR

#define TRRO_CONFIG_ERROR   0x01FFFFFF

十进制【33554431】 配置解析失败

◆ TRRO_CONFIG_FIELD_TYPE_ERROR

#define TRRO_CONFIG_FIELD_TYPE_ERROR   0x0100000F

◆ TRRO_CONFIG_ILLEGAL

#define TRRO_CONFIG_ILLEGAL   0x01000003

十进制【16777219】 参数格式非法,需新增参数检查

◆ TRRO_CONFIG_LIC_FAILED

#define TRRO_CONFIG_LIC_FAILED   0x01000006

十进制【16777222】 license证书错误

◆ TRRO_CONFIG_LOG_PERMISSON_DENIED

#define TRRO_CONFIG_LOG_PERMISSON_DENIED   0x01000009

十进制【16777225】 打开log文件权限不足

◆ TRRO_CONFIG_PARSE_FAILED

#define TRRO_CONFIG_PARSE_FAILED   0x01000002

十进制【16777218】 配置文件格式异常

◆ TRRO_CONFIG_REQUIRED_FIELD_MISSING

#define TRRO_CONFIG_REQUIRED_FIELD_MISSING   0x0100000E

◆ TRRO_CONFIG_SDK_MODE_INVALID

#define TRRO_CONFIG_SDK_MODE_INVALID   0x0100000C

◆ TRRO_CONFIG_STREAMS_SIZE_ERROR

#define TRRO_CONFIG_STREAMS_SIZE_ERROR   0x01000007

十进制【16777223】 超过最大支持流数目

◆ TRRO_CONFIG_UNEXIST

#define TRRO_CONFIG_UNEXIST   0x01000004

十进制【16777220】 配置文件不存在

◆ TRRO_CONIFG_PORT_RANGE_ILLEGAL

#define TRRO_CONIFG_PORT_RANGE_ILLEGAL   0x01000008

十进制【16777224】 端口范围配置非法

◆ TRRO_CONNECT_ERROR

#define TRRO_CONNECT_ERROR   0x05FFFFFF

十进制【100663295】 连接错误

◆ TRRO_CONNECT_OUTTIME

#define TRRO_CONNECT_OUTTIME   0x05000002

十进制【83886082】 超时断连

◆ TRRO_DEVICE_ALREADY_LOGIN

#define TRRO_DEVICE_ALREADY_LOGIN   0x03000007

50331655 信令服务器连接用户名已经登陆

◆ TRRO_ERROR_CALLBACK_BANDWIDTH_LIMIT

#define TRRO_ERROR_CALLBACK_BANDWIDTH_LIMIT   0x09030000

十进制【151191552】 评估网络带宽无法满足最低码率需求

◆ TRRO_ERROR_CALLBACK_CAMERA

#define TRRO_ERROR_CALLBACK_CAMERA   0x09010000

十进制【151060480】 相机异步回调错误

◆ TRRO_ERROR_CALLBACK_MIC

#define TRRO_ERROR_CALLBACK_MIC   0x09020000

十进制【151126016】 麦克风异步回调错误

◆ TRRO_ERROR_CALLBACK_RESERVE_DEGRADE

#define TRRO_ERROR_CALLBACK_RESERVE_DEGRADE   0x09040000

十进制【151257088】 网络带宽不足引发reserve带宽降级

◆ TRRO_EXPORT

#define TRRO_EXPORT   __attribute__((visibility("default")))

◆ TRRO_EXTERNAL_RESIZE

#define TRRO_EXTERNAL_RESIZE   0x08000001

十进制【134217729】 外采模式错误

◆ TRRO_INIT_CANCEL

#define TRRO_INIT_CANCEL   0x0200000F

十进制【33554447】 LICENSE 客户主动退出

◆ TRRO_INIT_CREAT_MEDIAMODE_FAILED

#define TRRO_INIT_CREAT_MEDIAMODE_FAILED   0x02000004

十进制【33554436】 媒体模块创建失败

◆ TRRO_INIT_ERROR

#define TRRO_INIT_ERROR   0x02FFFFFF

十进制【50331647】 初始化通用失败

◆ TRRO_INIT_INPUT_ILLEGAL

#define TRRO_INIT_INPUT_ILLEGAL   0x02000002

十进制【33554434】 初始化参数异常

◆ TRRO_INIT_INVALID_INPUT

#define TRRO_INIT_INVALID_INPUT   0x02000006

十进制【33554438】 非法输入

◆ TRRO_INIT_LICENSE_CHECK_DEVICE_FAILED

#define TRRO_INIT_LICENSE_CHECK_DEVICE_FAILED   0x02000013

十进制【33554451】 LICENSE 硬件验证失败

◆ TRRO_INIT_LICENSE_CHECK_FAILED

#define TRRO_INIT_LICENSE_CHECK_FAILED   0x02000010

十进制【33554448】 LICENSE校验失败

◆ TRRO_INIT_LICENSE_CHECK_ID_FAILED

#define TRRO_INIT_LICENSE_CHECK_ID_FAILED   0x02000015

十进制【33554453】 LICENSE 设备ID验证失败

◆ TRRO_INIT_LICENSE_CHECK_STREAM_FAILED

#define TRRO_INIT_LICENSE_CHECK_STREAM_FAILED   0x02000014

十进制【33554452】 LICENSE 授权流小于设备流

◆ TRRO_INIT_LICENSE_CHECK_TIME_FAILED

#define TRRO_INIT_LICENSE_CHECK_TIME_FAILED   0x02000012

十进制【33554450】 LICENSE 授权过期

◆ TRRO_INIT_LICENSE_FILE_ERROR

#define TRRO_INIT_LICENSE_FILE_ERROR   0x02000011

十进制【33554449】 LICENSE 文件错误

◆ TRRO_INIT_PARSE_FAILED

#define TRRO_INIT_PARSE_FAILED   0x02000003

十进制【33554435】 配置节点解析异常

◆ TRRO_INIT_PRM_ERROR

#define TRRO_INIT_PRM_ERROR   0x02000005

十进制【33554437】 参数错误

◆ TRRO_INIT_PUBLIC_LICENSE_CHECK_NOT_BIND

#define TRRO_INIT_PUBLIC_LICENSE_CHECK_NOT_BIND   0x02000101

十进制【33554689】 LICENSE 公有云设备未绑定license

◆ TRRO_INIT_PUBLIC_LICENSE_CHECK_NOT_DURATION

#define TRRO_INIT_PUBLIC_LICENSE_CHECK_NOT_DURATION   0x02000104

十进制【33554692】 LICENSE 公有云license剩余时长不足

◆ TRRO_INIT_PUBLIC_LICENSE_CHECK_NOT_ENOUGH

#define TRRO_INIT_PUBLIC_LICENSE_CHECK_NOT_ENOUGH   0x02000102

十进制【33554690】 LICENSE 公有云license数量不足

◆ TRRO_INIT_PUBLIC_LICENSE_CHECK_OVERTIME

#define TRRO_INIT_PUBLIC_LICENSE_CHECK_OVERTIME   0x02000103

十进制【33554691】 LICENSE 公有云license已过期

◆ TRRO_INIT_PUBLIC_LICENSE_CHECK_TIMEOUT

#define TRRO_INIT_PUBLIC_LICENSE_CHECK_TIMEOUT   0x02000100

十进制【33554688】 LICENSE 公有云license验证超时

◆ TRRO_INIT_REPEAT

#define TRRO_INIT_REPEAT   0x02000007

十进制【33554439】 重复初始化

◆ TRRO_INPUT_SIZE_ILLEGAL

#define TRRO_INPUT_SIZE_ILLEGAL   0x0F000002

十进制【251658242】 输入大小不匹配

◆ TRRO_MESSAGE_BLOCK

#define TRRO_MESSAGE_BLOCK   0x06000006

◆ TRRO_MESSAGE_BYTE_EXCEED

#define TRRO_MESSAGE_BYTE_EXCEED   0x06000003

十进制【100663299】 发送字节数超出限制

◆ TRRO_MESSAGE_CHANNEL

#define TRRO_MESSAGE_CHANNEL   0x06000002

十进制【100663298】 消息通道异常

◆ TRRO_MESSAGE_COMPRESS

#define TRRO_MESSAGE_COMPRESS   0x06000007

◆ TRRO_MESSAGE_ERROR

#define TRRO_MESSAGE_ERROR   0x06FFFFFF

十进制【117440511】 消息错误

◆ TRRO_MESSAGE_MAX_EXCEED

#define TRRO_MESSAGE_MAX_EXCEED   0x06000005

十进制【100663301】 1s钟最多发送 10KB数据 inactive 1s钟最多发送 1KB数据

◆ TRRO_MESSAGE_PERMISSION

#define TRRO_MESSAGE_PERMISSION   0x06000008

十进制【100663303】 消息压缩失败

十进制【100663304】 没有接受端存在,接受权限问题

◆ TRRO_MESSAGE_RATE_EXCEED

#define TRRO_MESSAGE_RATE_EXCEED   0x06000004

十进制【100663300】 发送间隔过于密集

◆ TRRO_PARAM_INVALID

#define TRRO_PARAM_INVALID   0x00F00000

十进制【15728640】 输入参数不正确

◆ TRRO_SESSION_INACTIVE

#define TRRO_SESSION_INACTIVE   0x0F000003

十进制【251658243】 会话未激活

◆ TRRO_SIGNAL_CONNECT_OUTTIME

#define TRRO_SIGNAL_CONNECT_OUTTIME   0x03000005

十进制【50331653】 信令服务器连接超时

◆ TRRO_SIGNAL_DEVICEID_OR_PASSWORD_INCORRECT

#define TRRO_SIGNAL_DEVICEID_OR_PASSWORD_INCORRECT   0x03000006

50331654 信令服务器连接用户名或者密码错误

◆ TRRO_SIGNAL_ERROR

#define TRRO_SIGNAL_ERROR   0x03FFFFFF

十进制【67108863】 信令模块失败

◆ TRRO_SIGNAL_MESSAGE_FAILED

#define TRRO_SIGNAL_MESSAGE_FAILED   0x03000004

十进制【50331652】 信令消息处理失败

◆ TRRO_SIGNAL_REGIST_FAILED

#define TRRO_SIGNAL_REGIST_FAILED   0x03000002

十进制【50331650】 信令注册失败

◆ TRRO_SIGNAL_STATUS_ABNORMAL

#define TRRO_SIGNAL_STATUS_ABNORMAL   0x03000003

十进制【50331651】 信令服务器连接异常

◆ TRRO_START_CAPTURE_IDEXIST

#define TRRO_START_CAPTURE_IDEXIST   0x07000006

十进制【117440518】 重复开启采集

◆ TRRO_STOR_ERROR

#define TRRO_STOR_ERROR   0x07FFFFFF

十进制【134217727】 存储异常

◆ TRRO_STOR_ID_ILLEGAL

#define TRRO_STOR_ID_ILLEGAL   0x07000003

十进制【117440515】 非法ID

◆ TRRO_STOR_IDEXIST

#define TRRO_STOR_IDEXIST   0x07000002

十进制【117440514】 重复开启存储

◆ TRRO_STOR_PARAM_ILLEGAL

#define TRRO_STOR_PARAM_ILLEGAL   0x07000004

十进制【117440516】 参数非法

◆ TRRO_STOR_UNENABLE

#define TRRO_STOR_UNENABLE   0x07000001

十进制【117440513】 存储未使能

◆ TRRO_STOR_UNSET_FILENAME

#define TRRO_STOR_UNSET_FILENAME   0x07000005

十进制【117440517】 未设置文件名

◆ TRRO_SUCCED

#define TRRO_SUCCED   0x00000001

十进制【1】 成功

弃用:
已被废弃,不再推荐使用。请使用 TRRO_SUCCEED代替。

◆ TRRO_SUCCEED

#define TRRO_SUCCEED   0x00000001

十进制【1】 成功

◆ TRRO_UNSUPPORT

#define TRRO_UNSUPPORT   0x0F000001

十进制【251658241】 该调用或者函数功能暂不支持

类型定义说明

◆ TRRO_onActiveState

typedef void TRRO_onActiveState(void *context, bool is_active)

◆ TRRO_OnAudioState

typedef void TRRO_OnAudioState(void *context, int up_or_down, int state)

◆ TRRO_onControlData

typedef void TRRO_onControlData(void *context, const char *controller_id, const char *msg, int len, int qos)

◆ TRRO_OnControlState

typedef void TRRO_OnControlState(void *context, int state)

◆ TRRO_onEncodeFrameInfo

typedef void TRRO_onEncodeFrameInfo(void *context, int stream_id, int type, int bitrate)

◆ TRRO_OnErrorEvent

typedef void TRRO_OnErrorEvent(void *context, int error_code, const char *error_msg)

◆ TRRO_onLatencyReport

typedef void TRRO_onLatencyReport(void *context, int stream_id, int vcct)

◆ TRRO_OnLogData

typedef void TRRO_OnLogData(void *context, const char *msg, int level)

◆ TRRO_onMediaState

typedef void TRRO_onMediaState(void *context, int stream_id, int fps, int bps, int rtt, long long lost, long long packets_send, int stun)

◆ TRRO_onMultiNetworkStat

typedef void TRRO_onMultiNetworkStat(void *context, const TrroMultiNetworkStats stats)

◆ TRRO_onOperationPermissionRequest

typedef void TRRO_onOperationPermissionRequest(void *context, const char *remote_devid, int permission)

◆ TRRO_onRemoteDeviceState

typedef void TRRO_onRemoteDeviceState(void *context, const char *remote_device, int stream_id, int state)

◆ TRRO_onRemoteEncodedFrameData

typedef void TRRO_onRemoteEncodedFrameData(void *context, const char *gwid, int stream_id, int conn_fd, const char *data, int len, TrroCodec trro_codec, bool is_key_frame, long long videotime, bool has_user_time, uint64_t user_time)

◆ TRRO_onRemoteMixAudioFrame

typedef void TRRO_onRemoteMixAudioFrame(void *context, const char *data, int length, int channel, int sample_rate)

◆ TRRO_onSignalState

typedef void TRRO_onSignalState(void *context, SignalState state)

◆ TRRO_OnState

typedef void TRRO_OnState(void *context, int stream_id, int state)

◆ TRRO_onVideoCaptureData

typedef void TRRO_onVideoCaptureData(void *context, const char *data, int width, int height, int type, int stream_id)

◆ TRRO_onVideoCaptureFrame

typedef void TRRO_onVideoCaptureFrame(void *context, unsigned long long capture_id, const char *data, int length, int width, int height, TrroColor color_format)

枚举类型说明

◆ FrameType

enum FrameType

FrameType 帧类型枚举

枚举值
TYPE_IFrame 

I帧

TYPE_PFrame 

P帧

◆ MediaDeviceType

MediaDeviceType 设备类型枚举

枚举值
MediaDeviceTypeMic 

麦克风类型设备

MediaDeviceTypeSpeaker 

扬声器类型设备

◆ SignalState

SignalState 信令连接状态枚举

枚举值
kTrroReady 

连接建立成功

kTrroLost 

连接断开,内部会进行自动重连

kTrroReup 

自动重连成功

kTrroKickout 
kTrroAuthFailed 

用户名或者密码错误

◆ TrroCodec

enum TrroCodec
枚举值
Trro_H264 
Trro_H265 
Trro_AV1 
Trro_OPUS 

◆ TrroColor

enum TrroColor

TrroColor 颜色枚举

枚举值
Trro_ColorYUVI420 

YUV I420

Trro_ColorUYVY 

UYVY

Trro_ColorYUYV 

YUYV

Trro_ColorJPEG 

JPEG

Trro_ColorARGB 

ARGB

Trro_ColorNV12 

NV12

Trro_ColorMJPEG 

MJPEG

Trro_ColorEYUYV 

eyuyv

Trro_ColorH264 
Trro_ColorH265 
Trro_ColorAV1 
Trro_ColorBGRA 

BGRA

Trro_ColorRGB 

RGB888

Trro_ColorBGR 

BGR888

◆ TrroLogLevel

TrroLogLevel 日志等级枚举

枚举值
TRRO_LOG_INFO 

INFO

TRRO_LOG_WARNING 

WARNING

TRRO_LOG_ERROR 

ERROR

◆ TrroPermission

TrroPermission 权限枚举

枚举值
kPermissionGuest 

guest权限

kPermissionMaster 

master权限

◆ TrroRemoteDeviceState

枚举值
kRemoteDeviceDisconnect 
kRemoteDeviceConnected 

◆ TrroState

enum TrroState

TrroState trro连接状态枚举

枚举值
kDisconnect 

断连

kConnecting 

连接中

kConnected 

已连接

kDisconnecting 

已断连

◆ VideoCaptureProtocol

VideoCaptureProtocol 采集类型

枚举值
kV4L2_DMA 

DMA硬件加速

kV4L2_MMAP 

内存映射

kRTSP 

RTSP类型

函数说明

◆ getErrorMsg()

TRRO_EXPORT const char * getErrorMsg ( int  errorCode)

◆ TRRO_audioMute()

TRRO_EXPORT int TRRO_audioMute ( const char *  userid,
bool  mute 
)

◆ TRRO_externalEncodeVideoData()

TRRO_EXPORT int TRRO_externalEncodeVideoData ( int  stream_id,
const char *  data,
int  width,
int  height,
int  size,
FrameType  type 
)

◆ TRRO_externalEncodeVideoDataUserTime()

TRRO_EXPORT int TRRO_externalEncodeVideoDataUserTime ( int  stream_id,
const char *  data,
int  width,
int  height,
int  size,
FrameType  type,
long long  user_time 
)

◆ TRRO_externalVideoData()

TRRO_EXPORT DEPRECATED int TRRO_externalVideoData ( int  stream_id,
const char *  data,
int  width,
int  height,
int  type,
int  dataSize = 0,
const char *  text = "",
int  point_x = 0,
int  point_y = 0 
)

◆ TRRO_externalVideoDataDmaNative()

TRRO_EXPORT int TRRO_externalVideoDataDmaNative ( int  stream_id,
int  fd,
int  real_width,
int  real_height,
int  type 
)

◆ TRRO_externalVideoDataNv()

TRRO_EXPORT int TRRO_externalVideoDataNv ( int  stream_id,
const char *  data,
int  real_width,
int  real_height,
int  type 
)

◆ TRRO_externalVideoDataWithText()

TRRO_EXPORT int TRRO_externalVideoDataWithText ( int  stream_id,
const char *  data,
int  width,
int  height,
int  type,
int  dataSize = 0,
TRRO_TextFormat text_format = NULL 
)

◆ TRRO_externalVideoDataWithUserTime()

TRRO_EXPORT int TRRO_externalVideoDataWithUserTime ( int  stream_id,
const char *  data,
int  width,
int  height,
int  type,
long long  user_time,
int  dataSize = 0 
)

◆ TRRO_externAudioData()

TRRO_EXPORT int TRRO_externAudioData ( const char *  data,
int  data_size,
int  channel,
int  sample_rate 
)

◆ TRRO_externAudioDataUserTime()

TRRO_EXPORT int TRRO_externAudioDataUserTime ( const char *  data,
int  data_size,
int  channel,
int  sample_rate,
unsigned long long  user_time 
)

◆ TRRO_externVideoMJPEGDecode()

TRRO_EXPORT int TRRO_externVideoMJPEGDecode ( int  stream_id,
const char *  data,
int  data_size,
int  width,
int  height 
)

◆ TRRO_getDeviceCount()

TRRO_EXPORT int TRRO_getDeviceCount ( MediaDeviceType  type)

◆ TRRO_getDeviceName()

TRRO_EXPORT const char* TRRO_getDeviceName ( MediaDeviceType  type,
int  index 
)

◆ TRRO_getSdkVersion()

TRRO_EXPORT const char* TRRO_getSdkVersion ( )

◆ TRRO_initGwJson()

TRRO_EXPORT int TRRO_initGwJson ( const char *  json_str,
int  mode = 0 
)

◆ TRRO_initGwJsonWithLicense()

TRRO_EXPORT int TRRO_initGwJsonWithLicense ( const char *  json_str,
const char *  license_path,
int  mode = 0 
)

◆ TRRO_initGwPath()

TRRO_EXPORT int TRRO_initGwPath ( const char *  cfg_path,
int  mode = 0 
)

◆ TRRO_initGwPathWithLicense()

TRRO_EXPORT int TRRO_initGwPathWithLicense ( const char *  cfg_path,
const char *  license_path,
int  mode = 0 
)

◆ TRRO_muteLocalAudio()

TRRO_EXPORT int TRRO_muteLocalAudio ( bool  mute)

◆ TRRO_registerActiveState()

TRRO_EXPORT int TRRO_registerActiveState ( void *  context,
TRRO_onActiveState callback 
)

◆ TRRO_registerAudioMediaState()

TRRO_EXPORT int TRRO_registerAudioMediaState ( void *  context,
TRRO_onMediaState callback 
)

◆ TRRO_registerControlDataCallback()

TRRO_EXPORT int TRRO_registerControlDataCallback ( void *  context,
TRRO_onControlData callback 
)

◆ TRRO_registerEncodeFrameInfoCallback()

TRRO_EXPORT int TRRO_registerEncodeFrameInfoCallback ( void *  context,
TRRO_onEncodeFrameInfo callback 
)

◆ TRRO_registerLatencyCallback()

TRRO_EXPORT int TRRO_registerLatencyCallback ( void *  context,
TRRO_onLatencyReport callback 
)

◆ TRRO_registerLogCallback()

TRRO_EXPORT int TRRO_registerLogCallback ( void *  context,
TRRO_OnLogData callback 
)

◆ TRRO_registerMediaState()

TRRO_EXPORT int TRRO_registerMediaState ( void *  context,
TRRO_onMediaState callback 
)

◆ TRRO_registerMultiNetworkStatsCallback()

TRRO_EXPORT int TRRO_registerMultiNetworkStatsCallback ( void *  context,
TRRO_onMultiNetworkStat callback 
)

◆ TRRO_registerOnAudioState()

TRRO_EXPORT int TRRO_registerOnAudioState ( void *  context,
TRRO_OnAudioState callback 
)

◆ TRRO_registerOnControlState()

TRRO_EXPORT int TRRO_registerOnControlState ( void *  context,
TRRO_OnControlState callback 
)

◆ TRRO_registerOnErrorEvent()

TRRO_EXPORT int TRRO_registerOnErrorEvent ( void *  context,
TRRO_OnErrorEvent callback 
)

◆ TRRO_registerOnState()

TRRO_EXPORT int TRRO_registerOnState ( void *  context,
TRRO_OnState callback 
)

◆ TRRO_registerOperationPermissionRequest()

TRRO_EXPORT int TRRO_registerOperationPermissionRequest ( void *  context,
TRRO_onOperationPermissionRequest callback 
)

◆ TRRO_registerRemoteDeviceState()

TRRO_EXPORT int TRRO_registerRemoteDeviceState ( void *  context,
TRRO_onRemoteDeviceState callback 
)

◆ TRRO_registerRemoteEncodedFrameCallback()

TRRO_EXPORT int TRRO_registerRemoteEncodedFrameCallback ( void *  context,
TRRO_onRemoteEncodedFrameData callback 
)

◆ TRRO_registerRemoteMixAudioFrameCallback()

TRRO_EXPORT int TRRO_registerRemoteMixAudioFrameCallback ( void *  context,
TRRO_onRemoteMixAudioFrame callback 
)

◆ TRRO_registerSignalStateCallback()

TRRO_EXPORT int TRRO_registerSignalStateCallback ( void *  context,
TRRO_onSignalState callback 
)

◆ TRRO_registerVideoCaptureCallback()

TRRO_EXPORT int TRRO_registerVideoCaptureCallback ( void *  context,
TRRO_onVideoCaptureData callback 
)

◆ TRRO_reinitRtc()

TRRO_EXPORT int TRRO_reinitRtc ( const char *  config)

◆ TRRO_sendControlData()

TRRO_EXPORT int TRRO_sendControlData ( const char *  msg,
int  len,
int  qos = 0 
)

◆ TRRO_sendRecordVideoData()

TRRO_EXPORT int TRRO_sendRecordVideoData ( int  recorderID,
const char *  data,
int  width,
int  height,
int  format 
)

◆ TRRO_setChineseFontAndSize()

TRRO_EXPORT void TRRO_setChineseFontAndSize ( const char *  font_path,
float  size,
const char *  input 
)

◆ TRRO_setCurrentDevice()

TRRO_EXPORT int TRRO_setCurrentDevice ( MediaDeviceType  type,
int  index 
)

◆ TRRO_setEncodeRoi()

TRRO_EXPORT int TRRO_setEncodeRoi ( int  stream_id,
TRRO_RoiRect roi_rects,
int  len 
)

◆ TRRO_setForcePush()

TRRO_EXPORT int TRRO_setForcePush ( int  stream_id,
bool  force_push 
)

◆ TRRO_setOperationPermission()

TRRO_EXPORT int TRRO_setOperationPermission ( const char *  remote_devid,
int  permission 
)

◆ TRRO_setSessionActiveState()

TRRO_EXPORT int TRRO_setSessionActiveState ( bool  is_active)

◆ TRRO_start()

TRRO_EXPORT int TRRO_start ( )

◆ TRRO_startRecorder()

TRRO_EXPORT int TRRO_startRecorder ( int  recorderID,
int  format,
int  width,
int  heigh,
int  jump,
int  fps,
int  bps,
const char *  filename,
const char *  config 
)

◆ TRRO_startVideoCapture()

TRRO_EXPORT int TRRO_startVideoCapture ( void *  context,
const char *  url,
VideoCaptureProtocol  protocol,
TrroColor  color_format,
int  width,
int  height,
int  fps,
TRRO_onVideoCaptureFrame  callback,
unsigned long long *  capture_id 
)

◆ TRRO_stop()

TRRO_EXPORT void TRRO_stop ( )

◆ TRRO_stopRecorder()

TRRO_EXPORT int TRRO_stopRecorder ( int  recorderID)

◆ TRRO_stopVideoCapture()

TRRO_EXPORT int TRRO_stopVideoCapture ( unsigned long long  capture_id)

◆ TRRO_switchRecorderFile()

TRRO_EXPORT int TRRO_switchRecorderFile ( int  recorderID,
const char *  filename 
)

◆ TRRO_testNetworkQuality()

TRRO_EXPORT int TRRO_testNetworkQuality ( int *  stream_ids,
int  stream_size,
int  test_time 
)

◆ TRRO_updatePassword()

TRRO_EXPORT int TRRO_updatePassword ( const char *  password,
int  length 
)