Background
Instead of depending on a third-party provider, we will try to incorporate an open-source solution.
This Confluence page outlines the key factors to consider when evaluating OpenVidu and Jitsi for the integration of a video conferencing platform.
Both solutions have their strengths and considerations, and this guide aims to help you make an informed decision.
High-level Requirements
- The HCP will generate a unique link for the beneficiary
 - The link will be sent to the beneficiary via SMS.
 - Beneficiary can then join the meeting link via the browser.
 
Evaluation Criteria
1. Scalability and Performance
Both OpenVidu and Jitsi scale well for multiple parallel sessions.
OpenVidu
- Docker-based architecture for scalability.
 - Efficient handling of large-scale conferences.
 - Dynamic allocation of resources based on demand.
 
Jitsi
- Designed for scalability with the ability to handle a significant number of participants.
 - Optimized for WebRTC-based communication.
 
2. Ease of Integration
OpenVidu
- Comprehensive API for easy integration into custom applications.
 - Supports multiple programming languages.
 - OpenVidu has a RestAPI that can programmatically generate sessions and tokens.
 
Jitsi
- Simple integration via iFrame or API.
 
3. Security and Privacy
By default, WebRTC works only on https. For the video transmission to happen, SSL certification is a must.
OpenVidu
- End-to-end encryption.
 - Role-based access control.
 - Token-based authentication.
 
Jitsi
- Secure by default with TLS encryption.
 - Support for password-protected meetings.
 - Open-source and auditable for transparency.
 
4. User Interface and User Experience
OpenVidu
- Minimalistic UI for ease of use.
 - Customizable UI components for integration with existing platforms.
 
Jitsi
- Intuitive and user-friendly interface.
 - Support for additional features such as chat and screen sharing.
 
5. Customization and Extensibility
OpenVidu
- Extensible architecture for adding custom modules.
 - Customizable UI components.
 
Jitsi
- Open-source codebase allows for extensive customization.
 - Ability to add plugins and extensions.
 - Provides additional SDKs for mobile. This might be helpful in integration to CHO/FLW App later.
 
6. Community and Support
Both OpenVidu and Jitsi are open-sourced. It looks like Jitsi has a more active community.
7. Cost Considerations
Both solutions are
- Open-source
 - No licensing fees.
 
8. Documentation and Resources
Available for both platforms.
Notes on Setup
Jitsi
- Followed self-hosting guide and was able to setup Docker env locally on laptop.
 - Routing it via ngrok with https allowed starting meeting with audio and video.
 - On accessing the URl via browser other participants can join.
 - Challenges
- The first person who joins a link becomes the moderator. We should ensure that the HCP who initiates the meeting is the moderator.
 - VIDEO_URL/<any-meeting-link> works for setting up a meeting. We will have to ensure that meeting links are generated and stored and only valid links are accessible.
Else anyone can use our video conferencing server to create meeting sessions. - A lot of Jitsi branding everywhere. This must be tweaked or removed to include Piramal logos and branding.
This can be changed by editing the JS assets.// Example: Change the logo
DEFAULT_LOGO_URL: 'images/my-custom-logo.png',
// Example: Change the watermark
DEFAULT_WATERMARK_LINK: 'images/my-custom-watermark.png',
// Example: Change the colors
TOOLBAR_BUTTON_BACKGROUND: '#007ACC',
TOOLBAR_BUTTON_HOVER_BACKGROUND: '#005eaa', - Jitsi Meet doesn't natively support user authentication or token-based access control by default. Jitsi will have to be integrated with an external authentication system.