Skip to content

errorCode

shixuemei edited this page Aug 18, 2017 · 10 revisions

错误码说明

1. 错误码获取

代码通过以下属性获取推流errorCode:

_kit.streamerBase.streamErrorCode

通过getKSYStreamErrorCodeName可以查询到错误码对应的字符串描述

- (NSString*) getKSYStreamErrorCodeName:(KSYStreamErrorCode)code;

2. 错误码出现场景说明

2,1 重连

详细重连请见wiki: retryConnect 需要考虑的重连错误码:

  • KSYStreamErrorCode_CONNECT_BREAK,网络连接断开(服务器关闭或者网络切换失败)
  • KSYStreamErrorCode_AV_SYNC_ERROR,音视频同步失败
  • KSYStreamErrorCode_CODEC_OPEN_FAILED

2.2 KSYStreamErrorCode_DNS_Parse_failed

出现DNS解析错误,大致有以下几种场景:

  1. 手机没有连接网络(3G/4G/WiFi)
  2. 当前连接的WiFi没有网络权限
  3. 设置的url没有成功解析出ip,此时有可能domain错误,或者dns解析异常

建议:主播调整网络环境后重新发起推流。

2.3 KSYStreamErrorCode_Connect_Server_failed

  1. 提供的url,域名解析成功(避免了KSYStreamErrorCode_DNS_Parse_failed)。
  2. 与对应的ip连接失败,比如对方1935端口关闭。

建议:

  1. 确认填写的url是否正确.
  2. 主播网络是否封禁了1935端口.
  3. RTMP服务提供方(源站)无法访问.

2.4 KSYStreamErrorCode_CONNECT_FAILED

  1. 提供的url,域名解析成功,避免了KSYStreamErrorCode_DNS_Parse_failed。.
  2. 与对应的ip连接成功,避免了KSYStreamErrorCode_CONNECT_FAILED
  3. 填入的url不是rtmp协议,或者对端服务不支持rtmp协议

建议:出现在联调阶段,请确保url下发正确。

2.5 KSYStreamErrorCode_ENCODE_FRAMES_FAILED

当前视频帧编码失败,会进行该通知。 建议:推流方无需做任何处理,该错误是内部错误。编码工作仍然会继续下去。

错误码定义

状态名称 value 状态说明 备注
KSYStreamErrorCode_NONE 0 正常无错误
KSYStreamErrorCode_KSYAUTHFAILED 1 SDK 鉴权失败 (暂时正常推流5~8分钟后终止推流)(KSY 自定义,已经不会出现)
KSYStreamErrorCode_ENCODE_FRAMES_FAILED 2 当前帧编码失败
KSYStreamErrorCode_CODEC_OPEN_FAILED 3 无法打开配置指示的CODEC,一般出现在VT264编码时,当出现该错误的时候需要重试
KSYStreamErrorCode_CONNECT_FAILED 4 连接出错,检查地址
KSYStreamErrorCode_CONNECT_BREAK 5 网络连接中断 , 当出现该错误的时候建议重推流
KSYStreamErrorCode_
RTMP_NonExistDomain
6 rtmp 推流域名不存在 (KSY 自定义)
KSYStreamErrorCode_
RTMP_NonExistApplication
7 rtmp 应用名不存在(KSY 自定义)
KSYStreamErrorCode_
RTMP_AlreadyExistStreamName
8 rtmp 流名已存在(KSY 自定义)
KSYStreamErrorCode_
RTMP_ForbiddenByBlacklist
9 rtmp 被黑名单拒绝(KSY 自定义)
KSYStreamErrorCode_
RTMP_InternalError
10 rtmp 内部错误(KSY 自定义)
KSYStreamErrorCode_
RTMP_URLExpired
11 rtmp URL 地址已过期(KSY 自定义)
KSYStreamErrorCode_
RTMP_SignatureDoesNotMatch
12 rtmp URL 地址签名错误(KSY 自定义)
KSYStreamErrorCode_
RTMP_InvalidAccessKeyId
13 rtmp URL 中AccessKeyId非法(KSY 自定义)
KSYStreamErrorCode_
RTMP_BadParams
14 rtmp URL 中参数错误(KSY 自定义)
KSYStreamErrorCode_
RTMP_ForbiddenByRegion
15 rtmp URL 中的推流不在发布点内(KSY 自定义)
KSYStreamErrorCode_FRAMES_THRESHOLD 16 SDK 因为鉴权失败停止推流
KSYStreamErrorCode_NO_INPUT_SAMPLE 17 没有输入的数据,无法开始推流
KSYStreamErrorCode_DNS_Parse_failed 18 对于URL中的域名解析失败
KSYStreamErrorCode_
Connect_Server_failed
19 对于URL对应的服务器连接失败(无法建立TCP连接)
KSYStreamErrorCode_
RTMP_Publish_failed
20 跟RTMP服务器完成握手后,向{appname}/{streamname} 推流失败
KSYStreamErrorCode_AV_SYNC_ERROR 21 音视频同步失败 (输入的音频和视频的时间戳的差值超过5s)
KSYStreamErrorCode_INVALID_ADDRESS 22 非法地址(地址为空或url中的协议或本地文件的后缀SDK不支持, 请检查)
KSYStreamErrorCode_NETWORK_UNREACHABLE 23 开始推流时发现网络不通 v2.0.3+
KSYStreamErrorCode_RTMP_GetUserIdFailed 24 获取user id失败 (KSY 自定义) v2.6.0+
KSYStreamErrorCode_RTMP_AkAndUserIsNotMatch 25 AK和user id不匹配 (KSY 自定义) v2.6.0+
KSYStreamErrorCode_RTMP_GetServerInfoFailed 26 获取服务器信息失败 (KSY 自定义) v2.6.0+
KSYStreamErrorCode_RTMP_IllegalOutsideUrl 27 非法的外部url (KSY 自定义) v2.6.0+
KSYStreamErrorCode_RTMP_OutsideAuthFailed 28 外部鉴权失败 (KSY 自定义) v2.6.0+
KSYStreamErrorCode_RTMP_SimpleAuthFailed 29 简单鉴权失败(KSY 自定义) v2.6.0+
KSYStreamErrorCode_RTMP_InvalidAuthType 30 无效的鉴权类型 (KSY 自定义) v2.6.0+
KSYStreamErrorCode_RTMP_IllegalUserId 31 非法的user id (KSY 自定义) v2.6.0+

1. 推流环节说明

2. 特色功能说明

2.1 采集

2.2 音频处理

2.3 视频处理

2.4 编码

2.5 推流

2.6 输入多样化

2.7 集成

3. 第三方功能

4. 技术专栏

5. 已知问题

8. FAQ

金山云计算

Clone this wiki locally