1

I am a developer who is still learning . I want to design an app which can allow multiple people to have a video conference/chats simultaneously something like zoom . I know i can design native apps like specific for Android as well as iOS but I am still learning Android development and have no idea about iOS code .I searched and found that we can have hybrid apps having React,Node.js or with Angular.js and they work on different platforms .But as I'm a newbie I need suggestions as well as guidance .what I'm expecting in my app are following things :

  • Should support all video resolutions and audio quality, should work in low and high network scenarios
  • Should be low on usage of power/ processor
  • Should not have any external hardware dependency
  • Should work on any device
  • Should have chat option during conference, even the multi people conference
  • Should have sign-in and non-sign-in options to join a conference
  • Can be browser and/or app based interface
  • Should have encrypted network communication
  • Should have audio/ video recording feature
  • Should have screen/file sharing capabilities
  • Should allow audio to close captioning during chat (multilingual)
  • Should have capabilities to host multiple concurrent conferences having multiple participants in each conference I know its a tedious task to involve everything I discussed but I need guidance how to do this .

I have already told my expectation so now I want to know what steps I need to do so ,How to start as well as where to start ,what language/library I should choose ,whether having a hybrid app be a good idea or should I go for native apps .As I have earlier said I am a learner so I am going to learn each and everything to get my project done ,so whether its react or node or angular or whatever experienced developer are going to suggest/guide here .I know my question may look broad or even vague but still I am asking only because I see stack-overflow as a group of supportive accomplished coders .Hope you guys will help me in getting my project done .Thank you !

Shashi
  • 700
  • 1
  • 7
  • 15

2 Answers2

1

OK then you have got much work to do. I will point you to some references which should give you a good start. I will try to keep this as short as possible.

As you mentioned, WebRTC is the way to go.

With WebRTC, you can add real-time communication capabilities to your application that works on top of an open standard. It supports video, voice, and generic data to be sent between peers, allowing developers to build powerful voice- and video communication solutions. The technology is available on all modern browsers as well as on native clients for all major platforms.

This blog explains how WebRTC functions in details - https://medium.com/@anto.christo.20/understanding-web-real-time-communication-webrtc-d4cec5a43f2f

This blog explains how to build peer2peer video calling in android - https://medium.com/@anto.christo.20/understanding-web-real-time-communication-webrtc-d4cec5a43f2f

https://webrtc.org/ also contains lot of headstart material including sample code.

Once you have done this you can add other features on top of it.

Now, this will take care of peer2peer but if you want o build a multi-user functionality from scratch there is some extra work required as mentioned in the answer - how to build multi-user video chatting web app using webRTC, node.js and socket.io

Jitesh Shivnani
  • 363
  • 1
  • 9
0

Ant Media fulfills all these requirements and provides an integral solution to develop a video conference application. With Ant Media,

Compatibility with all video resolutions and audio quality: Ant Media offers adaptable bit rate transmission configurations and audio quality to guarantee an optimal audio and video experience according to network conditions.

It works in high and low network scenarios: Ant Media's adaptive transmission technology adjusts the quality of the video dynamically according to the available network bandwidth, which provides a fluid experience even in challenging network conditions.

No dependency on external hardware: Ant Media utilizes the standard API of WebRTC, which eliminates the need for external hardware dependencies.

It works on any device: the Ant Media solution is based on a browser and is compatible with various platforms, allowing users to join conferences from any device with a modern web browser.

Chat option during the conference: Ant Media provides an integrated chat function, which allows participants to communicate through text messages during conferences with several people.

conference: Ant Media allows the securing of the streams and allows both registered and anonymous users to join the conferences, providing flexibility to the participants.

Browser-based interface and/or application: Ant Media offers a browser-based interface, but also provides an SDK and API that allow you to create custom applications for various platforms, including mobile applications.

Audio/video recording function: Ant Media provides recording capabilities, allowing conferences to be recorded for future reference or archive purposes.

Capabilities to share screens/archives: Ant Media admits functionalities to share screens and files, allowing participants to share their screens or specific files during conferences.

Hosting multiple simultaneous conferences with multiple participants: Ant Media is designed to manage multiple simultaneous conferences with numerous participants in each conference, providing scalability and solidity.

Ant Media's feature-rich platform, extensive documentation and support for developers can guide you through the process of creating a videoconferencing application that meets all these requirements.

Usama
  • 159
  • 1
  • 13