运行live555, 搭建好rtsp server 看到rtsp://0.0.0.0/<filename>,这里 ip地址为0.0.0.0,说明没有正常获取到你服务器的ip,此时如果用vlc或者mpc-hc或者potplayer播放的话,服务器上会报错:Unable to determine our source address: This computer has an invalid IP address: 0.0.0.0;这里需要设置默认网关;
了解到:live555在不知道本地IP地址与网络接口的情况下,通过一个在本地某端口建立一个UDP连接,然后把这个UDP连接加入
到一个组播组 ,当然要对这个组播组进行相应的设置,比如TTL,回环等等;然后通过UDP连接发送一个数据;最后通过这个UDP连接接收这个数据,并且解析相应的发送地址;
尝试如下方法可解决:
方法一:关闭防火墙重启 live555mediaserver,ip识别正常,播放正常;
方法二:开启防火墙后,放行udp端口15947,放行tcp端口554,也就是live555mediaserver 默认的rtsp端口;正常;
这是由于发现在 live555源码的groupsock/GroupsockHelper.cpp 中 live555是通过连接本机的15947端口来确定自己的ip的。但是不放行防火墙和端口的话,本机的严密的iptables直接把他deny了!
来源:oschina
链接:https://my.oschina.net/u/4372568/blog/4269948