RFC 2862
RTP Payload Format for Real-Time Pointers
RFC 2862: RTP Payload Format for Real-Time Pointers π
Okay bestie, here's the title block π This one is by M. Civanlar and G. Cash from AT&T π¦. It's a Standards Track doc, dated June 2000, and it doesn't obsolete or update anything (no Obsoletes or Updates lines in the header) β¨.
Status of This Memo β¨
This is an Internet standards track protocol for the Internet community, and the authors are asking for discussion and suggestions for improvements π . For the current standardization state and status, check the "Internet Official Protocol Standards" (STD 1) π. Distribution of this memo is unlimited π.
Copyright Notice
Copyright (C) The Internet Society (2000). All Rights Reserved. π«Ά
Abstract β¨
This doc describes an RTP [1] payload format for sending the coordinates of a dynamic pointer that might get used during a presentation π¦. A mouse can be the pointer, but this payload format isn't meant for that and may not have everything you'd need for a general mouse event transmission mechanism π.
1. Introduction π
In most presentations, the important stuff gets shared through viewgraphs and a pointer π. So getting them across accurately is super vital in remote conferencing apps π₯. Sending regular video of the presenter's display is kind of a mess for this, because viewgraphs need really high spatial resolution, but the pointer movements need to be sampled and sent at a really high temporal resolution so the pointing lines up with the audio and video π. Honestly the sync is often the vital info!! Picture a speaker pointing at two options on a viewgraph, one then the other, saying "this one is better than this" π. To nail both the high spatial and high temporal needs, you'd probably need at least S-VHS quality video. Compressing S-VHS in real time is pricey for this, and sending it uncompressed takes insane bandwidth π.
A much simpler and cheaper setup is to capture and send the pointer coordinates separately [2] π . Electronic presentation systems can easily get the pointer coordinates relative to a displayed viewgraph β¨. For stuff made for optical systems, like overhead projector transparencies, you can capture the viewgraph into a frame buffer on a computer and link the pointer coordinates to it πΈ. For transparencies, printed material, or even 3D objects, you can use a document camera plus a PC or workstation video capture card πΈ. This setup can also handle electronic viewgraphs, by feeding the video output of the computer displaying them into the capture card through a suitable converter π. A bonus is that the presenter can use their own computer to send electronic viewgraphs without hooking it up to something like an intranet π§. The captured image then gets shown with the capturing computer's mouse pointer on the presenter's display through a projector π. The presenter moves the pointer with a regular mouse (or maybe a wireless one), and software on the capturing computer can easily track where it is π¦.
This doc describes an RTP payload format for sending pointer coordinates captured in any of those ways using RTP π. Again, a mouse can be the pointer, but this payload format isn't meant for that and may not have all the functionality needed for a general mouse event transmission mechanism π.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [3] π.
2. Payload Format π
Here's the packet layout, bestie, check it out π
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: contributing source (CSRC) identifiers :
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
|L|M|R| | x-coordinate | | PIN | y-coordinate |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
MBZ MBZ
Figure 1 - An RTP packet for Real-Time Pointer
Fig. 1 shows an RTP packet carrying real-time pointer coordinates π. This payload format has no payload-specific header, so that's a nice little freebie β¨.
2.1. RTP Header Usage: π
Payload Type (PT): Assigning an RTP payload type for this new packet format is outside this doc's scope, so it won't be specified here π . The RTP profile for a particular class of applications is expected to assign a payload type for this encoding. If that doesn't happen, then a payload type in the dynamic range shall be chosen π§.
Marker (M) bit: Set to one if the pointer icon is changed in this packet π¦.
Extension (X) bit: Defined by the RTP profile used π .
Sequence Number: Set as described in RFC1889 [1] π’.
Timestamp: The sampling time for the pointer location, measured by a 90kHz clock β°.
SSRC: Set as described in RFC1889 [1] π«Ά.
CC and CSRC fields: These are used as described in RFC 1889 [1] π.
RTCP SHOULD be used as defined in RFC 1889 [1] πΈ.
2.2. Payload: π
The pointer's x and y coordinates are measured from the upper left corner of the associated display window β¨. They're represented as a fraction of the corresponding edge length of the display window, using 12 bits. These are positive, fixed point numbers between 0 and (1 - 2^-12) π₯.
The L (left), R (right), and/or M (middle) bits are pointer special effects flags π¦. What they do is application dependent, and they MUST be established out-of-band π. Applications MAY ignore these bits π .
PIN: The Pointer Icon Number (3 bits) selects a pointer icon π. The association between PIN numbers and icon pictures MUST be established out-of-band π§. PIN = 0 represents a default pointer icon π. Applications that only support a single pointer icon SHOULD set the PIN field to zero π. Applications MAY ignore non-zero PIN values on reception and display a default icon instead π.
3. MIME Media Type Registrations π¦
This doc defines a new RTP payload name, "pointer," and its associated MIME subtype, "video/pointer" π.
3.1. Registration of MIME media type video/pointer πΈ
MIME media type name: video
MIME subtype name: pointer
Required parameters: None
Optional parameters: None
Encoding considerations: Pointer video can be transmitted with RTP
as specified in this document.
Security considerations: As described in this document.
Interoperability considerations: None
Published specification: this document.
Applications which use this media type: Videoconferencing systems
that transmit VUgraphs with a real-time pointer.
Additional information: None
Magic number(s): None
File extension(s): None
Macintosh File Type Code(s): None
Person & email address to contact for further information:
M. Reha Civanlar
e-mail: civanlar@research.att.com
Intended usage: COMMON Author/Change controller:
M. Reha Civanlar
e-mail: civanlar@research.att.com
4. Security Considerations π₯
Packets using the payload format defined in this spec are subject to the security considerations discussed in the RTP specification [1] π‘οΈ.
This payload type doesn't show any significant non-uniformity in receiver-side computational complexity for packet processing, so there's no potential denial-of-service threat from it π . No DoS drama here, periodt β¨.
5. References π
[1] Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson, "RTP: A Transport Protocol for Real Time Applications", RFC 1889, January 1996. π
[2] M. R. Civanlar, G. L. Cash, "Networked Viewgraphs - NetVG", Proceedings of The 9th Int. Workshop on Packet Video, http://www.research.att.com/~mrc/PacketVideo99.html. π¦
[3] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. π
6. Authors' Addresses π«Ά
M. Reha Civanlar
AT&T Labs - Research
100 Schultz Drive, Room 3-205
Red Bank, NJ 07701, USA
EMail: civanlar@research.att.com
Glenn L. Cash
AT&T Labs - Research
100 Schultz Drive, Room 3-213
Red Bank, NJ 07701, USA
EMail: glenn@research.att.com
7. Full Copyright Statement π
Copyright (C) The Internet Society (2000). All Rights Reserved. β¨
You can copy and share this doc and translations of it, and you can make derivative works that comment on or explain it or help implement it. You can prepare, copy, publish, and distribute those, in whole or in part, with no restriction of any kind, as long as the copyright notice and this paragraph are on all copies and derivative works π. But this document itself can't be modified in any way, like removing the copyright notice or the references to the Internet Society or other Internet organizations. The exceptions are when it's needed to develop Internet standards (then the Internet Standards process copyright procedures have to be followed) or to translate it into languages other than English πΈ.
The permissions above are perpetual and won't be revoked by the Internet Society or its successors or assigns π¦.
The doc and the info in it are provided on an "AS IS" basis, and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE π.
Acknowledgement π«Ά
Funding for the RFC Editor function is currently provided by the Internet Society π.
π¦ where this page comes from
- ietf: rfc2862 2000-06
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms