Как я могу получить доступ к серверу IPTV программно?

В моем университете в настоящее время проводится тестирование IPTV. Чтобы получить доступ к сервису, вас попросят установить VLC Media Player и запустить через него файлы, загруженные из внутренней сети университета, каждый из которых представляет канал.

Файлы имеют формат:

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

Который я распознаю как файл списка воспроизведения M3U. К счастью, файл содержит IP-адрес сервера, на котором размещается служба, порт для доступа к нему и протокол, в данном случае UDP.

У меня вопрос, как я могу получить доступ к услуге программно? Есть ли конкретное рукопожатие, которое клиент делает с сервером? Видя, что это так просто доступно через VLC Media Player, доступ к данным будет тривиальным, так как не используется собственный протокол?

Я не слишком осведомлен о программном доступе к Интернету; Я знаю в Java Port может быть построен, который моделирует UDP. Я был бы признателен за ответы на Java, но любого подобного языка более чем достаточно.

Спасибо!

2 ответа

Решение

Это специальное рукопожатие на уровне коммутатора, оно говорит коммутатору, что вы являетесь частью группы многоадресной рассылки, так что вы также будете получать пакеты. Ниже приведен пример регистрации и получения на сокете udp в Java

   // 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);

http://www.j2ee.me/j2se/1.4.2/docs/api/java/net/MulticastSocket.html

пример из руководства j2ee

то, что вам нужно сделать, это присоединиться к группе многоадресной рассылки, затем просто извлечь пакеты и записать их в файл, а затем я бы предположил, что mpeg2, mpeg4 или, тем не менее, отправленный поток будет файлом на вашем компьютере, который должен воспроизводиться через другой программа.

Возможно, вы захотите взглянуть на привязки Java VLC. Это даст вам контроль над VLC через интерфейс программирования Java. Вы получаете все величие VLC от Java! Кроме того, есть несколько других привязок API и интерфейсов, которые вы можете использовать для игры с VLC.

Другие вопросы по тегам