Intel® Collaboration Suite for WebRTC
Community support and discussions on the Intel® Collaboration Suite for WebRTC (Intel® CS for WebRTC).

RTSP - PLAY method access with Absolute Time

RLinc
Beginner
722 Views

Hi,

We would like to add the ability to set the playback time for RTSP recorded footage to the collaboration suite. This is a great feature for NVR's, CCTV or General Media. To do this, we need access to the PLAY method used after an RTSP stream is connected and setup. The Absolute Time value  would need to be accessed and updated during the session as the user moves a timeline bar for example. Therefore a new ?URL connect parameter would not be sufficient. Do you have any thoughts on this?

Possible solutions include:  Open source the RTSP portion of the Intel WebRTC Server stack or Create an additional proxy server between the WebRTC RTSP client and the NVR RTSP Server.

Thanks.

0 Kudos
2 Replies
Lei_Z_Intel1
Employee
722 Views

It is interesting topic. Could you help us to understand the requirement more clearly?

  1. Usually, the time is already embedded as part of video by RTSP source encoder, why we need addition timeline bar?
  2. What is the exact operation “PLAY method used after an RTSP stream is connected and setup”?
  3. In WebRTC sever side, we transcode all RTSP video input and convert to WebRTC protocol, so there is no WebRTC RTSP client. All clients receive WebRTC stream only.
  4. Is there any more detail introduction about this feature requirement, we can check if any opportunity to integration w/ our collaboration suite.
0 Kudos
RLinc
Beginner
722 Views

Hi Lei,

A timeline bar woyuld be a UI component that we would create in the web client, the 'time' data would have to be posted by WebRTC methods to the Intel WebRTC MCU server after an RTSP connection has already been established. This creates a better user experience for playback during a single session.

A typical and simplified RTSP client to server session is started through the following messages:

 

1.      OPTIONS

2.      DESCRIBE

3.      SETUP

4.      PLAY

 

A PAUSE/PLAY sequence can occur at any point during the RTSP session. For playback, the Absolute Time can be embedded within the PLAY command:

Absolute Time is expressed as ISO 8601 timestamps, using Universal Coordinated Time (UTC) as the reference clock. Fractions of a second may also be indicated:

 

   utc-range   =   "clock" "=" utc-time "-" [ utc-time ]

   utc-time     =   utc-date "T" utc-time "Z"

   utc-date     =   8DIGIT                        ; < YYYYMMDD >

   utc-time     =   6DIGIT [ "." fraction ]   ; < HHMMSS.fraction >

 

As an example, if we wanted to playback recorded media starting on the 8th of November, 1996 at 14.37 and 20 seconds and a quarter for a duration of 30 seconds, the UTC Absolute Time values would be:

 

Start = 19961108T143720.25Z

              End  = 19961108T143750.25Z

 

Example RTSP packet containing this parameter:

 

PLAY rtsp://192.168.0.1/path/to/recording RTSP/1.0

CSeq: 123

Session: 12345678

Range: clock=19961108T143720.25Z-19961108T143750.25Z

Rate-Control: no

Scale: 1.0

My understanding is the MCU must have an RTSP Client to open a connection to an RTSP server,  PAUSE/PLAY sequences can then be issued to deliver playback described in RFC2326.

The alternative is to use a proxy between the MCU and RTSP server source.

Contact me to access the full report, it would be good to go offline to discuss this application model for command and control collaboration.

I will investigate the generic RTSP servers found in the common VMS manufacturers (Milestone, Genetec etc) this week and provide any further details.

Cheers, Richard.

0 Kudos
Reply