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

StackOverflow https://stackoverflow.com/questions/1008331

  •  06-07-2019
  •  | 
  •  

Вопрос

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

Файлы имеют следующий формат:

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

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

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

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

Спасибо!

Это было полезно?

Решение

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

Ниже приведен пример регистрации и приема в 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);

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top