ライブ TV フィードを表示する Android アプリを作成する必要があります。アプリは、UDP または RTP をストリーミングできるゲートウェイ ベンダーによると、DVB ゲートウェイのマルチキャストからライブ ビデオ ストリームを再生することになっています。コンピューターに vlc をセットアップして UDP と RTP をストリーミングし、Android プレーヤーにそれらを表示させようとして指を骨折しました。しばらくして、Android は HTTP/S と RTSP のライブ ストリームしかサポートしていないことがわかりました。すべての FFMPEG ソリューションとさまざまなメディア プレーヤーを試しましたが、まだ成功していません。私は動画の専門家ではありませんが、RTSP は RTP のカプセル化であると理解しています。RTP フィードをラップしてストリーミングすることはできますか (プロキシ経由でも) ? 機能しているUDPソリューションを知っている人はいますか?
ありがとう
ポート 1234 からポート 8888 の TCP 接続にローカル UDP ストリームを渡すトンネルの作成を開始しました。VLC でテストしています。UDP ペイロードは正しいように見えます。待機時に VLC が http 接続を開始するのを確認できます。 TCP リスナーが接続を受け入れるようにします。それでもVLCは結果のHTTPストリームを再生しません、私のコード:
public void Bridge()
{
//endpoints
IPEndPoint myRemoteEndpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1234);
//communications objects
UdpClient myUdpClient = new UdpClient(myRemoteEndpoint);
TcpListener myTcpListener = new TcpListener(IPAddress.Any, 8888);
//buffer
byte[] buffer = new byte[2048];
//start tcp listener
myTcpListener.Start();
Socket tcpAcceptedSocket = myTcpListener.AcceptSocket();
while (true)
{
try
{
//get data from UDP client
buffer = myUdpClient.Receive(ref myRemoteEndpoint);
//send bytes received from UDP over TCP
tcpAcceptedSocket.Send(buffer);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
//close sockets
myUdpClient.Close();
myTcpListener.Stop();
}
何かご意見は ?