Streaming Specifications
Media Transport Protocols
Media Transport Protocol
Picolo.net HD1 products use the Real-Time Transport Protocol - RTP - standard for streaming media data over the network.
In fact, the standard - RFC 3550 - describes two protocols:
□ | The RTP protocol itself. |
□ | The Real-time Transport Control Protocol - RTCP. |
The RTP protocol is a simple protocol which defines a standardized packet format for delivering audio and video over IP networks.
The RTCP protocol provides statistics and control information over the RTP stream.
RTP is used extensively in communication and entertainment systems that involve streaming media.
RTP comes in various flavors, depending on the following choices:
□ | The transport modality of the RTP stream over the network. |
□ | The type of media transported by the RTP stream. |
Media Transport Control Protocol
Picolo.net products use the Real-time Streaming Protocol - RTSP - as the control protocol for all the flavors of RTP streams.
RSTP is described by RFC 2326. It allows controlling another protocol (usually RTP), implementing commands such as Play (start a stream), Pause (pause a stream) and Describe (describe the streams controlled by the current RTSP session).
RTSP uses TCP as its transport protocol.
Media Transport Security Protocol
Picolo.net HD1 uses the Transport Layer Security - TLS - to encrypt, when required, the media stream.
The TLS Protocol encrypts an HTTP stream using various cryptographic algorithms. As such, only the "RTP interleaved in RTSP over HTTP" transport modality is applicable for media stream encryption purposes.
RTP Transport Modalities
The following modalities are available to transport the RTP stream over an IP network:
RTP over UDP Unicast
In this modality, the RTP stream is sent using the User Datagram Protocol - UDP - described in RFC 768.
The UDP protocol is a "fire and forget" protocol. The sender sends the data through the network and doesn't care whether that data arrives to the client or not. The data is never resent, and thus can be lost if a problem happens during the transport.
In the Unicast mode, the sender sends the data to a single receiver.
RTP over UDP MultiCast
This modality is almost identical to the "RTP over UDP Unicast" case. The only difference is that the data is sent to multiple receivers instead of a single one using UDP multicasting.
UDP multicasting uses the "IP multicast" technique described in RFC 1112.
In this technique, the sender sends the data to a special multicast address. The data is then sent by the routing protocols to receivers that previously informed the network that they are interested in the given multicast address. IP multicast is thus a subscription-based technique.
RTP interleaved in RTSP over HTTP
This modality is almost identical to the "RTP interleaved in RTSP over TCP" modality. The only difference is that instead of being directly sent on the TCP stream, the RTP and RTSP packets are first encapsulated in HTTP.
HTTP being a widely used protocol over the internet, encapsulating the data inside HTTP allows it to pass through firewalls.
Moreover, encapsulating the data inside HTTP allows taking advantage of the TLS Protocol to secure the media stream.
Since HTTP is based on TCP, this modality can also be categorized as reliable.
RTP Transport Media Types
RTP can transport different media types, each coming with a corresponding sub-norm of RTP.
Picolo.net products implement the following sub-norms of RTP:
RTP Payload Format for H.264 Video
The RFC 3984 describes the methodology used to encapsulate H264 (MPEG-4 Part 10) data in a RTP stream.
RTP Payload Format for JPEG-compressed Video
The RFC 2435 describes the methodology used to encapsulate JPEG-compressed Video data in a RTP stream.