Video conference and text chat software development
By Polina S.
5 Russian government agencies and both major telecom operators are clients of imind.com. We developed a new version of their video conference and chat for businesses. Agencies meet there and telecom operators resell it to businesses under their brands. Read a reference from the client on Clutch — search for “Intermind”.
Features for video, audio, and text communication software
🎦 WebRTC videoconference
We develop for any number of participants:
- One-on-one video chats
- Video conferences with an unlimited number of participants
50 live videos on one screen at the same time was the maximum we’ve done. For example, Zoom has 100 live video participants, though it shows 25 live videos on one screen. To see the others, you switch between screens.
Some other functions: custom backgrounds, enlarging videos of particular participants, picking a camera and microphone from the list, muting a camera and microphone, and a video preview of how you look.
🎬 Conference recording
Record the whole screen of the conference. Set the time to store recordings on the server. For example, on imind.com we keep videos for 30 days on a free plan forever on the most advanced one.
Do not interrupt the recording if the recorder dropped off. In Zoom, if the recorder leaves, the recording stops. In imind.com it continues.
💻 Screen sharing and sharing multiple screens simultaneously
Show your screen instead of a video. Choose to show everything or just 1 application — to not show private data accidentally.
Make all video participants share screens at the same time. It helps to compare something. Users don’t have to stop one sharing and start another one. See it in action at imind.com.
☎️ Join a conference from a landline phone
For those in the countryside without an Internet connection. Dial a phone number on a wired telephone or your mobile and enter the conference with audio, without a video. SIP technology with Asterisk and FreeSWITCH servers powers this function.
💬 Text chat
Send text messages and emoticons. React with emojis. Send pictures and documents. Go to a private chat with one participant. See a list of participants.
✒️ Document editing and signing
Share a document on the conference screen. Scroll through it together, make changes. Sign: upload your signature image or draw it manually. Convenient for remote contract signing in the pandemic.
Create polls with open and closed questions. View statistics. Make the collective decision-making process faster!
In the broadcast mode, display a presentation full-screen to the audience, plus the presenter’s video. Add guest speakers’ videos. Record the whole session to share with participants afterward.
⌚️ Everlasting rooms with custom links
Create a room and set a custom link to it like videoconference.com/dailymeeting. It’s convenient for regular meetings. Ask participants to add the link to bookmarks and enter at the agreed time each time.
👥 User management
Assign administrators and delegate them the creation of rooms, addition, and deletion of users.
- One-time codes instead of passwords
- Host approves guests before they enter the conference
- See a picture of the guest before approving him
- Encryption: we enable AES-256 encryption in WebRTC
🎨 Custom branding
Change color schemes, use your logo, change backgrounds to corporate images.
🗣 Speech-to-text and translation
User speech is recognized and shown on the screen. It can be in another language for translation.
📺 Watch videos together online
Watch a movie or a sports game together with friends. Show an employee onboarding video to the new staff members. Chat by video, voice, and text.
📝 Subscription plans
Free plans with basic functionality, advanced ones for pro and business users.
Industries Fora Soft developed real-time communication tools for
- 👨💼 Businesses — corporate communication tools
- 🧑⚕️ Telemedicine — HIPAA-compliant, with EMR, visit scheduling, and payments
- 👨🎓 E-learning — with whiteboards, LMS, teacher reviews, lesson booking, and payments
- 👩🎤 Entertainment: online cinemas, messengers
- 🏋️ Fitness and training
- 🛍 Ecommerce and marketplaces — text chats, demonstrations of goods and services by live video calls
Devices Fora Soft develops for
- Web browsers
Chrome, Firefox, Safari, Opera, Edge — applications that require no download
- Phones and tablets on iOS and Android
Native applications that you download from AppStore and Google Play
- Desktop and laptop computers
Applications that you download and install
- Smart TVs
- Virtual reality (VR) headsets
Meetings in virtual rooms
🛠 What technologies to develop a custom video conference on
Basic technology to transmit video
Different technologies suit best for different tasks:
- for video chats and conferences — WebRTC
- for broadcasting to a big audience — HLS
- for streaming to third-party products like YouTube and Facebook — RTMP
- for calling to phone numbers — SIP
- for connecting IP cameras — RTSP and RTP
Freelancer or an agency that does not specialize in video software may pick the technology they are best familiar with. It might be not the best for your tasks. In the worst case, you’ll have to throw the work away and redo it.
We know all the video technologies well. So we choose what’s best for your goal. If you need several of these features in one project — a mix of these technologies should be used.
WebRTC is the main technology almost always used for video conferences though. This is the technology for media streaming in real-time that works across all browsers and mobile devices people now use. Google, Apple, and Microsoft support and develop it.
WebRTC supports VP8, VP9 and H264 Constrained Baseline profile for video and OPUS, G.711 (PCMA and PCMU) for audio. It allows sending video up to 8,192 x 4,320 pixels — more than 4K. So the limitations to video stream quality on WebRTC are the internet speed and device power of the end-user.
WebRTC video quality is better than in SIP-based video chats, as a study of an Indonesian university shows. See Figure 6 on page 9: Video test results and read the reasoning below it.
Is a media server needed for video conferencing software development?
For video chats with 2–6 participants, we develop p2p solutions. You don’t pay for the heavy video traffic on your servers.
For video conferences with 7 and more people, we use media servers and bridges — Kurento is the 1st choice.
For “quick and dirty” prototypes we can integrate third-party solutions — ready implementations of video chats with media servers that allow slight customization.
- p2p video chats
P2p means video and audio go directly from sender to receivers. Streams do not have to go to a powerful server first. Computers, smartphones, and tablets people use nowadays are powerful enough to handle 2–6 streams without delays.
Many businesses do not need more people in a video conference. Telemedicine usually means just 2 participants: a doctor and a patient. The development of a video chat with a media server is a mistake here. Businesses would have to pay for the traffic going through the server not receiving any benefit.
- Video conferences with a media server
Users cannot handle sending more than 5 outgoing video streams without lags now. People’s computers, smartphones, and tablets are not powerful enough. While sending their own video, they accept incoming streams. So for more than 6 people in video chat — each sends just 1 outgoing stream to a media server. The media server is powerful enough to send this stream to each participant.
Kurento is our first choice of media servers now for 3 reasons:
- It is reliable.
- It was one of the first media servers to appear. So it gained the biggest community of developers. The more developers use technology the faster they solve issues, the quicker you find the answers to questions. This makes development quicker and easier, so you pay less for it.
- Twilio bought Kurento technology for $8.5 million. Now Twilio provides the most reliable paid third-party video chat solution, based on our experience.
- In 2021, other media servers have smaller developers’ and contributors’ communities or are backed by not-so-big companies, based on our experience and impression. They either are not as reliable as Kurento or do not allow developing that many functions.
- It allows adding the widest number of custom features.
- From screen sharing to face recognition and more — we have not faced any feature that our client would want, not possible to develop with Kurento. To give developers this possibility, the Kurento contributors had to develop each one separately and polish it to a well-working solution. Other media servers did not have that much time and resources to offer the same.
- It is free.
- Kurento is open-source. It means you may use it in your products legally for free. You don’t have to pay royalties to the technology owner.
We work with other media servers and bridges — when not that many functions are needed, or it is an existing product already using another media server:
We compare media servers and bridges regularly as all of them develop. Knowing your needs, we recommend the optimal choice.
- Integration of third-party solutions
Third-party solutions are paid: you pay for minutes of usage. The development of a custom video chat is cheaper in the long run.
Their features are also limited to what their developers developed.
They are quicker to integrate and get a working prototype though. If you need to impress investors — we can integrate them. You get your app quicker and cheaper compared to the custom development.
However, to replace it with a custom video chat later — you’ll have to throw away the existing implementation and develop a custom one. So, you’ll pay twice for the video component.
We use these 3 -they are the most reliable ones based on our experience:
Write to us: we’ll help to pick optimal technologies for your video conference.
💵 How much the development of a video conference costs
You’re here — means ready solutions sold as is to integrate into your existing software probably do not suit you and you need a custom one. The cost of a custom one depends on features and their complexity. So we can’t say the price before knowing these.
Take even the log in function as an example. A simple one is just through email and password. A complex one may have a login through Facebook, Google, and others. Each way requires extra effort to implement. So the cost may differ several times. And login is the simplest function for a few work hours. Imagine how much the added complexity will influence the cost of more complex functions. And you’d probably have quite a lot of functions.
Though we can give some indications.
✅ The simplest video chat component takes us 2–4 weeks and costs USD 8000. It is not a fully functioning system with login, subscriptions, booking, etc. — just the video chat with a text chat and screen sharing. You’d integrate it into your website or app and it would receive user info from there.
✅ The simplest fully functional video chat system takes us about 4–5 months and around USD 56 000. It is built from the ground up for one platform — either web or iOS or Android for example. Users register, pick a plan, and use the system.
✅ A big video conferencing solution development is an ongoing work. The 1st release takes about 7 months and USD 280 000.
Reach us, let’s discuss your project. After the 1st call, you get an approximate estimation.