背景分析
EasyPusher流媒体推送软件是一套简单、高效、稳定的一款标准RTSP/RTP协议直播推送库,支持将H.264/G.711/G.726/AAC等音视频数据推送到RTSP流媒体服务器进行低延时直播或者视频通信,支持Windows、Linux、ARM、Android、iOS等平台。
EasyPusher-Win推送EasyDarwin服务器失败
问题描述
EasyPusher-Win推流至EasyDarwin服务器失败,如下图:
分析问题
跟踪代码我们发现
OnBnClickedButtonStart()中
nRet = m_pManager->StartPush(URLInfo.pushServerAddr, URLInfo.pushServerPort,URLInfo.sdpName, URLInfo.nPushBufferLenth, bPushRtmp);
返回值为-1;
继续跟踪发现
StartPush(char* ServerIp, int nPushPort, char* sPushName, int nPushBufSize, bool bPushRtmp)中
m_sPushInfo.pusherHandle = EasyPusher_Create();
EasyPusher_Create()返回0x00000000,
至此找到根本原因:libEasyPusher.dll
解决问题
我们把\Lib\x86中libEasyPusher.dll拷贝到bin文件夹下面再运行程序,解决问题。
![2.png](/uploads/2019/10/6b56abb7022955ede90a52955173f237.png)