RTMP推流组件EasyRTMP在弱网环境下推流稳定吗?会不会有推流失败的问题?
EasyRTMP推流组件是一套调用简单、功能完善、运行高效稳定的RTMP专用推流组件,能够应用于各种行业的直播需求,手机直播、桌面直播、摄像机直播、课堂直播等方面。 TSINGSEE青犀视频有用户使用libeasyrtmp在弱网环境下推流,经常会有推流失败或者断开的问题。对于这种问题,开发人员通过网络抓包进行查看。 推流断开是由libeasyrtmp客户端主动断开的。而其他的推流工具,同样的网络环境下并没有断开。 从抓包看,由于网络环境差,存在很多超时重传,同样的对于libeasyrtmp中的超时,直接断开连接了。查看代码,libeasyrtmp对于socket超时设置的2s,所以对于超时超过2s就会断开连接。 我们可以重新设置超时时间,设置为10s. int timeout = 10000; if (setsockopt(r->m_sb.sb_socket, SOL_SOCKET, SO_SNDTIMEO, (char*)&timeout, sizeof(timeout)) == -1) { RTMP_Log(RTMP_LOGERROR, "%s, Setting socket timeout to %ds failed!", `ls_function` , timeout); } else { RTMP_Log(RTMP_LOGDEBUG, "%s, Setting