Encoder Terms

CORS (Cross-Origin Resource Sharing) - A standard that restricts resources from one website, sharing accessing data from another. It provides a mechanism in which a browser and server can interact to determine whether or not it is safe to allow the cross-origin request before transmitting data.

DTLS (Datagram Transport Layer Security) - Modified TLS that may be used with UDP. Exchanges keys used to encrypt and decrypt the stream at both peers. Used for the symmetric key exchange for WebRTC.

HLS (HTTP Live Streaming) - Media streaming communications protocol originally created by Apple that works by breaking the overall stream into a sequence of small HTTP-based file downloads (called chunks).

ICE (Interactive Connectivity Establishment) - A protocol that describes how to coordinate STUN and TURN to make a connection between hosts. WebRTC leverages ICE for setting up peer connections.

NAT (Network Address Translator) - A method of remapping one IP address space into another by modifying network address information in IP header of packets while they are in transit across a router. An essential tool in conserving global address space in the face of IPv4 address exhaustion. NAT Traversal or punch through is often needed in the case of setting up peer to peer systems like WebRTC in order to connect devices.

RTC (Real-Time Communication) - A category of software protocols and communication hardware that give real-time guarantees. RTC can often be an informal shortened name for WebRTC.

RTMFP - RTMP over UDP instead of TCP. It is also technically a peer to peer protocol that the Flash player can utilize.

RTMP (Real-Time Messaging Protocol) - TCP based protocol for streaming audio, video, and data over the Internet. It was originally developed by Macromedia for the Flash player. It allows for low-latency communication. Today RTMP is most common protocol for publishing streams. Professional encoders, OBS, FFMPEG, etc. all support RTMP.

RTMPS - RTMP over a TLS/SSL connection.

RTMPT - RTMP which is encapsulated within HTTP requests to traverse firewalls. RTMPT is frequently found utilizing cleartext requests on TCP ports 80 and 443 to bypass most corporate firewalls and allows the Flash player to connect to a server. The encapsulated session may carry plain RTMP, RTMPS, or RTMPE packets within.

RTP (Real-time Transport Protocol) - Protocol for delivering audio and video over IP networks. Used extensively in streaming media.

RTSP (Real Time Streaming Protocol) - A network control protocol designed for use in entertainment and communications systems to control streaming media servers. The protocol is used for establishing and controlling media sessions between end points. The payload of media is typically done over either RTP or SRTP. Most people when they say RTSP are referring to the combination of the RTSP and (S)RTP. The Red5 Pro Mobile SDK uses RTSP.

SDP (Session Description Protocol) - A format for describing streaming media communication sessions for the purposes of session announcements, session invitation, and parameter negotiation.

SRTP (Secure Real-time Protocol) - A transport protocol that WebRTC uses to send and receive encrypted video and audio.

SSL - (Secure Socket Layer) - Older version of TLS.

STUN (Session Traversal of User Datagram Protocol [UDP] Through Network Address Translators [NATs]) - Used by a host to discover its public IP address when it is located behind a NAT/Firewall. When this host wants to receive an incoming connection from another party, it provides the public IP address as a possible location where it can receive a connection. Red5 Pro examples all use the public Google STUN servers. We suggest however, that you install your own STUN server for your production apps. A good choice is CoTurn as it supports both STUN and TURN.

TCP (Transmission Control Protocol) - One of the main protocols on the Internet. TCP is a connection based protocol, once a connection is established data can be sent in both directions. It's used in applications that require high reliability when transmission time is not as important as guaranteed delivery. TCP typically is much easier to use than UDP in strict corporate firewalls.

Third Party Encoders: Software encoders, generally. used to broadcast via RTMP or RTSP. Some examples:

  • FFMPEG (Fast Forward MPEG) - Vast software suite of libraries and programs for handling video, audio, and other multimedia files and streams. FFMPEG is usually run as a command line tool, but it's also frequently used as a C library for doing many video and streaming related tasks. OBS for example utilizes FFMPEG under its covers.
  • OBS (Open Broadcast Software) - A free and open-source software suite for recording and live streaming.
  • Wirecast - An example of a subscription-based software suite for live streaming.

TLS (Transport Layer Security) - Cryptographic protocol that provides communication security over a computer network via TCP.

TURN (Traversal Using Relay around NATs) - Makes a connection to the server through relaying media between the two parties if STUN fails.

UDP (User Datagram Protocol) - Connectionless protocol, multiple messages are sent as packets in chunks. One directional. Needed for fast, efficient transmission. Streaming or gaming. Manages the reordering of packets received by the clients and deals with dropped packets that never arrive. Most WebRTC traffic is done with SRTP over a UDP connection.

WebRTC (Web Real-Time Communication) - A universal, plugin-free browser-based communication protocol that enhances browsers with RTC (Real-Time Communication) capabilities via Javascript API's.

  • Jitter: jitter is the loss of transmitted data between network devices.
  • NACK(Negative Acknowledgement): NACK is is one of the error resiliency mechanisms in WebRTC. It is a way for the receiving end to indicate it hasn’t received a specific packet.
  • PLI (Picture Loss Indication): PLI is another one of the error resiliency mechanisms in WebRTC. A receiver of this message can decide to resent a full frame if he has one available in cache and finds it usable. A PLI can be sent when the receiver of the media lost a full frame or more

Websocket - A computer communications protocol, providing full-duplex (two-way) communication channels over a single TCP connection unlike HTTP. It allows you to open an interactive communication between the server and the client in HTML5 apps. You can make API calls without everything having to go through the server.