How to Create a Free Video Chat App with ZEGOCLOUD SDK
Published: 2022-12-02 08:19:37


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3hnicgxlaygxwzpaygxq.jpg)
The most expressive and interactive method of communicating face-to-face in real time is probably video chat. Prior to now, this technology was constrained by weak internet connectivity and underpowered video rendering hardware. As gear for video processing and internet connection rates continue to advance, these problems are quickly becoming obsolete.

Using the Video Chat SDK from [ZEGOCLOUD](https://www.zegocloud.com/), I'll demonstrate how to create a free video chat app in this article. In the part after this, we'll learn more about video chat programs.

## What is Video Chat?

Video chat is essentially a face-to-face virtual communication carried out over the internet using webcams and specialized software. Video data is received at and communicated back and forth between the two connected sites in this sort of communication.

This method was chosen because voice and text-based chat systems lack interactivity. Modern messaging and communication apps must now have the video chat feature because it has proven indispensable since its launch. For instance, popular social networking sites like Facebook, WhatsApp, and others have adopted and incorporated this technology into their social infrastructures.

There are various configurations of video chat. You can configure the one-on-one or group call modes, for instance. These social networks mostly provide these two set ups.

It can be incredibly hard to [build a video chat](https://www.zegocloud.com/blog/1-on-1-video-chat) functionality from scratch into an app. Consider creating a video chat for nothing. Quite intriguing, huh? Just stay put and discover how to use ZEGOCLOUD's Video Call SDK. The great thing about this SDK is that it scaffolds the user interface and network management for a basic video chat app so you don't have to worry about the implementation. All you need to do is call an existing endpoint after integrating the SDK. Your video chat program is prepared.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zrcoc0nmfb7cm7wan1b2.jpg)
## Types of Businesses That Can Use Free Video Chat

 You might be curious about the areas where free video chat apps are used. The fact is that video chat has a wide variety of practical uses.

The several applications for free video chat apps are listed below:

**1. Distance learning**

You can build virtual classrooms with top-notch video and audio output and transmission using [ZEGOCLOUD's Video Call SDK](https://www.zegocloud.com/product/video-call). Learning is made fun of and presented in a more alluring way with this kind of layout.

**2. Customer service via video**

There isn't much interaction in the conventional customer support paradigm, which uses phone calls, text-based chats, and email. A game-changer is the introduction of video chat to the customer support industry. You may better engage and satisfy your customers by responding to their needs promptly and efficiently by integrating video chat tools into your customer service procedures.

**3. Coverage of live events**

You can easily broadcast life events to a huge audience around the world with video chat apps. By including text chat, virtual gifts, polling, and other features, you can simply enhance audience participation and establish more of a physical connection with your audience.


**4. Telehealth offerings**

Real-time monitoring and updates are necessary for medical equipment. With the help of free video chat apps, we can simply meet this requirement. In this situation, ZEGOCLOUD Video Call SDK is a strong contender since it offers effective and experienced network administration as well as first-rate video transmission infrastructure.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6sn8tlel9c1f8ef5xf6b.jpg)

## How to Build a Real-Time Free Video Chat App

 
After talking for so long, it is time to create our free video chat application. We're going to create our free video chat software using ZEGOCLOUD's Video Call SDK, as I already mentioned.

### Video Call SDK introduction

Video Call SDK is a real-time video and audio component. It is robust and powerful and makes it easier for you to develop dynamic, dependable, and mobile, desktop, and web video call features more quickly.

The fact that you won't have to worry about network management or growing the application in the future while building video and audio applications on top of this SDK will be a major comfort for you.

### Why Use the Video Call SDK from ZEGOCLOUD?

You might be asking why you must develop your video call apps using ZEGOCLOUD's Video Call SDK. You be wowed by the features this SDK provides. In addition, the following are some capabilities of this SDK:

Read more:
[How to Create A Video Call App With Flutter CallKit](https://www.zegocloud.com/blog/flutter-callkit)
[How to Make Your Own Video Call App With React Native UIKit](https://www.zegocloud.com/blog/react-native-uikit)

**1. makes real-time video communications possible.**

You can quickly create a free video chat app that offers real-time video and audio communications with ZEGOCLOUD's Video Call SDK. No matter where your friends and family are located, as long as you're both using the same app, you can keep in touch.

**2. Maintain contact wherever you are.**

When it comes to location, ZEGOCLOUD gives you complete freedom. No matter where you are in the world or what country you are from, you can utilize any ZEGOCLOUD product.


**3. Improvement of the audio and video**

ZEGOCLOUD offers expert audio and video enhancing for higher media quality. For instance, if changing your voice is all you need, you can adjust it to your liking. Additionally, it has potent AI face beautifying tools that can be utilized to improve facial appearance.


### Preparation

 

* A ZEGOCLOUD developer account --[[Sign up](https://console.zegocloud.com/account/signup)] to get free 10,000 minutes/month.

* Code editor of choice.

* a PC that can play audio and video.

* Basic understanding of web development.

**Integration of the Video Call SDK**

 

Follow these instructions to include the Video Call Kit SDK into your project:


**Step 1: Login to the ZEGOCLOUD admin console.**

To access the [ZEGOCLOUD admin console](https://console.zegocloud.com/dashboard), sign in or create a free account.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nzz0d5ebpcwcti6s44ff.png)

**Step 2: Add a new project**
 
You can start making a free video chat app by selecting "**Create new project**". 


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/228ofbnimccyho75kn3r.png)

Click "**Next**" after selecting "**Video and voice**," which are UIKit's video chat components.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vmnw4n651cd0uh8zsris.png)

**Step 3: Enter the project name.**

Give your free video chat app a name.

You can only use letters, numbers, and underscores (_) to name projects..


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jwvswj5mzlnz2gu0d229.png)

**Step 4: Choose a UI build method.**

Choose "UIKit" from the drop-down menu under the project name. If you want more customisation possibilities, you can choose SDK-level build.

**Step 5: Choose a platform and download configuration files.**

Choose the platform for which you will build. Here, I'm going to go with "**Web**."


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bcmb2cigudwd2kgovplk.png)


**Step 6: Choose your video chat configuration.**

There are two main setups for video chats: one-on-one and group. Everything depends on what you require.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bmnrrt4b6yv0s431k4sh.png)


**Step 7: Download the project.**

To set up a project for testing, select "**Get configuration and integrate**".



![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/41opycwc6zu8gdq6ae65.png)


The following codes are visible when inspecting the downloaded page's source code:

```html

<html>

<head>
    <style>
        #root {
            width: 100vw;
            height: 100vh;
            }
    </style>
</head>


<body>
    <div id="root"></div>
</body>
<script src="https://unpkg.com/@zegocloud/zego-uikit-prebuilt/zego-uikit-prebuilt.js"></script>
<script>
window.onload = function () {
    function getUrlParams(url) {
        let urlStr = url.split('?')[1];
        const urlSearchParams = new URLSearchParams(urlStr);
        const result = Object.fromEntries(urlSearchParams.entries());
        return result;
    }


        // Generate a Token by calling a method.
        // @param 1: appID
        // @param 2: serverSecret
        // @param 3: Room ID
        // @param 4: User ID
        // @param 5: Username
    const roomID = getUrlParams(window.location.href)['roomID'] || (Math.floor(Math.random() * 10000) + "");
    const userID = Math.floor(Math.random() * 10000) + "";
    const userName = "userName" + userID;
    const appID = 1470844513;
    const serverSecret = "9ea20e1d409d7777ced52f9023f3e9af";
    const kitToken = ZegoUIKitPrebuilt.generateKitTokenForTest(appID, serverSecret, roomID, userID, userName);

    
        const zp = ZegoUIKitPrebuilt.create(kitToken);
        zp.joinRoom({
            container: document.querySelector("#root"),
            sharedLinks: [{
                name: 'Join as a host',
                url: window.location.origin + window.location.pathname + '?roomID=' + roomID,
            }],
            scenario: {
                mode: ZegoUIKitPrebuilt.VideoConference,
            },
                
           	turnOnMicrophoneWhenJoining: true,
           	turnOnCameraWhenJoining: true,
           	showMyCameraToggleButton: true,
           	showMyMicrophoneToggleButton: true,
           	showAudioVideoSettingsButton: true,
           	showScreenSharingButton: true,
           	showTextChat: true,
           	showUserList: true,
           	maxUsers: 2,
           	layout: "Auto",
           	showLayoutButton: false,
         
            });
}
</script>

</html>

```


## Run a demo.

 

Congratulations! You've successfully built your first free video chat app. It's now time to test our app.

 
**1v1 video chat**


This configuration file for 1-V-1 video chat:

```js

{
           	turnOnMicrophoneWhenJoining: true,
           	turnOnCameraWhenJoining: true,
           	showMyCameraToggleButton: true,
           	showMyMicrophoneToggleButton: true,
           	showAudioVideoSettingsButton: true,
           	showScreenSharingButton: true,
           	showTextChat: true,
           	showUserList: true,
           	maxUsers: 2,
           	layout: "Auto",
           	showLayoutButton: false,
           	scenario: {
           		mode: "OneONoneCall",
           		config: {
           			role: "Host",
         		},
         	},
         }

```

You can confirm if the configuration file is for 1V1 setup by checking the mode inside the scenario parenthesis, as shown in the code below:

```js
    scenario: {
           		mode: "OneONoneCall",

```

**Group video chat**


This configuration file for group video chat:


```js

{
           	turnOnMicrophoneWhenJoining: true,
           	turnOnCameraWhenJoining: true,
           	showMyCameraToggleButton: true,
           	showMyMicrophoneToggleButton: true,
           	showAudioVideoSettingsButton: true,
           	showScreenSharingButton: true,
           	showTextChat: true,
           	showUserList: true,
           	maxUsers: 50,
           	layout: "Grid",
           	showLayoutButton: true,
           	scenario: {
           		mode: "GroupCall",
           		config: {
           			role: "Host",
         		},
         	},
         }

```


Group video chat app scenario mode code:


```js
	scenario: {
           		mode: "GroupCall",

```

<iframe width="821" height="344" src="https://www.youtube.com/embed/Z_jH1MP4ih8" title="Video Chat Web Demo" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

## Conclusion

 

As long as technology keeps improving, video chat feature will become more and more popular. We were able to develop a free video chat application using ZEGOCLOUD's Video Call SDK.

 

The sample [demo source code](https://github.com/chigozz/ZEGOCLOUD-1v1-Video-Call-Demo) in this post is available for download if you're interested in creating free video chat applications.

 

You can always reach out to our [technical support](https://www.zegocloud.com/developers/support) team anytime if you have any questions.

 

**Read More**

 



* [How To Use The Live Video Call API To Build A Video Call App](https://www.zegocloud.com/blog/live-video-call-api)

 



* [ZEGOCLOUD UIKit for Developers](https://www.zegocloud.com/developers/uikits)