Since the COVID-19 outbreak, video conferencing and live streaming have boomed, with many services being forced to move online.
The pandemic has seen classes, yoga lessons, personal training, health assessments and consultations being delivered via Zoom, Google Meet or similar (A notable exception is Skype, who isn’t dominating this list).
As a result of this, we’ve seen an increase in new requests from businesses for their own solutions that are targeted, user-friendly and can be monetised by providers rather than just jumping on a Zoom call.
Let’s explore some solutions for creating an app with live video conferencing and live streaming.
Firstly, let me clarify the difference between the two:
- Live Video Conferencing – two-directional (2-way audio) live video communication between multiple people.
- Live Video Streaming – one-directional (1-way audio) live video communication to a larger audience.
Live streaming (using HLS/DASH format) can be relatively easier to implement and cheaper to run in comparison to live video conferencing and has the added benefit of easy debugging.
Now, assuming you are after a video conferencing solution, we would generally be looking into two options to develop a web/mobile app:
- Using an existing video engine, to handle the call like Temasys, Zoom or Twilio (yes, you need a SaaS to build a SaaS) or;
- Going with an open-source API engine to handle it all like WebRTC (Massive Applications use WebRTC such Google meet, Discord, Houseparty and Facebook messenger).
We would recommend going with the first option at the start depending on budget and available resources to develop a video conferencing app, such as live yoga classes, workshops, or Telehealth.
It is worth mentioning that the use of an existing platform is only evident in the backend; the end-user (or customer) won’t know what type of infrastructure is being used for video call management and streaming.
For example, your app’s users don’t have to sign up for Zoom, nor do they see any Zoom link or invitation. The use of an existing video conference platform is entirely in the backend.
We select the best solutions based on project objective, tech stack requirements (e.g: native app, react-native or Flutter), scalability requirements, pricing/budget, the expected number of participants in each call, and the number of providers (hosts) who will be running different sessions.
For example, Zoom has multiple plans that offer 100 up to 1000 participants per provider. Pricing varies of course, and we would discuss the best plan usually in the creative session and planning phase.
Temasys is built on top of WebRTC and supports features like interactive video, text chat, file sharing, screen sharing, and recording.
Twilio, on the other hand, can be much cheaper at the start, however, the maximum number of participants is 50 per provider. It is also built on top of Webrtc.
Once the platform’s user base grows in terms of the number of providers and participants per session, then it can be time to look into a custom solution using an open-source option like WebRTC or Jitsi and build it from scratch.
The difference here are maintenance and infrastructure, which requires more hours to develop and test, and the support plan will be much higher as more efforts are required for cloud server management, continuous support and security maintenance. Maintaining everything is a big job that requires lots of resources. We usually don't recommend this option to start with.