Interactive RTSP Client

There has been a need in interactive RTSP (Real Time Streaming Protocol) utility to check RTSP-enabled MPEG-4 cameras – I did not find anything useful, so here goes in-house built one:

24-image001.PNG

Features:

  • TCP connections to RTSP servers (UDP is yet to do)
  • OPTIONS and DESCRIBE buttons provide templates for RTSP messages to send to RTSP server
  • Implements RFC 2617 Basic and Digest authentication (it will automatically provide Authorization header for Basic authentication with first DESCRIBE and after receiving 401 error with nonce value it will start providing Digest authentication with next DESCRIBEs
  • Prints traffic data with color highlighting and ability to copy/paste

See Also:

Partial Visual C++ .NET 2010 source code is available from SVN, release binary included (Win32).

RTSP compatible resources on the web:

4 Replies to “Interactive RTSP Client”

  1. In order to talk to Axis camera it is required to manually edit DESCRIBE request, adding “/mpeg4/media.amp” into URL. The messages are like these:

    Connection to 193.23.178.184:554 using TCP

    OPTIONS * RTSP/1.0
    CSeq: 1

    RTSP/1.0 200 OK
    CSeq: 1
    Public: DESCRIBE, GET_PARAMETER, PAUSE, PLAY, SETUP, SET_PARAMETER, TEARDOWN
    Date: Mon, 23 Mar 2009 09:01:22 GMT

    DESCRIBE rtsp://193.23.178.184 RTSP/1.0
    CSeq: 2
    Authorization: Basic cm9vdDaheGlzMTIz
    Accept: application/sdp

    RTSP/1.0 404 Not Found
    CSeq: 2
    Date: Mon, 23 Mar 2009 09:02:37 GMT

    DESCRIBE rtsp://193.23.178.184/mpeg4/media.amp RTSP/1.0
    CSeq: 3
    Authorization: Basic cm9vdDaheGlzMTIz
    Accept: application/sdp

    RTSP/1.0 200 OK
    CSeq: 3
    Content-Type: application/sdp
    Content-Base: rtsp://193.23.178.184/mpeg4/media.amp/
    Date: Mon, 23 Mar 2009 09:03:00 GMT
    Content-Length: 587

    v=0
    o=- 1237798980255709 1237798980255709 IN IP4 193.23.178.184
    s=Media Presentation
    e=NONE
    c=IN IP4 0.0.0.0
    b=AS:8032
    t=0 0
    a=control:*
    a=range:npt=0.000000-
    m=video 0 RTP/AVP 96
    b=AS:8000
    a=framerate:30.0
    a=control:trackID=1
    a=rtpmap:96 MP4V-ES/90000
    a=fmtp:96 profile-level-id=245; config=000001B0F5000001B509000001000000012000C88D881F4514043C14103F
    m=audio 0 RTP/AVP 97
    b=AS:32
    a=control:trackID=2
    a=rtpmap:97 mpeg4-generic/8000/1
    a=fmtp:97 profile-level-id=15; mode=AAC-hbr;config=1588; SizeLength=13; IndexLength=3;IndexDeltaLength=3; Profile=1; bitrate=32000;

Leave a Reply