Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Audio/Video live streaming between two browsers, which technologies? [closed]

I'm searching for the best open source technologies to use to implement a bidirectional audio/video communication between two browsers.
For now I have unearthed these tracks:

  • WebRTC W3C spec and an Ericsson's implementation
  • Red5 and the BigBlueButton implementation as an example
  • Cumulus A Red5 implementation of Cirrus
  • HTML5 and his many new features (but not before 2014-2015 aparently)
  • Maybe some Jabber/Speex kind of implementation that I'm missing

Is there something I'm missing ?
What can be the best solution to use ?

Also (to be more precise), I'd like to implement this feature in my application developped using Django/Python.

like image 243
Pierre de LESPINAY Avatar asked Dec 14 '11 09:12

Pierre de LESPINAY


People also ask

What is WebRTC technology?

WebRTC (Web Real-Time Communication) is a technology that enables Web applications and sites to capture and optionally stream audio and/or video media, as well as to exchange arbitrary data between browsers without requiring an intermediary.

How do browsers stream videos?

How does streaming work? Just like other data that's sent over the Internet, audio and video data is broken down into data packets. Each packet contains a small piece of the file, and an audio or video player in the browser on the client device takes the flow of data packets and interprets them as video or audio.

What is streaming live audio video?

What is live streaming? | How live streaming works. Live streaming is the delivery of video or audio data to an audience over the Internet as the data is created.

Is WebRTC only for browsers?

WebRTC (Web Real-Time Communication) is a free and open-source project providing web browsers and mobile applications with real-time communication (RTC) via application programming interfaces (APIs).


1 Answers

The hardest question is what you should use on the client side to capture and stream video from the user's webcam. For that, you have relatively few options, since whatever you use has to be widely supported by modern browsers, whereas you can do whatever you want on your own servers.

There are three general approaches you can take: use HTML5, use an existing plugin technology, or create your own plugin.

The third is probably the most difficult, and I don't recommend it. You'd need to maintain at least five different versions of your plugin (one for each major browser), and users would have to install it.

For the second option, there are three major plugin techologies now that ActiveX is dead: Flash, Silverlight, and Java applets. I'd advise you away from Silverlight, as it's not exactly portable.

That leaves you with Flash, applets, and HTML5 as your choices. Of these, Flash is the most widely used—but it has its disadvantages and the world is moving away from it. HTML5 is the wave of the future, and although the standard won't be finished until 2014, it's not expected to change (Last Call was in May 2011) and the major browsers already support much of it—though apparently not yet the WebRTC API, though I'm sure it'll be in Firefox and Chrome soon.

like image 117
Taymon Avatar answered Sep 19 '22 19:09

Taymon