Background
Reading a lot of news articles such as the ones below, I am not surprised that people have changed their way of working, entertaining and living.
One of SSW’s clients in the online auction domain came to us and asked for upgrading their current online streaming platform to better serve their clients (vendors and individual bidders).
WebRTC
WebRTC is one of Google’s most famous open-source projects. WebRTC enables web applications to capture audio/video and exchange data between different browsers without an intermediary. Nowadays, WebRTC has become more and more popular as it opens the window for developers to build any online chat applications they want. If you see a real time communication feature on a website, chances are it is built using WebRTC.
Popular applications and streaming service using WebRTC
- Google Meet and Google Hangout
- Facebook Messenger
- Discord
- Wowza
- Agora
WebRTC is good but …
WebRTC is a fantastic library. However, in order to build a streaming service using plain WebRTC is a challenging task.
- WebRTC is based on peer-to-peer connection, when it scales to allow more attendants, the quality cannot keep up
- Learning curve is high
I found a good article on Agora’s website discussing the strength and challenges of using plain WebRTC. See this link.
Agora is good
We made a decision to use Agora as our streaming service provider and we used Agora’s next generation web SDK.
Demo
Create an account on Agora
Log into Agora console
Under feature’s generate a temporary token
Go to https://agorapublisher.z26.web.core.windows.net and add the query string as below
1https://agorapublisher.z26.web.core.windows.net/channel={channel-name}&&token={token}Go to https://agorasubscriber.z26.web.core.windows.netand add the query string as below
1https://agorasubscriber.z26.web.core.windows.net/?channel={channel-name}&&token={token}Have fun!

Figure 1: Agora Console

Figure 2: Agora Token

Figure 3: Agora demo publisher
Problem
What if there is no internet connection but we still want to stream and broadcast our voice? Can we use our phone signal to stream and let others around the world to hear us?
Yes! There is a solution for this scenario. In my next blog, I will show you how we tackle the problem and work out an awesome audio only solution in a no internet connection scenario.
Resources
- Github Repo for Agora demo