Live Streaming and its protocols

Folks,

Now i am working on livestreaming in wowza server. For that i configured wowza server, wirecast/adobe flash media live encoder for broadcasting live video. After streaming, the input streams will be monitored and displayed in wowza server by its default test players.

Note: Server IP address like rtmp://localhost:1987/live and stream like myStream should be given in order to get your live video display. Configurations should be properly maintained..else you cant display anything. Make sure of these following terms is well configured or not..

Server IP, Port, Application name for Live or VOD, Stream files, Incorming and outgoing security should be kept open for basic configurations(RTMP,RTSP protocols etc).

Now lets see different types of protocols used to keep live streaming on different devices.

Protocols:

1. DASH – Dynamic Adaptive Streaming over HTTP

Dynamic Adaptive Streaming over HTTP (DASH), also known as MPEG-DASH, is an adaptive bitrate streaming technique that enables high quality streaming of media content over the Internet delivered from conventional HTTP web servers. Similar to Apple’s HTTP Live Streaming (HLS) solution, MPEG-DASH works by breaking the content into a sequence of small HTTP-based file segments, each segment containing a short interval of playback time of a content that is potentially many hours in duration, such as a movie or the live broadcast of an event.

Eg: http://localhost:1987/live/myStream/manifest.mpd

2. HLS – HTTP Live Streaming

HTTP Live Streaming (also known as HLS) is an HTTP-based media streaming communications protocol implemented by Apple Inc. as part of their QuickTime and iOS software. It works by breaking the overall stream into a sequence of small HTTP-based file downloads, each download loading one short chunk of an overall potentially unbounded transport stream.At the start of the streaming session, it downloads an extended M3U (m3u8) playlist containing the metadata for the various sub-streams which are available.

3. RTMP – Real Time Messaging Protocol

The Real-Time Messaging Protocol (RTMP) was designed for high-performance transmission of audio, video, and data between Adobe Flash Platform technologies, including Adobe Flash Player and Adobe AIR. RTMP is now available as an open specification to create products and technology that enable delivery of video, audio, and data in the open AMF, SWF, FLV, and F4V formats compatible with Adobe Flash Player.

The RTMP protocol has multiple variations:

The “plain” protocol which works on top of and uses TCP port number 1935 by default.
RTMPS which is RTMP over an TLS/SSL connection.
RTMPE which is RTMP encrypted using Adobe’s own security mechanism. While the details of the implementation are proprietary, the mechanism uses industry standard cryptography primitives.[1]
RTMPT 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 traffic filtering. The encapsulated session may carry plain RTMP, RTMPS, or RTMPE packets within.

Eg : rtmp://localhost:1987/live/myStream

4. HDS – HTTP Dynamic Streaming (HDS) enables on-demand and live adaptive bitrate video delivery of standards-based MP4 media over regular HTTP connections.

Eg: http://localhost:1987/live/myStream/manifest.f4m

Difference between HDS & HLS

HLS stands for HTTP Live Streaming and is Apple’s proprietary streaming format based on MPEG2-TS. It’s popular since it provides the only way to deliver advanced streaming to iOS devices. It often mistakenly gets defined as HTML5 streaming, but is not part of HTML5.

HDS stands for HTTP Dynamic Streaming and is Adobe’s format to deliver fragmented mp4 files (fMP4). HLS uses MPEG-2 Part 1, while HDS uses MPEG-4 Part 14 and Part 12.

Both formats are MPEG-based, so why should you care? Adobe, Microsoft and Transitions wrote an interesting white paper highlighting the advantages of fMP4 (HDS) over MPEG2-TS (HLS).

5. RTSP – Real Time Streaming Protocol

The Real Time Streaming Protocol (RTSP) is 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. Clients of media servers issue VCR-style commands, such as play and pause, to facilitate real-time control of playback of media files from the server. Mostly used for android devices.

Eg: rtsp://localhost:1987/live/myStream

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s