3

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

文件格式为:

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

我将其识别为 M3U 播放列表文件。幸运的是,该文件指定了托管服务的服务器的 IP 地址、访问它的端口以及协议,在本例中为 UDP。

我的问题是,我怎样才能以编程方式访问该服务?客户端是否与服务器进行了特定的握手?看到它可以通过 VLC 媒体播放器轻松访问,由于没有使用专有协议,访问数据肯定是微不足道的吗?

我对以编程方式访问 Internet 不太了解。我知道在 JavaPort中可以构建一个 UDP 模型。我会很感激 Java 中的答案,但任何类似的语言都绰绰有余。

谢谢!

4

2 回答 2

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 指南中的示例。

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

于 2009-06-20T05:46:03.693 回答
4

您可能想查看VLC 的 Java绑定。这将使您通过 Java 编程接口控制 VLC。您可以从 Java 中获得 VLC 的所有优点!此外,您还可以使用其他几个 API 绑定接口来玩 VLC。

于 2009-06-20T06:19:36.557 回答