开发者社区 问答 正文

ERROR: WriteN, RTMP send error 32 (140 bytes) ERROR: WriteN, RTMP send error 32 (103 bytes) ERROR: WriteN, RTMP send error 9 (42 bytes)

控制台生成的推流url可以正常推送,但是在ios上面就会报这样的错误,

dynamic_cast error 1: Both of the following type_info's should have public visibility. At least one of them is hidden. N5boost7archive6detail14basic_iarchiveE, N5boost7archive13text_iarchiveE.
ERROR: WriteN, RTMP send error 32 (140 bytes)
ERROR: WriteN, RTMP send error 32 (103 bytes)
ERROR: WriteN, RTMP send error 9 (42 bytes)
"live pusher 网络连接断开"
EINPROGRESS in connect() - selecting
"live pusher 网络重连成功"
ERROR: WriteN, RTMP send error 32 (140 bytes)
ERROR: WriteN, RTMP send error 32 (103 bytes)
ERROR: WriteN, RTMP send error 9 (42 bytes)
"live pusher 网络连接断开"
EINPROGRESS in connect() - selecting
"live pusher 网络重连成功"
ERROR: WriteN, RTMP send error 32 (129 bytes)
ERROR: WriteN, RTMP send error 32 (103 bytes)
ERROR: WriteN, RTMP send error 9 (42 bytes)
"live pusher 网络连接断开"
EINPROGRESS in connect() - selecting
"close"
"live pusher 网络重连成功"

展开
收起
Mixixi 2019-05-16 14:59:59 7729 分享 版权
阿里云 AI 助理回答

遇到这样的错误信息,主要涉及到RTMP推流过程中出现的网络连接问题和潜在的编码库兼容性问题。根据您提供的错误信息,这里有几个可能的原因和解决建议:

  1. 网络不稳定:错误信息中多次提到“网络连接断开”和“网络重连成功”,这表明推流过程中网络连接可能存在波动或不稳定。请检查您的网络环境,确保推流设备(iOS设备)与推流服务器之间的网络连接稳定可靠。

  2. RTMP协议问题:RTMP发送错误(如ERROR: WriteN, RTMP send error 32/9)通常意味着数据包发送失败,可能是由于RTMP协议握手、数据包格式不正确或者服务器端配置不匹配导致。确认您的推流URL是否完全符合RTMP协议标准,并且服务器端支持当前的RTMP版本和设置。

  3. 第三方库兼容性:错误信息中的dynamic_cast error 1提示可能与使用的推流库(如boost库)有关,这可能是由于编译时或运行时类型信息的可见性问题。检查您的开发环境中使用的第三方库版本,确保它们与您的项目以及目标平台(iOS)兼容。有时候,更新或降级相关库到一个更稳定的版本可以解决问题。

  4. iOS平台特定问题:考虑到错误出现在iOS平台上,可能与iOS系统的某些特性或限制有关。比如,iOS对后台网络操作有严格的限制,如果应用进入后台,网络连接可能会被系统中断。确保您的应用在Info.plist中请求了必要的后台模式权限,如audio, video, 或 voip,以保持推流服务在后台运行。

  5. 代码层面的调试:深入到具体的推流代码中,查看是否有异常处理逻辑不当或者资源管理问题。使用Xcode等开发工具进行调试,观察变量状态和调用栈,可以帮助定位具体是哪一步操作引发了错误。

针对以上建议,逐一排查并尝试解决方案。如果问题依然存在,考虑联系阿里云技术支持获取更专业的帮助,他们能提供更针对性的服务器端配置检查和建议。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: