我们的EasyDarwin目前部署在阿里云的服务器上面,运行的效果是非常好的,而且无论是以TCP方式.还是UDP的方式推送,都可以非常好地进行直播转发: 但并不是所有的用户服务器都是阿里云的形式,有很大一部分用户都是将服务器置于内网,再以端口映射的形式对外,节省成本,但是这种方式在以RTSP/RTP over UDP的形式推送直播流的时候,很多时候会出现数据无法到达EasyDarwin服务器的情况,那么我们就需要强制将推送模式改成RTP over UDP的形式了,以ffmpeg为例,如何强制推流
我们经常需要EasyDarwin服务器支持公网流媒体传输,但很多时候,播放器默认都是通过RTP over UDP的形式在RTSP SETUP中请求,往往都以在内网接收不到UDP数据失败结束,那么我们如何使EasyDarwin将客户端的RTP over UDP自动切换成RTP over TCP形式呢,如下方法亲测可用: 在EasyDarwin的RTSPSession::SetupRequest()方法中插入以下代码: // // If we don't have an RTP session ye