Adding videoconference to web and mobile apps 🔗
Video Conference or Live Streaming
I) Live Streaming 🔗
The videostreaming is an unidirectional platform that allows the retransmission of multimedia files (audio or audio and video) through Internet, from a place of emission to different places of reception. The video streaming is ideal for the retransmission of all kinds of events live to any part of the world and the playback can be stored for later viewing.
II) VideoConferences 🔗
On the other hand, we have audiovisual equipment for the development of videoconference. A two-way platform for connecting live video between different people in different places over the Internet. Videoconferencing tools allows visual communication between a group of people from anywhere in the world. It is a multipoint or point-to-point system ideal for business meetings.
You can choose between P2P or Media Server:
a) P2P: connect your users directly between them 🔗
This is a quick and cheap solution, as the need of a server side managing the media streams is removed from the equation. It has a lot of limitations though, especially in how big your videoconferences can get. Each user has to send their video to every other user in the call, and must receive a direct video stream from every one of them. This way the amount of media streams grows exponentially. More than 3 or 4 users per videocall usually end up in a rather unfortunate user experience. Besides that, the lack of a central node for controlling your calls means that you cannot perform such useful tasks as call recording or video forwarding.
And perhaps the worst thing about this option is the fact that it does not release you from the use a media routing server. Many times your clients will be located behind firewalls or complex networks, and that makes the use of TURN servers mandatory. They act as a relay server to connect your clients whenever a direct connection is not possible, and that may happen pretty frequently.
b) Media Server: route every video stream through a server 🔗
This is the most versatile solution. Using a media server to route your clients video streams expands every possible aspect of real-time video to a higher level (at the expense of having to maintain another service in your stack, of course). But as we stated before, dispensing with a media server is not a viable option in many use cases.
Live Streaming
Video Conferences
When to use live streaming
Live streaming technology enables high quality video to be transmitted to tens of thousands of people in near real time. Keep in mind that the high quality of video produces a higher latency with respect to video conferences. In addition to this, live streaming platforms allow viewers to interact with their videos long after their live event is over.
You should be using these tools for:
- You want a versatile solution for a larger audience
- You want simplicity for the viewer
- You want production level quality
You shouldn't be using these tools for:
- Face to face meetings
- Create live events with less than one second of latency
When to use video conferences
Videoconferencing tools are useful to set internal or external meetings and calls between one-on-one or small groups of people in multiple location. As it is a two-way communication, it allows an active interaction between the participants with hardly any audio and video delay. In addition, this type of tools allow you to communicate in a clearer and more consistent way to your work team. In turn, participants will have the opportunity to ask questions and provide feedback in real time.
You should be using these tools for:
- One-on-One or groups meetings
- Active interaction between participants
- Low video and audio latency
You shouldn't be using these tools for:
- Sending a stream to more than a few dozen people
- Creating high quality live video
Apps or Development Platforms
The next step, once you have decided to use Video Conferences or Live Streaming, is to choose which option adapts to your needs:
I) Standalone third-party application 🔗
Your needs may be met simply by using a third-party application as a non-integral solution, detached from your software core. Don't underestimate the most direct solution: if your user requirements allow the use of Skype, Hangouts, Periscope or YouTube Live to hold some meetings or to emit events, that's for sure the cheapest and easiest way to get real-time videocalls or retransmission in your business.
As a service
Live Straming Apps
Video Conferences Apps
On premises
Video Conferences Apps
II) Software as a Service 🔗
This can be a recommended option if: a) you can afford it and b) you are allowed to outsource the service. Besides, the video conference platforms usually support both P2P and routed videocalls and also bring more advanced features pretty useful for companies such as programmable SMS or phone calls, SIP integration and so on.
Streaming Companies
Video Conferences Companies
III) On-Premises Software 🔗
Video Conferences Open Source
Video Conferences Closed Source
Streaming Open Source
Streaming Closed Source
Decision tree
OpenVidu
Once we have learned the differences between live streaming and video conferences and its subcategories, we will be able to clarify what openvidu is.
First of all, OpenVidu is an on premises open and closed source video conferences platform. This means that OpenVidu is an OpenSource project licensed under Apache License v2 and you can use it for free. However, OpenVidu Team have developed OpenVidu PRO which consists of different modules working over OpenVidu Community Edition (OpenVidu CE).
And secondly, OpenVidu offers as a service external app videoconference (call.openvidu.io) and on premises external app videoconference (OpenVidu Call).
