2017-07-26 39 views
0

UDPソケットを開き、サーバーに接続し、データ(h264フロー)を受信し、受信したデータをデコードしてスマートフォン画面に表示できるAndroidアプリケーションがあります。私は、画面上で何を取得アンドロイド(クライアントが受信したデータなし、ノーコネクション確立を起動するとAndroidでGstreamer RTSPサーバーを使用する

gst-launch-1.0 filesrc location=toystory.h264 ! h264parse ! video/x-h264,stream-format=byte-stream,alignment=nal ! rtph264pay ! udpsink host=x.x.x.x port=5000 

:私が今やろうとしています何

は、次のパイプラインで私のサーバーを交換することですクライアントとサーバーの間)。ソケットを開くには

、私は、次のJavaコードを使用しています:

try 
{ 
IPAddress = InetAddress.getByName(dstAddress); 
socket = new DatagramSocket(PORT); 
socket.connect(IPAddress,PORT); 
sendPacket = new DatagramPacket(buff, buff.length, IPAddress, PORT); 
if (socket.isConnected()) { 
       socket.send(sendPacket); 
      } 
receivePacket = new DatagramPacket(buffr, buffr.length, IPAddress, PORT); 
socket.receive(receivePacket); 
} 
catch(IOException e) { 
      e.printStackTrace(); 
     } 

あなたは、この問題を解決するために私を案内していただけますか?

答えて

0

Androudのrtspサーバーでは、gstreamer rtsp libを使用する必要があります。要するに

filesrc location=toystory.h264 ! h264parse ! rtph264pay name=pay0 pt=96

は、RTSPサーバ "ラッパー" のコードでそれを使用する:サーバー側で

は、このパイプラインを使用します。 (レポでチェックしてください)。クライアント用の

このパイプライン:

rtspsrc location=rtsp://host_address:host_port/host_mount ! " "rtpjitterbuffer ! " "rtph264depay ! " "h264parse ! " "avdec_h264 ! " "autovideosink

あなたは、たとえば、このリポジトリで見ることができます。

https://github.com/tamashevich-valery/rtsp-server

https://github.com/tamashevich-valery/rtsp-client

関連する問題