Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

There is an axis camera that is connected to our site ( through axis one click connection component (which acts as proxy). We can communicate with this camera only through http by setting the proxy to our OCCC server's address. If we want to get RTSP streams (h.264) we are only left with "RTSP over HTTP" option. For this I have followed axis VAPIX 3 documentation section 3.3. I issue requests through fiddler but don't get any response. But when i put the URL (axrtsphttp://1.00408CBEA38B/axis-media/media.amp) in windows media player (with proxy set to OCCC server the player is able to get RTSP stream over HTTP after logging in. I have created a request trace of communication between camera and windows media player through wireshark and the request that brings the stream looks like

 http://1.00408cbea38b/axis-media/media.amp HTTP/1.1

    x-sessioncookie: 619

    User-Agent: Axis AMC

    Host: 1.00408CBEA38B

    Proxy-Connection: Keep-Alive

    Pragma: no-cache

    Authorization: Digest username="root",realm="AXIS_00408CBEA38B",nonce="000a8b40Y0100409c13ac7e6cceb069289041d8feb1691",uri="/axis-media/media.amp",cnonce="9946e2582bd590418c9b70e1b17956c7",nc=00000001,response="f3cab86fc84bfe33719675848e7fdc0a",qop="auth"

    HTTP/1.0 200 OK

    Content-Type: application/x-rtsp-tunnelled

    Date: Tue, 02 Nov 2010 11:45:23 GMT

    RTSP/1.0 200 OK

    CSeq: 1

    Content-Type: application/sdp

    Content-Base: rtsp://1.00408CBEA38B/axis-media/media.amp/

    Date: Tue, 02 Nov 2010 11:45:23 GMT

    Content-Length: 410


    o=- 1288698323798001 1288698323798001 IN IP4 1.00408CBEA38B

    s=Media Presentation


    c=IN IP4


    t=0 0



    m=video 0 RTP/AVP 96





    a=rtpmap:96 H264/90000

    a=fmtp:96 packetization-mode=1; profile-level-id=420029; sprop-parameter-sets=Z0IAKeNQFAe2AtwEBAaQeJEV,aM48gA==

    RTSP/1.0 200 OK

    CSeq: 2

    Session: 3F4763D8; timeout=60

    Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=060922C6;mode="PLAY"

    Date: Tue, 02 Nov 2010 11:45:24 GMT

    RTSP/1.0 200 OK

    CSeq: 3

    Session: 3F4763D8

    Range: npt=0-

    RTP-Info: url=rtsp://1.00408CBEA38B/axis-media/media.amp/trackID=1;seq=7392;rtptime=4190934902

    Date: Tue, 02 Nov 2010 11:45:24 GMT
[Binary Stream Content]

But when i copy this request to fiddler, I only get 200 status code with content-type set to application/x-rtsp-tunneled and there is no stream data. The only thing i do different with stream is to use Basic in authorization header instead of Digest and I do not get 401 (Un authorized) status code. Can anyone explain what's happening here? How can I write request sequences to get stream in fiddler? If it is needed, I can upload the wireshark request dump somewhere.

share|improve this question
Your question is all mangled up and difficult to read. Improving the format and adding some details might get you some answers. – harrymc Jun 24 '12 at 8:53
I am simply trying to implement this. I have included the request and response trace between Windows media player and camera. I want to achieve the same functionality using simple HTTP request but failed so far. What can i do to enhance the readability of the POST – Muhammad Adeel Zahid Jun 25 '12 at 10:05
For readability: Break up your question into paragraphs, add details (for example about your requests through fiddler), get rid of the blank lines in the trace and break it up into parts/messages while detailing before each part the action it traces. We would really like to help you but our time is limited, so you do need to make it easy and quick for us to understand. – harrymc Jun 25 '12 at 10:21

"RTSP over HTTP" actually consists of 2 sessions. First one is GET-session that is used for streaming data and for command responces, and second one is POST-session, that is used for sending commands. You have described only the first session. To get the RTSP stream you have to implement the second session too. Interaction should look like the following:

  1. Create first connection and send GET-request with appropriate x-sessioncookie and Authorization headers.
  2. Create second connection and send POST-request with appropriate headers and your command.
  3. Receive the response to your command in the first connection as part of the GET-response.
  4. Continue with sending commands in the second connection and receive data in the first connection.
share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .