
Amazon Chime is a communications service that lets users meet, chat, and place business calls inside and outside the organization using a single application. Developers can use the communications infrastructure and services that power Amazon Chime to add audio calling, video calling, and screen sharing capabilities directly to their applications using the Amazon Chime SDK.
Amazon Chime SDK offers several key benefits:
The Amazon Chime SDK offers a straightforward solution for setting up real-time communication components within a web or mobile application. The recent COVID-19 pandemic has resulted in a rise in the demand for video conferencing solutions. Video conferencing has now become a preferred method of communication for many businesses as well as customers. Setting up video conferencing functionality from scratch in a short time span is nearly impossible. That is why, solutions like Amazon Chime SDK, which offer plug-and-play solutions for adding real-time communication components, have been gaining more and more prominence.
The process of adding video and audio calling capabilities is extremely simple with Amazon Chime. Integrate the below-mentioned 3 libraries in your web and mobile applications and get started

{
"clientRequestToken": "crt",
"externalMeetingId": "em1",
"meetingHostId": "mh1",
"mediaRegion": "us-east-2",
"tags": [
{
"key": "K1",
"value": "V1"
}
]
}
{
"externalMeetingId": "em1",
"mediaRegion": "us-east-2",
"meetingId": "c5536c4f-6215-4ca7-84dd-bf3ee9f5b04f",
"mediaPlacement": {
"audioFallbackUrl": "wss://haxrp.m2.ue2.app.chime.aws:443/calls/c5536c4f-6215-4ca7-84dd-bf3ee9f5b04f",
"audioHostUrl": "22cd202955abdc76474d2f113755c6aa.k.m2.ue2.app.chime.aws:3478",
"screenDataUrl": "wss://bitpw.m2.ue2.app.chime.aws:443/v2/screen/c5536c4f-6215-4ca7-84dd-bf3ee9f5b04f",
"screenSharingUrl": "wss://bitpw.m2.ue2.app.chime.aws:443/v2/screen/c5536c4f-6215-4ca7-84dd-bf3ee9f5b04f",
"screenViewingUrl": "wss://bitpw.m2.ue2.app.chime.aws:443/ws/connect?passcode=null&viewer_uuid=null&X-BitHub-Call-Id=c5536c4f-6215-4ca7-84dd-bf3ee9f5b04f",
"signalingUrl": "wss://signal.m2.ue2.app.chime.aws/control/c5536c4f-6215-4ca7-84dd-bf3ee9f5b04f",
"turnControlUrl": "https://ccp.cp.ue1.app.chime.aws/v2/turn_sessions"
}
}
CreateAttendee API and BatchCreateAttendee API are used to create and add attendees to a specific meeting. CreateAttendee API can create 1 attendee per request, while BatchCreateAttendee API can create up to 100 attendees per request for an Amazon chime SDK meeting.
{
"Attendees": [
{
"ExternalUserId": "ExUser1",
"Tags": [
{
"Key": "K1",
"Value": "V1"
}
]
}
]
}
{
"Attendees": [
{
"AttendeeId": "attendeeId1",
"ExternalUserId": "externalUserId1",
"JoinToken": "joinToken1"
}
],
"Errors": [
{
"ErrorCode": "ERRCD1",
"ErrorMessage": "ErrorMessage1",
"ExternalUserId": "ExternalUserId1"
}
]
}
Code Documentation reference
const logger = new ConsoleLogger('MyLogger', LogLevel.INFO);
const deviceController = new DefaultDeviceController(logger);
// You need responses from server-side Chime API. See below for details.
const meetingInfo = /* The response from the CreateMeeting API action */;
const attendeeinfo = /* The response from the CreateAttendee or BatchCreateAttendee API action */;
const configuration = new MeetingSessionConfiguration(meetingInfo, attendeeinfo);
// you will use this meetingSession object for media accesses.
const meetingSession = new DefaultMeetingSession(
configuration,
logger,
deviceController
);
const messagingSession = new DefaultMessagingSession(configuration, logger);
const audioVideo = this.meetingSession.audioVideo; // audioVideo : AudioVideoFacade
const audioInputDeviceInfo = /* An array item from audioVideo.listAudioInputDevices */;
await audioVideo.chooseAudioInputDevice(audioInputDeviceInfo.deviceId);
const audioOutputDeviceInfo = /* An array item from audioVideo.listAudioOutputDevices */;
await audioVideo.chooseAudioOutputDevice(audioOutputDeviceInfo.deviceId);
const videoInputDeviceInfo = /* An array item from audioVideo.listVideoInputDevices */;
await audio Video.chooseVideoInputDevice(videoInputDeviceInfo.deviceId);
// You can pass null to choose none. Video capture will be stopped.
await audioVideo.chooseVideoInputDevice(null);
const audioElement = /* HTMLAudioElement object, e.g. document.getElementById('audio-element-id') */;
audioVideo.bindAudioElement(audioElement);
const observer = {
audioVideoDidStart: () => {
console.log('Started');
},
audioVideoDidStop: sessionStatus => {
// See the "Stopping a session" section for details.
console.log('Stopped with a session status code: ', sessionStatus.statusCode());
}
};
audioVideo.addObserver(observer);
audioVideo.start(); // Audio streaming started That’s all! Your application with secure video conferencing capabilities is ready to launch!
Throughout this blog, we've explored the strengths of the Amazon Chime SDK and how it empowers developers to build seamless, integrated video conferencing experiences. From setting up the SDK and integrating its features to ensuring a smooth user experience, we've covered the essential steps to harness its full potential. By leveraging Amazon Chime SDK, you can create a versatile and reliable video conferencing solution that meets your organization’s requirements and adapts to future growth.
Ready to transform your video communication capabilities? Check out our Application development services capabilities to learn how our expertise in building customized video conferencing solutions with Amazon Chime SDK can help you achieve your goals and elevate your collaboration efforts.
According to a study published by gigaom, Eighty-seven percent of remote workers experience a stronger sense of connection to their team and workflow through the use of video conferencing.

