在给一个网吧配置squid的时候,突然想到RTSP协议应用是不是也可以做代理呢,作者在RealONE player的设置面板找到了答案,原来是有这样的应用的。
我们本地有2个比较大的电影站点,所有权分别为两个不同的isp,由于带宽和商业竞争的原因。他们分别对自己的服务器做了限制访问,正好符合我们的测试环境。
环境大致如下:
F[Film Server]======>[ I ]|=====/Internet/=====>B{Internet User:proxy_client}
IP:172.*.*.5 [ S ]| IP:202.*.*.*
[ P ]|=======
‖
A{ISP user:rtsp_proxy}=======‖
IP:202.211.*.*
这个ISP同时进行两种接入方式,以太网和ADSL的PPPoE拨入认证,图中的 F就是使用PPPoE方式认证的用户,拨通ISP后,会获得一个202.211.*.*的地址并连入internet。而用户B是其他服务商的用户,F就是那个ISP的电影服务器,他们把电影服务器架在了以太网内,ISP添加了路由规则,以便使用PPPoE方式的用户A也可以访问拥有私有地址的电影服务器。而处于Internet上的B则没有这样的优待,我们的目的就是让B也可以访问F[Film Server]。
他们的vod生成的页面是internet可以访问的,现在只需要在A的机器上架设rtsp代理就可以了。我们通过Google(你不能不承认它是个好东东,几乎可以让你找到一切资源),搜索到了一个可以代理rtsp协议应用的软件:RTSP Proxy Kit 2.0
大家可以在下面的地址找到它:
http://www.rtsp.org/2001/proxy/
测试中,我们采用的是freebsd平台,编译很简单。解压缩后,
# ./configure
# make
就可以rtspproxy目录里看到编译好的目标文件rtspproxy 。
程序使用了554端口,所以我们要用root身份执行它:
# ./rtspproxy -d &
执行完后,返回了如下信息:
[1] 14745
fw001# Listening on port 554
我们看到程序已经执行并打开了TCP554端口监听。
下面是客户端程序的设置,我们打开realone程序,选择工具菜单=>首选项
连接设置里面就有代理服务器的设定,点击更改设置,在rtsp代理的地方添入我们的服务器ip地址和端口554。整个设置过程很简单,打开电影网站,我们很快便看到了预期的效果。
(出处:http://www.sheup.com)