live555的源码其实作为学习代码是相当不错的,今天搭建这个服务器程序主要是为了测试:
测试什么呢?
在客户端发送SDP后,客户端会告诉你,往我的哪个端口发送数据RTP/RTCP端口.
那么现在问题来了:
正常情况下,是必须客户端先给服务器发送数据了,这样服务器才能给设备发送数据。只有这样路由器才不会被数据进行拦截.
但是RTP包服务器先主动发送给客户端的? 这些数据难道不会直接被路由器给屏蔽掉???
OK,我们先开始搭建RTSP Server:
1.到官网下载最新的源码
官网: www.live555.com
下载地址:
http://www.live555.com/liveMedia/public/
2.编译
./genMakefiles linux
make
3.启动程序
编译完成之后,会在mediaserver目录下生成可执行文件live555MediaServer
我们来启动程序:
接下来我们用VLC直接进行访问就可以了.
问题:
因为第一个RTP包是服务器主动发送给客户端的。
那么按照上图的模型,我们如何确保服务器准确的把RTP投送到终端上来呢?
接下来要进行验证的东西:
1.live555 客户端如何检测自己的IP? 这个IP应该是外网的,可以被访问到的/?