发新话题
 搜藏 打印 该页面添加到 Mister Wong

让Linux也支持用沸点看在线电视

让Linux也支持用沸点看在线电视

在windows下的网络电视甚多,在教育网内的网络电视可以应用的沸点网络电视比较不错。在Linux下的网络电视很少,有也用着并不舒服。突然心血来潮,想在Linux下也想看一下电视,与是对沸点网络电视进行了一翻的分析。


1、沸点是用VC写的,我从那一些的链接库上看;
2、沸点的结构是:当主控程序执行时,自动在内部启动一个客户进程(隐藏的),其后再启动一个视频服务进程,这样就把沸点的电视点播服务器具体的链接地址(即真实地址)完好的隐藏起来,最后调用MediaPlayer连接自己提供的服务。这样就是沸点工作的全过程。

3、沸点自己提供服务的那个进程所开放的端口号是随机的,好像这个端口还受了沸点内部的一个类似于防火墙的监控,其它机子是无法连接本机正在看的节目的。

对于以上的分析,我们要想在Linux上来实现上述的功能,不是不可能,但有一点我们不太好完成的就是对于内部链接的分析。

既然知道它的工作模式了,我们不妨在Linux下用wine这个模拟器来完成我们的任务。当我在Linux下用wine将沸点启动了以后,上述的所有工作过程只有最后一个无法的完成就是调用MediaPlayer是不可能的,我们必须用一个同类的软件来代替,这样我们的目标就达到了。

启动完了之后,我们的系统会自动打开一些的端口,例如我机子上的端口监控情况如下:

[root@localhost root]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:6510 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:32785 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN
tcp 0 168 10.10.0.112:32801 222.194.106.3:8080 ESTABLISHED
tcp 0 0 127.0.0.1:32772 127.0.0.1:32773 TIME_WAIT
tcp 0 0 127.0.0.1:32774 127.0.0.1:32775 TIME_WAIT
tcp 0 0 127.0.0.1:32780 127.0.0.1:32779 ESTABLISHED
tcp 0 0 127.0.0.1:32779 127.0.0.1:32780 ESTABLISHED
tcp 0 0 127.0.0.1:32781 127.0.0.1:32782 TIME_WAIT
tcp 0 0 127.0.0.1:32784 127.0.0.1:32783 ESTABLISHED
tcp 0 0 127.0.0.1:32783 127.0.0.1:32784 ESTABLISHED
tcp 0 0 127.0.0.1:32788 127.0.0.1:32787 ESTABLISHED
tcp 0 0 127.0.0.1:32787 127.0.0.1:32788 ESTABLISHED
tcp 0 0 127.0.0.1:32790 127.0.0.1:32789 ESTABLISHED
tcp 0 0 127.0.0.1:32789 127.0.0.1:32790 ESTABLISHED
tcp 0 0 127.0.0.1:32792 127.0.0.1:32791 ESTABLISHED
tcp 0 0 127.0.0.1:32791 127.0.0.1:32792 ESTABLISHED
tcp 0 1 10.10.0.112:32805 219.225.57.87:8080 SYN_SENT
tcp 0 507 10.10.0.112:32804 211.67.180.111:8080 ESTABLISHED
tcp 0 0 10.10.0.112:32798 59.72.16.191:8080 ESTABLISHED
tcp 0 0 10.10.0.112:32778 222.28.152.171:8080 CLOSE_WAIT
tcp 0 0 10.10.0.112:32799 59.66.203.94:8080 TIME_WAIT


看上述的所有网络状态,我们发现只要本地端口和外部端口都占用的,这一些就不是我们所要找的沸点所开放的视频端口。我们所要找的就是正在监听的,并且没有启用的,将这些因素考虑进去后,我们发现上述的端口中只有这一些是有用的。

Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:6510 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:32785 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN


这些的端口中,有几个又是无用的,其中:32768,139,8080,445,这一些是我们常见的,也是其它软件公开的占用的公开承认的端口,所剩下的只有两个了:32785,和6000,6510了,我们平时的统计发现,6510是只要沸点一但启动就会产生的,我们现在只有试一下到底哪一个端口是我们所要找的了。沸点在连接本机时用的格式是这样的:http://127.0.0.1:#port/live.asf,有了这个格式,我们现在只要找到端口就可以,试的时候将上边格式里的端口号替换掉就一切OK了。

在我这里用的播放软件是Kaffine,播起来一切正常。启动时记着有一个缓冲,当打开时它不会自动播放,它会一直缓冲,我们这时必须将其取消,这样就会播放了。<完>

本文由magic 发布于Linuxsky 论坛,网址:http://bbs.linuxsky.org/thread-1992-1-1.html

TOP

发新话题