⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 draft-barbato-avt-rtp-theora-01.txt

📁 mediastreamer2是开源的网络传输媒体流的库
💻 TXT
📖 第 1 页 / 共 4 页
字号:
   When the payload type is set to 2, the packet contains the comment   metadata, such as artist name, track title and so on.  These metadata   messages are not intended to be fully descriptive but to offer basic   title information.  Clients MAY ignore them completely.  The details   on the format of the comments can be found in the Theora   documentation [16].Barbato                 Expires December 18, 2006              [Page 13]Internet-Draft       draft-barbato-avt-rtp-theora-01           June 2006       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      |             xxxx              |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |                             xxxxx                             |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |           synchronization source (SSRC) identifier            |      +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+      |            contributing source (CSRC) identifiers             |      |                              ...                              |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |              Configuration Ident              | 0 | 2 |      1|      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |            length             |            Comment           ..      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ..                           Comment                           ..      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ..                           Comment                            |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   Figure 9: Comment Packet   The 2 byte length field is necessary since this Theora packet could   be fragmented.5.  Frame Packetizing   Each RTP packet contains either one complete Theora packet, one   Theora packet fragment, or an integer number of complete Theora   packets (up to a maximum of 15 packets, since the number of packets   is defined by a 4 bit value).   Any Theora data packet that is less than path MTU SHOULD be bundled   in the RTP packet with as many Theora packets as will fit, up to a   maximum of 15.  Path MTU is detailed in [7] and [8].   A fragmented packet has a zero in the last four bits of the payload   header.  The RTP packet containing the first fragment will set the   Fragment type to 1.  Each RTP packet after the first will set the   Fragment type to 2 in the payload header.  The RTP packet containing   the last fragment of the Theora packet will have the Fragment type   set to 3.  If the fragmented Theora packet spans only two RTP   packets, the first will set the Fragment type field to 1 and the   second will set it to 2.  To maintain the correct sequence for   fragmented packet reception the timestamp field of fragmented packetsBarbato                 Expires December 18, 2006              [Page 14]Internet-Draft       draft-barbato-avt-rtp-theora-01           June 2006   MUST be the same as the first packet sent, with the sequence number   incremented as normal for the subsequent RTP packets.5.1.  Example Fragmented Theora Packet   Here is an example fragmented Theora packet split over three RTP   packets.  Each packet contains the standard RTP headers as well as   the 4 octets Theora headers.      Packet 1:       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      |           1000                |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |                             xxxxx                             |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |           synchronization source (SSRC) identifier            |      +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+      |            contributing source (CSRC) identifiers             |      |                              ...                              |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |              Configuration Ident              | 1 | 0 |      0|      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |        Payload Length         |           Theora data        ..      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ..                        Theora data                          ..      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   Figure 10: Example Fragmented Packet (Packet 1)   In this packet the initial sequence number is 1000 and the timestamp   is xxxxx.  The Fragment type field is set to one, indicating it is   the start packet of a serie of fragments.  The number of packets   field is set to 0, and as the payload is raw Theora data the Theora   payload type field is set to 0.Barbato                 Expires December 18, 2006              [Page 15]Internet-Draft       draft-barbato-avt-rtp-theora-01           June 2006      Packet 2:       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      |           1001                |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |                             xxxxx                             |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |           synchronization source (SSRC) identifier            |      +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+      |            contributing source (CSRC) identifiers             |      |                              ...                              |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |              Configuration Ident              | 2 | 0 |      0|      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |        Payload Length         |              ..      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ..                        Theora data                          ..      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   Figure 11: Example Fragmented Packet (Packet 2)   The Fragment type field is set to 2 and the number of packets field   is set to 0.  For large Theora fragments there can be several of   these type of payload packets.  The maximum RTP packet size SHOULD be   no greater than the path MTU, including all RTP and payload headers.   The sequence number has been incremented by one but the timestamp   field remains the same as the initial packet.Barbato                 Expires December 18, 2006              [Page 16]Internet-Draft       draft-barbato-avt-rtp-theora-01           June 2006      Packet 3:       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      |           1002                |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |                             xxxxx                             |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |           synchronization source (SSRC) identifier            |      +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+      |            contributing source (CSRC) identifiers             |      |                              ...                              |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |              Configuration Ident              | 3 | 0 |      0|      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |        Payload Length         |                              ..      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      ..                         Theora data                         ..      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   Figure 12: Example Fragmented Packet (Packet 3)   This is the last Theora fragment packet.  The Fragment type filed is   set to 3 and the packet count remains set to 0.  As in the previous   packets the timestamp remains set to the first packet in the sequence   and the sequence number has been incremented.5.2.  Packet Loss   As there is no error correction within the Theora stream, packet loss   will result in a loss of signal.  Packet loss is more of an issue for   fragmented Theora packets as the client will have to cope with the   handling of the Fragment type field.  If we use the fragmented Theora   packet example above and the first packet is lost the client MUST   detect that the next packet has the packet count field set to 0 and   the Fragment type is set to 2 and MUST drop it.  The next packet,   which is the final fragmented packet, MUST be dropped in the same   manner.  Feedback reports on lost and dropped packets MUST be sent   back via RTCP.[note: reordering]   If a particular multicast session has a large number of participants   care must be taken to prevent an RTCP feedback implosion, [9], in the   event of packet loss from a large number of participants.   Loss of any of the Configuration fragment will result in the loss of   the full Configuration packet as detailed in the Loss ofBarbato                 Expires December 18, 2006              [Page 17]Internet-Draft       draft-barbato-avt-rtp-theora-01           June 2006   Configuration Headers (Section 3.3) section.6.  IANA Considerations   MIME media type name: video   MIME subtype: theora   Required Parameters:      sampling: Determines the chroma subsampling format.      width: Determines the number of pixels per line.  This is an         integer between 1 and 1048561 and MUST be in multiples of 16.      height: Determines the number of lines per frame encoded.  This is         an integer between 1 and 1048561 and MUST be in multiples of         16.      delivery-method: indicates the delivery methods in use, the         possible values are: inline, in_band, out_band/specific_name         Where "specific_name" is the name of the out of band delivery         method.      configuration: the base16 [11] (hexadecimal) representation of the         Packed Headers (Section 3.2.1).   Optional Parameters:      configuration-uri: the URI of the configuration headers in case of         out of band transmission.  In the form of         "protocol://path/to/resource/".  Depending on the specific         method the single ident packets could be retrived by their         number or aggregated in a single stream, aggregates MAY be         compressed using gzip [12] or bzip2 [14] and an sha1 [13]         checksum MAY be provided in the form of         "protocol://path/to/resource/aggregated.bz2!sha1hash"   Encoding considerations:      This media type is framed and contains binary data.   Security Considerations:      See Section 6 of RFC XXXX.Barbato                 Expires December 18, 2006              [Page 18]Internet-Draft       draft-barbato-avt-rtp-theora-01           June 2006   Interoperability considerations:      None   Published specification:      RFC XXXX [RFC Editor: please replace by the RFC number of this      memo, when published]      Ogg Theora I specification: Codec setup and packet decode.      Available from the Xiph website, http://www.xiph.org   Applications which use this media type:      Audio streaming and conferencing tools   Additional information:      None   Person & email address to contact for further information:      Luca Barbato: <lu_zero@gentoo.org>      IETF Audio/Video Transport Working Group   Intended usage:      COMMON   Restriction on usage:      This media type depends on RTP framing, and hence is only defined      for transfer via RTP [3]   Author:      Luca Barbato   Change controller:      IETF AVT Working Group

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -