プログラムで IPTV サーバーにアクセスするにはどうすればよいですか?
-
06-07-2019 - |
質問
私の大学では現在、IPTV のトライアルを実施しています。サービスにアクセスするには、VLC Media Player をインストールし、大学のイントラネットからダウンロードした各チャネルを表すファイルを VLC Media Player を通じて実行するように求められます。
ファイルの形式は次のとおりです。
#EXTM3U
#EXTINF:0,ITV2
udp://@238.255.0.6:2001
これはM3Uプレイリストファイルとして認識されます。幸いなことに、このファイルには、サービスをホストするサーバーの IP アドレス、サービスにアクセスするためのポート、およびプロトコル (この場合は UDP) が指定されています。
私の質問は、プログラムでサービスにアクセスするにはどうすればよいでしょうか?クライアントがサーバーと行う特定のハンドシェイクはありますか?VLC Media Player 経由で簡単にアクセスできることから、独自のプロトコルが使用されていないため、データへのアクセスは確かに簡単になるでしょうか?
私はプログラムによるインターネットへのアクセスについてはあまり詳しくありません。Javaでは知っていますが、 Port
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);
例から j2eeガイド.
あなたがしなければならないことは、マルチキャストグループに参加し、パケットを受信してファイルに書き込むことです。その後、MPEG2、MPEG4、またはその他のストリームが送信されるのは、別のマシンで再生できるはずのマシン上のファイルになると思います。プログラム。
他のヒント
VLCのJava バインディングを調べてください。これにより、Javaプログラミングインターフェイスを介してVLCを制御できます。 JavaからVLCのすばらしさを手に入れましょう!また、他のAPIバインディングとインターフェイスを使用してVLCで遊ぶことができます。