The Internet Real-Time Laboratory Prof. Henning Schulzrinne Feb 2006 .
RTP Payload Format for Program Cues Jack Brassil (HP Labs) Henning Schulzrinne (Columbia Univ)...
-
Upload
ashley-phelps -
Category
Documents
-
view
213 -
download
1
Transcript of RTP Payload Format for Program Cues Jack Brassil (HP Labs) Henning Schulzrinne (Columbia Univ)...
RTP Payload Format for Program Cues
Jack Brassil (HP Labs)Henning Schulzrinne (Columbia Univ)
mailto:[email protected]
December 14, 2000
<draft-brassil-avt-cues-00.txt>
Program Cues
A Program Cue is … a signaling message used to convey program identity,
structure and timing intended for communicating events whose precise
timing is significant to receivers (e.g., program start/stop times)
the building block for a cueing protocol
Cueing Protocols - Purpose
Anticipate that both network intermediaries and clients will receive and process growing number of concurrent RTP streams
Cues facilitate application creation Program recording Ad insertion/media personalization Program modification (e.g., logo overlay) Switching Adaptation (e.g., image extraction) Notifications (e.g., parental advisorys, emergencies) Stream monitoring (e.g., DRM)
Program Notifications in Traditional Broadcast Media
Radio Data System (RDS) in VHF/FM traffic alerts, program info out-of-band on alternate frequencies requires RDS-capable radio, often with alphanumeric display ‘smart’ receiver can do automatic channel switch-over
Program Delivery Control (PDC) Program Identity Labels, start & stop times carried in teletext requires PDC-capable VCR (Gemstar’s ShowView, VideoPlus+)
Local Program Insertion and Pass Thru DTMF control channel obvious A/V artifacts from poor timing control
Cueing Protocols – Basic Properties
Cues are always optional in RTP stream Each cue is a separate packet (distinguished by
Payload Type) Cues can be added or removed by an intermediary Media encoding independence (e.g., PCM, MPEG-4) In-band or out-of-band operation Compatible with push or pull systems Encourage conventions but let application
developers decide how to construct protocols
Basic Cue Types
Event Notification (EN) - indicates start of event Event Continuing (EC) - event in progress Event Termination (ET) - indicates end of event Event Pending (EP) - indicates upcoming event
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P|X| CC |M| PT | sequence number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | timestamp | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | synchronization source (SSRC) identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: RTP packet header
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | event type |cuetype| ver | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | duration | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | date | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | time | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | time (cont.) | reserved | label bytecount | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | label | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: Payload Format for Cues
Proposed Payload Format
Operational Details
Redundant notifications are OK EN and ET cues should be placed in stream at
event points Applications insert EP and EC as necessary Reliability enhancements to RTP apply
Cueing Protocols – Related Activities
Other less time-sensitive RTP payloads for
metadata being examined Analogous to origin-edge server communication
in I-CAP Some apps possible with other methods of
synchronization (e.g., SMIL or wall clock time) RTP ‘named events’
Cueing Protocols - What works today
Local transmission of audio as MP3/RTP/IP
multicast Embedded ‘structural’ cues Applications
track recording service third party ad insertion
Hack – encodes SSRC & PT fields instead of proposed payload so players like WinAmp not confused :)
<program id> <track 1> </track 1> <ad slot 1> </ad slot 1> …</program id>
Program Cues - Issues
Authenticating cues Invocation via RTSP Identification of Event Types Description and announcement via SDP/SAP Need for cues to convey program ‘semantics’? Filters and compatibility with existing apps
Program Cues - Recommendation
Sufficient interest to consider standards track Need to avoid early adoption of proprietary
mechanisms Interested parties include
traditional broadcasters edge technology providers media application developers CDNs