INTERNET DRAFT draft-hoschka-smilsdp-01.txt August 30, 1998 Expires February 1, 1999 Integrating SDP Functionality Into SMIL [2][LINK] [3]Philipp Hoschka, [4]W3C _________________________________________________________________ 1. Status of this Memo This document is an Internet Draft. Internet Drafts are working documents of the Internet Engineering Task Force (IETF), its Areas, and its Working Groups. Note that other groups may also distribute working documents as Internet Drafts. Internet Drafts are valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet Drafts as reference material or to cite them other than as a "working draft" or "work in progress." Distribution of this memo is unlimited. This is an update of [5]http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-00. It fixes a bug in the example that was pointed out in feedback, and adds pointers to the definitions of the SMIL elements used in the example. The draft has been presented at the 42nd IETF meeting. The conclusion was that this draft provides an interim solution at best. Future work should focus less on keeping in line with the current SDP structure, but rather integrate SDP functionality more directly into SMIL, while reusing the values that have been registered for SDP. Consequently, there are currently no plans for further work on this draft. Table of Contents * [6]1. Status of this Memo * [7]2. Abstract * [8]3. Example * [9]3. Mapping Approach * [10]4. Integrating SDP Fields into SMIL + [11]4.1 Origin o [12]4.1.1 origin Element + [13]4.2 Session Name o [14]Example + [15]4.3 Session Info o [16]4.3.1 info Element o [17]4.3.2 Media level use o [18]Example + [19]4.4 URI o [20]4.4.1 uri Element + [21]4.5 Email Address o [22]4.5.1 email Element + [23]4.6 Phone o [24]4.6.1 phone Element + [25]4.7 Connection Data o [26]Example o [27]Example o [28]Example + [29]4.8 Bandwidth o [30]4.8.1 bandwidth Element + [31]4.9 Times o [32]4.9.1 times Element + [33]4.10 Repeat Time o [34]4.10.1 repeat-time Element + [35]4.11 Time Adjustement o [36]4.11.1 time-adjustement Element + [37]4.12 Encryption Keys o [38]4.12.1 key Element + [39]4.13 Attributes o [40]4.13.1 attribute Element + [41]4.14 Media Announcements o [42]Example o [43]4.14.1 rtpmap Element + [44]4.15 Suggested Attributes * [45]Acknowledgements * [46]Authors Address 2. Abstract This document describes an approach for integrating the functionality currently contained in [47]SDP (Session Announcement Protocol) into [48]SMIL (Synchronized Multimedia Integration Language). The motivation is to make it easier for SMIL authors to interface with the existing RTP/MBone infrastructure. Currently, this requires maintaining two different sets of files, each of which use a different text format. Another motivation is to save one network round-trip per RTSP URL in the SMIL file, since the information contained in the SDP file is now directly included in the SMIL file. 3. Example The following shows how the sdp example contained in the SDP RFC can be integrated into a SMIL file, using the mapping defined in this document. SDP announcement: v=0 o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4 s=SDP Seminar i=A Seminar on the session description protocol u=http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps e=mjh@isi.edu (Mark Handley) c=IN IP4 224.2.17.12/127 t=2873397496 2873404696 a=recvonly m=audio 49170 RTP/AVP 0 m=video 51372 RTP/AVP 31 m=application 32416 udp wb a=orient:portrait Inclusion in SMIL file: A Seminar on the session description protocol http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps ph@w3.org This example uses the following SMIL elements: * [49]meta * [50]par * [51]media object elements audio, video and ref 3. Mapping Approach Only the information contained in a SDP session announcement is mapped onto SMIL. An SDP session announcement consists of several fields. These fields can either be session level fields, or media level fields. In general, information contained in SDP session level fields are mapped into information contained within the "head" part of a SMIL document. Information contained in SDP media level fields is mapped onto information assiocated with individual media objects in a SMIL document. The mapping below allows integrating all information in a SDP announcement into SMIL. SDP information is included in a SMIL document in two different ways: * mapping SDP information into existing attributes, when possible * defining a set of new XML elements and attributes that can be included into a SMIL document via the [52]XML namespace mechanism 4. Integrating SDP Fields into SMIL 4.1 Origin This SDP field requires defining a new element. 4.1.1 origin Element This represents the information of the "orgin" field in SDP. It is mandatory for a SMIL document that is transmitted in a multicast announcement. Element Attributes username Syntax and semantics defined in SDP specification. This is an optional attribute, and the default value is "-". session-id Syntax and semantics defined in SDP specification version Syntax and semantics defined in SDP specification network-type Syntax and semantics defined in SDP specification. This is an optional attribute, and the default value is "IN". address-type Syntax and semantics defined in SDP specification. This is an optional attribute, and the default value is "IP4". address Syntax and semantics defined in SDP specification Element Content "origin" is an empty element. Example ... ... 4.2 Session Name This SDP field can be mapped onto the "title" property of the SMIL "meta" element. Example ... ... 4.3 Session Info This SDP field can be used in the session-level section and in a media-level section. For mapping session-level use into SMIL, this requires defining a new element. 4.3.1 info Element Element Attributes xml:lang Syntax and semantics defined in XML specifiation Element Content "info" element contains the text of the session description. Example A Seminar on the session description protocol ... ... 4.3.2 Media level use For media-level use, the "info" field can be mapped onto the "title" attribute. Example 4.4 URI This SDP field requires defining a new element. 4.4.1 uri Element The element can only occur within the "head" part of a SMIL document. Element Attributes This element has no attributes. Element Content The element contains the URI value. Example http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps ... ... 4.5 Email Address This SDP field requires defining a new element. 4.5.1 email Element The element can only occur within the "head" part of a SMIL document. Element Attributes This element has no attributes. Element Content The element contains the email address Example ph@w3.org ... ... 4.6 Phone This session-level SDP field requires defining a new element. 4.6.1 phone Element The element can only occur within the "head" part of a SMIL document. Element Attributes This element has no attributes. Element Content The element contains the phone number. Example +1 617 256 8113 ... ... 4.7 Connection Data The information of this SDP field is contained in the URI identifying the resource. The network type can either be deduced from the URI scheme, or be completely transparent. Determining the address type is either not necessary (because the URI contains a hostname), or it can be derived from the URI scheme. For addressing resources that are multicast, a new "mbone" URI scheme is needed. It looks as follows: "mbone:""/""/" @@ check whether consistent with guidelines for doing URIs Example mbone:224.2.1.1./127/3 This SDP field can be used in the session-level section and in a media-level section. For mapping session-level use of connection data into SMIL, a "meta" element can be used for defining a base URI. Example ... ... For mapping media-level use into SMIL, the connection data field can be mapped onto the "src" attribute of a media-object element. Example 4.8 Bandwidth This SDP field requires defining a new element. 4.8.1 bandwidth Element Element Attributes modifier Syntax and semantics defined in SDP specifiation bandwidth Syntax and semantics defined in SDP specifiation Element Content "bandwidth" is an empty element. The "bandwidth" SDP field can be used in the session-level section and in a media-level section. Use this field in the session-level section is mapped onto using the "bandwidth" element in the "head" part of a SMIL document. Example ... ... Use of this field in the media-level section is mapped onto using the "bandwitdh" element as content of a SMIL media object. Example 4.9 Times This session-level SDP field requires defining a new element. 4.9.1 times Element The element can only occur within the "head" part of a SMIL document. Element Attributes start-time Syntax and semantics defined in SDP specifiation stop-time Syntax and semantics defined in SDP specifiation Element Content The "times" element can contain the following element: repeat-time Defined below zone-adjustement Defined below Example .. 4.10 Repeat Time This session-level SDP field requires defining a new element. 4.10.1 repeat-time Element The element can only occur within the "head" part of a SMIL document as content of a "time" element. The "time" element can contain not more than one "repeat-time" element. Element Attributes interval Syntax and semantics defined in SDP specifiation active-duration Syntax and semantics defined in SDP specifiation offsets A comma seperated list of values whose semantics is defined in the SDP specification Element Content "repeat-times" is an empty element. Example ... 4.11 Time Adjustement This session-level SDP field requires defining a new element. 4.11.1 time-adjustement Element The element can only occur within the "head" part of a SMIL document as content of a "time" element. The "time" element can contain multiple "time-adjustement" elements, one for each adjustement (note that this leads to a different structure than used by the "z" field in sdp). Element Attributes adjustement-time Syntax and semantics defined in SDP specifiation offset Syntax and semantics defined in SDP specifiation Element Content "time-adjustement" is an empty element. Example ... 4.12 Encryption Keys This SDP field can be used both at the session-level and at the media level. It requires defining a new element. 4.12.1 key Element Element Attributes method Syntax and semantics defined in SDP specifiation encryption-key Syntax and semantics defined in SDP specifiation Element Content "key" is an empty element. To mimic SDP use of encryption keys at the session-level, the "keys" element is included in the "head" part of the SMIL document. Example ... To mimic SDP-use of encryption keys at the media-level, the "keys" element is included in the content of a SMIL media object element. Example 4.13 Attributes Unless specified otherwise, SDP attributes are mapped onto a generic "attribute" element. 4.13.1 attribute Element Element Attributes attribute-name Syntax and semantics defined in SDP specifiation value Syntax and semantics defined in SDP specifiation Element Content "attribute" is an empty element If the attribute is used on the session-level, it is contained in the "head" section of the SMIL document. Example ... Otherwise, it is included in the content of a SMIL media-object element. Example 4.14 Media Announcements The "m" SDP field is mapped onto attributes within SMIL media objects. The following attributes can be added to all SMIL media objects: port Syntax and semantics defined in SDP specifiation transport Syntax and semantics defined in SDP specifiation fmt-list Comma-seperated list of values whose syntax and semantics is defined in SDP specifiation Example If the media object uses the RTP format, and uses a dynamic payload type, SDP requires the use of the "rtpmap" attribute field. This is mapped onto the "rtpmap" element, which is contained in the content of the media object element. 4.14.1 rtpmap Element Element Attributes payload Syntax and semantics defined in SDP specifiation encoding Syntax and semantics defined in SDP specifiation Element Content "rtpmap" is an empty element Example 4.15 Suggested Attributes The following "suggested attributes" of SDP are not mapped onto an "attribute" element: * charset: The charset of the SMIL document can be set using the mechanisms defined by the XML definition. * sdplang: The language of session-description information is set by the "xml:lang" attribute in the individual "info" elements. @@@ check XML spec: is there a way to set a global default language that is valid for the whole document ? * lang: The functionality of this is replaced by the "system-language" attribute in SMIL. All other "suggested attributes" are mapped onto an "attribute" element. Acknowledgements Integrating SDP functionality with SMIL has been originally suggested by several other people to me in private. Authors Address * Philipp Hoschka W3C/MIT Laboratory for Computer Science 545 Technology Square Cambridge, MA 02139, USA Fax: +1 (617) 258-8682 Email: ph@w3.org _________________________________________________________________ References 1. http://www.w3.org/ 2. http://www.w3.org/Style/CSS/Buttons 3. mailto:ph@w3.org 4. http://www.w3.org/ 5. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-00 6. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid58150 7. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid58151 8. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid58152 9. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid58153 10. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid58154 11. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid58155 12. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid58156 13. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581510 14. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581511 15. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581512 16. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581513 17. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581517 18. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581518 19. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581519 20. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581520 21. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581524 22. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581525 23. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581529 24. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581530 25. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581534 26. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581535 27. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581536 28. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581537 29. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581538 30. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581539 31. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581544 32. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581545 33. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581549 34. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581550 35. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581554 36. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581555 37. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581559 38. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581560 39. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581565 40. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581566 41. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581571 42. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581572 43. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581573 44. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581577 45. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581578 46. http://www.w3.org/AudioVideo/1998/08/draft-hoschka-smilsdp-01.html#xtocid581579 47. http://info.internet.isi.edu/in-notes/rfc/files/rfc2327.txt 48. http://www.w3.org/TR/REC-smil 49. http://www.w3.org/TR/REC-smil/#meta 50. http://www.w3.org/TR/REC-smil/#par 51. http://www.w3.org/TR/REC-smil/#media-object 52. http://www.w3.org/TR/WD-xml-names