2016-08-28 8 views
0

pythonスクリプトを使用してipカムを制御しようとしています(VLCまたはmplayerでストリームを見ることができます)。受信OPTIONS後RTSP:セッション識別子を取得できません

と、私は私にエラーを与えてみてくださいすべてのSETUPの情​​報を説明します。

SETUP rtsp://192.168.0.41:554/xxxxxx RTSP/1.0 
CSeq: 3 
Transport: RTP/AVP/UDP;unicast;client_port=3056-3057 

RTSP/1.0 400 Bad Request 
Allow: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER,USER_CMD_SET 

ので、私はセッション識別を受け取ることはありませんが。

たぶん、問題は輸送ラインであるが、私は、私はXXXXXXXの代わりに入れているかわからないので、それはだと思う(私が試したとググたくさんあるが非結果と)

ここでは、出力されますOPTIONSとDESCRIBEの:

OPTIONS rtsp://192.168.0.41:554 RTSP/1.0 
CSeq: 1 

RTSP/1.0 200 OK 
CSeq: 1 
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER,USER_CMD_SET 


--------------------------------- 
DESCRIBE rtsp://192.168.0.41:554/onvif2 RTSP/1.0 
CSeq: 2 

RTSP/1.0 200 OK 
CSeq: 2 
Content-Type: application/sdp 
Content-Length: 360 

v=0 
o=- 1421069297525233 1 IN IP4 192.168.0.41 
s=H.264 Video, RtspServer_0.0.0.2 
t=0 0 
a=tool:RtspServer_0.0.0.2 
a=type:broadcast 
a=control:* 
a=range:npt=0- 
m=video 0 RTP/AVP 96 
c=IN IP4 0.0.0.0 
b=AS:500 
a=rtpmap:96 H264/90000 
a=fmtp:96 packetization-mode=1;profile-level-id=42001F;sprop-parameter-sets=Z0IAH5WoFAFuQA==,aM48gA== 
a=control:track1 

*は何を表していますか?

「track1」とは何ですか?

(注:私はonvif1をチェックした場合、それはサーバーの答えは適切でなければならないことを意味し、カムによって送られた他のストリーミングが、結果は同じですが、TRACK2である)RTSPから

+0

'xxxxxx'を' onvif2/track1'に置き換えようとしましたか? – mpromonet

答えて

0

を意味最後に、私は問題を発見します。rの\ nは最後のPythonのコード行で \ を逃します!

間違っ:

Transport: RTP/AVP/UDP;unicast;client_port=52318-52319 

正しい:

Transport: RTP/AVP/UDP;unicast;client_port=52318-52319\r\n 

は、今では動作します。

0

例rfc https://www.ietf.org/rfc/rfc2326.txt

S->C RTSP/1.0 200 OK 
     CSeq: 1 
     Content-base: rtsp://foo.com/test.wav/ 
     Content-type: application/sdp 
     Content-length: 48 

     v=0 
     o=- 872653257 872653257 IN IP4 172.16.2.187 
     s=mu-law wave file 
     i=audio test 
     t=0 0 
     m=audio 0 RTP/AVP 0 
     a=control:streamid=0 

C->S SETUP rtsp://foo.com/test.wav/streamid=0 RTSP/1.0 
     Transport: RTP/AVP/UDP;unicast; 
       client_port=6970-6971;mode=play 
     CSeq: 2 

SETUP要求のURLに追加するだけです。

私は何A =制御本当にわからないんだけど:*

関連する問題