Java 如何以编程方式访问IPTV服务器?
我所在的大学目前正在进行IPTV试验。要访问该服务,您需要安装VLC Media Player,并运行从大学内部网下载的文件,每个文件代表一个频道 这些文件的格式如下:Java 如何以编程方式访问IPTV服务器?,java,networking,udp,iptv,Java,Networking,Udp,Iptv,我所在的大学目前正在进行IPTV试验。要访问该服务,您需要安装VLC Media Player,并运行从大学内部网下载的文件,每个文件代表一个频道 这些文件的格式如下: #EXTM3U #EXTINF:0,ITV2 udp://@238.255.0.6:2001 我将其识别为M3U播放列表文件。幸运的是,该文件包含托管服务的服务器的IP地址、访问该服务的端口以及协议(在本例中为UDP) 我的问题是,我如何通过编程访问该服务?客户端是否与服务器进行了特定的握手?既然可以通过VLC媒体播放器轻松访
#EXTM3U
#EXTINF:0,ITV2
udp://@238.255.0.6:2001
我将其识别为M3U播放列表文件。幸运的是,该文件包含托管服务的服务器的IP地址、访问该服务的端口以及协议(在本例中为UDP)
我的问题是,我如何通过编程访问该服务?客户端是否与服务器进行了特定的握手?既然可以通过VLC媒体播放器轻松访问数据,那么访问数据肯定很简单,因为没有使用专有协议
我不太喜欢通过编程方式上网;我知道在Java中可以构造一个端口
,该端口对UDP进行建模。我希望能用Java给出答案,但任何类似的语言都已经足够了
谢谢 它们是交换机级别的一种特殊握手,它告诉交换机您是多播组的一部分,以便您也可以接收数据包 下面是在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);
例如
您需要做的是加入多播组,然后只接收数据包并将其写入文件,然后我假设MPEG2、MPEG4或以其他方式发送的流将是您机器上的一个文件,可以通过其他程序播放。您可能需要研究绑定。这将使您能够通过Java编程接口控制VLC。你从Java获得了VLC的所有伟大!此外,还有几个,您可以使用它们来玩VLC