This project is an example of a Twilio Video application using advanced features to improve the experience for users connecting through it.
Rather than dropping a user straight into a room, they are shown a settings page that allows them to see and change their camera, check that their microphone is correct and working using the Twilio RTC Diagnostics library.
Ensuring that users understand the resources that they are using, and their connectivity, improves the expectations in a call and leads to fewer issues with getting the wrong camera or microphone, or being on mute.
- How to switch cameras in a video chat
- The open source Twilio RTC Diagnostics library
- Example WebRTC Diagnostics application
- The Twilio Video Preflight API
Because Video calls can be taken anywhere, providing privacy for your users is important. Using Twilio Video's processors, we can provide background blurring or background replacement.
- How to change the background in your Twilio Video calls with the Twilio Video Processors library
- Video Processors documentation
- The Video Processor source code
Much as it is hard to control your visual background, it can also be difficult to control background noise. With Twilio Video's Noise Cancellation we can improve the quality of every video call by removing unnecessary background noise.
To run this project you will need Node.js version 18 and a Twilio account (sign up for a free Twilio accout here). Once you have those, in hand, follow these steps:
-
Clone the repository from GitHub
git clone https://github.com/philnash/advanced-twilio-video.git cd advanced-twilio-video
-
Install the repositories
npm install
-
Copy the
.env.example
file to.env
cp .env.example .env
-
Fill in your Twilio Account Sid in
.env
. Create an API Key and Secret in the Twilio console and fill those both into.env
too. -
Run the project with
npm start
Note: some of the features in this example application require Group rooms. You may need to switch the default room type to Group rooms.