场景
之前国标服务推流无人机视频运行一直正常,下午时候只能抓包到信令交互的过程,wireshark没有抓包到视音频数据包
排查1
怀疑是国标没有收到流媒体转发过来的视音频数据流,导致国标服务无法转发视音频
排除:国标日志文件显示已经收到流媒体转发过来的视音频数据流
排查2
怀疑是国标收到的视音频数据流不合法
排除:添加日志打印显示,音视频数据正常
发现
wireshark抓包工具在另外一张外网网卡上捕获到发送的视音频数据,国标服务安装在双网卡的系统上
原因
国标服务发送流媒体的时候,没有绑定内网的IP地址,仅仅是设置了发送的端口,导致国标服务发送流媒体的时候,随机绑定一张网卡进行数据的发送
解决方案
绑定特定的IP地址和端口
trans_params.SetPortbase(rtp_port);
trans_params.SetBindIP(ntohl(inet_addr(addr_mine.c_str())));