如何以编程方式访问IPTV服务器?

时间:2009-06-17 16:58:10

标签: java networking udp iptv

我的大学目前正在进行IPTV试验。要访问该服务,系统会要求您安装VLC媒体播放器,并通过它运行从大学内部网下载的文件,每个文件代表一个频道。

文件的格式为:

#EXTM3U
#EXTINF:0,ITV2
udp://@238.255.0.6:2001

我认为是M3U播放列表文件。幸运的是,该文件包含托管服务的服务器的IP地址,访问它的端口以及协议,在本例中为UDP。

我的问题是,如何以编程方式访问服务?客户端是否与服务器进行了特定的握手?因为它只是通过VLC媒体播放器可以访问,所以访问数据肯定是微不足道的,因为没有使用专有协议?

我不太习惯以编程方式访问互联网;我知道在Java中可以构造Port来建模UDP。我很欣赏Java中的答案,但任何类似的语言都绰绰有余。

谢谢!

2 个答案:

答案 0 :(得分:5)

它们是交换机级别的特殊握手,它告诉交换机您是多播组的一部分,这样您也将收到数据包。

Bellow是在java中的UDP套接字上注册和接收的示例:

 // join a Multicast group and send the group salutations

 InetAddress group = InetAddress.getByName("228.5.6.7");
 MulticastSocket s = new MulticastSocket(6789);
 s.joinGroup(group);
 // get their responses!
 byte[] buf = new byte[1000];
 DatagramPacket recv = new DatagramPacket(buf, buf.length);
 s.receive(recv);
 ...
 // OK, I'm done talking - leave the group...
 s.leaveGroup(group);

来自j2ee guide

的示例

你需要做的是加入多播组,然后只接收数据包并将它们写入文件,然后我会假设MPEG2,MPEG4或者发送的流将是你的机器上应该是的文件通过另一个程序可以玩。

答案 1 :(得分:4)

您可能需要查看VLC's Java绑定。这将使您通过Java编程接口控制VLC。您可以从Java获得VLC的所有优点!此外,您可以使用多个other API bindingsinterfaces来使用VLC。

相关问题