react-native-rtmp-publisher连接失败:握手错误,无法创建Mux直播流
解决react-native-rtmp-publisher连接Mux直播流的握手错误问题
针对你遇到的Handshake error, unexpected 21 S0 received错误,以下是几个排查和解决方向:
修正RTMP URL协议
Mux的443端口对应加密RTMP(RTMPS)连接,你当前使用的rtmp://global-live.mux.com:443/app是明文RTMP协议,服务器期望加密握手,导致协议不匹配。将URL改为rtmps://global-live.mux.com:443/app再尝试。验证库的RTMPS支持
确认react-native-rtmp-publisher是否支持RTMPS协议。部分旧版本库可能未实现RTMPS,此时需升级到库的最新版本,或更换支持RTMPS的RN推流库。排除网络环境问题
用OBS等桌面推流工具,使用相同的URL和streamKey测试推流:如果OBS能成功,说明问题出在RN库或配置上;如果OBS也失败,检查网络是否有防火墙、代理拦截RTMP流量,或确认Mux账号的直播流状态是否正常。确认streamKey格式
Mux的streamKey为live_开头的字符串(比如live_abc123xyz),确保你传入的stream_key完全符合格式,无多余空格或字符。
你可以先调整URL验证效果:
const url = 'rtmps://global-live.mux.com:443/app';
内容的提问来源于stack exchange,提问作者shincy paul
相关产品推荐
相关产品推荐

