私はRTSPによってメディアデータを与えることができるIPカメラを持っています。ストリームデータを取得するRTSP
メディアデータを取得するためのアプリケーションを開発します。
私はC++とQt3を使用します。
私はソケットを作成します。それをポート554上の私のデバイスIPに接続してください。
私は最初のクエリ
SETUP rtsp://192.168.4.160/ufirststream RTSP/1.0\r\n CSeq: 1\r\n Transport: RTP/AVP; client_port=554\r\n\r\n
を行うと、答えを得る:
RTSP/1.0 200 OK CSeq: 1 Date: Sat, Mar 24 2012 17:24:59 GMT Transport: RTP/AVP;unicast;destination=192.168.4.186;source=192.168.4.160;client_port=0-1;server_port=2000-2001 Session: 413F4DDB
私はgettinのセッション値のためにそれを解析し、次のクエリを実行します。
PLAY rtsp://192.168.4.160/ufirststream RTSP/1.0 CSeq: 1 Session: 413F4DDB
を、サーバが語ります:
RTSP/1.0 200 OK CSeq: 1 Date: Sat, Mar 24 2012 17:25:02 GMT Session: 413F4DDB RTP-Info: url=rtsp://192.168.4.160/ufirststream/track1;seq=6716;rtptime=406936711
私はどのようにメディアデータを取得できますか?私はPLAYメソッドがサーバーにストリームを渡すと思っていましたが、それは私にrtspやその他の情報のURLを与えてくれるものだと思っていました...
私はカメラからのバイナリストリームが必要です。 ??
以前に設定したポート1にバインドされたサーバーソケットを作成する必要がありますか?または、クライアントソケットを作成し、クライアントport1を使用してサーバーに接続する必要がありますか? – mmmaaak
@mmmaaakサーバソケットではなく、 'QSocketDevice :: Datagram'タイプの' QSocketDevice'です。サーバーに接続する必要はありません。ソケットをバインドしてUDPポートを解放するだけです。 – alexisdm