Frontend Development 5 min read

Choosing the Right Live Streaming Solution: From Flash to MPEG‑DASH and WebRTC

This article compares various live streaming approaches—plugin-based (Flash, WMP, Silverlight) versus plugin-free HTML5 solutions like MPEG‑DASH, HLS, and WebRTC—detailing their standards, history, supporting technologies such as MSE, CMAF, and offering resources for implementation with JavaScript frameworks.

Tencent IMWeb Frontend Team
Tencent IMWeb Frontend Team
Tencent IMWeb Frontend Team
Choosing the Right Live Streaming Solution: From Flash to MPEG‑DASH and WebRTC

What Options Are Available? A Quick Overview

Note: The article does not contain any specific code for the technologies discussed.

Besides Flash, there are many alternatives; MPEG‑DASH appears to be a good choice.

Classification by Independence and Exhaustiveness

Live streaming solutions can be divided into plugin-based and plugin-free approaches.

Plugin-based: Common options include Flash, Windows Media Player, and Silverlight, and some developers also create custom streaming plugins.

Plugin-free: HTML5 solutions such as WebRTC, MPEG‑DASH, and HLS.

MPEG‑DASH (Dynamic Adaptive Streaming over HTTP)

MPEG‑DASH is an international standard for HTTP‑based adaptive streaming.

The MPEG‑DASH technology is led by the MPEG organization:

Work on DASH began in 2010; it became an International Standard Draft in January 2011, an International Standard in November 2011, and was published as ISO/IEC 23009‑1:2012 in April 2012.

HLS/HDS/MSS

Apple, Adobe, and Microsoft each implement their own HTTP‑based adaptive streaming solutions (HLS, HDS, MSS); HLS is relatively more widely adopted.

WebRTC (Web Real‑Time Communication)

WebRTC is an API enabling browsers to conduct real‑time voice or video communication; it was open‑sourced on June 1, 2011 and, with support from Google, Mozilla, and Opera, became a W3C Recommendation.

simpleWebRTC: https://simplewebrtc.com/

WebSocket + Canvas + AudioContext

For details, see Jerry Qu’s article “HTML5 Video Live Streaming (Part 2)”.

Audio support issues mentioned can be addressed using AudioContext, AudioBuffer, and related APIs.

Other Related Information

MSE (Media Source Extensions)

This specification extends HTMLMediaElement to allow playback of media streams generated by JavaScript, enabling adaptive streaming and time‑shifted playback for various use cases.

CMAF (Common Media Application Format)

In February 2016 at the 114th MPEG meeting in San Diego, major companies endorsed the Common Media Application Format (CMAF) proposal, which defines a segmented media delivery based on the ISO Base Media File Format (ISOBMFF) and other MPEG standards, becoming a universal MPEG media format.

Related CMAF article: “MPEG‑CMAF: Threat or Opportunity?”

Comparison article: “MPEG‑DASH vs. Apple HLS vs. Microsoft Smooth Streaming vs. Adobe HDS”.

Reference DASH client: http://dashif.org/reference/players/javascript/1.4.0/samples/dash-if-reference-player/

Available JavaScript framework: https://github.com/Dash-Industry-Forum/dash.js/

live streamingadaptive streamingHTML5WebRTCMPEG-DASH
Tencent IMWeb Frontend Team
Written by

Tencent IMWeb Frontend Team

IMWeb Frontend Community gathering frontend development enthusiasts. Follow us for refined live courses by top experts, cutting‑edge technical posts, and to sharpen your frontend skills.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.