Copyright © 2022
Enables developers to provide custom, high-quality, real-time video. With client and server-side APIs, get power and flexibility.
As low as $0.003/minute/participant.
TRUSTED BY
Embed real-time voice and video with just a few lines of code.
Test out our sample below and see how easily you can get started.
Try the sample project above on Stackblitz
Full On-Premise
Private Cloud
Hybrid
or clone directly from GitHub and start playing.
Click the Preview!
Start Your Free Trial Account Today
If you have questions, want to start a free one month trial, or learn more about pricing, fill out the form and we will get back to you shortly.
// declare global variables
let vidyoConnector = null;
let meetingLink = document.getElementById('meetingLink');
let name = document.getElementById('name');
function onVidyoClientLoaded() {
window.VC = new window.VidyoClientLib.VidyoClient('', () => {
init();
});
}
async function init() {
try {
vidyoConnector = await VC.CreateVidyoConnector({
viewId: "renderer", // Div ID where the composited video will be rendered, see VidyoConnector.html;
viewStyle: "VIDYO_CONNECTORVIEWSTYLE_Default", // Visual style of the composited renderer
remoteParticipants: 8, // Maximum number of participants to render
logFileFilter: "debug@VidyoClient debug@VidyoSDP debug@VidyoResourceManager",
logFileName: "",
userData: 0,
constraints: {}
});
console.log("create success");
} catch (error) {
console.error('creating failed', error);
}
}
async function joinCall() {
try {
// create new room
let res = await fetch('https://vidyo-adhoc-zsdgxlqgkq-uc.a.run.app/api/v1/rooms', {method: 'POST'});
res = await res.json();
console.log(res);
const params = res.roomUrl.split('/join/');
const portal = params[0];
const roomKey = params[1];
await vidyoConnector.ConnectToRoomAsGuest({
host: portal, // HOST
roomKey: roomKey, //ROOM KEY
displayName: name.value,
roomPin: res.pin,
onSuccess: () => {
console.log(`vidyoConnector.ConnectToRoomAsGuest : onSuccess callback received`);
meetingLink.value = res.roomUrl;
},
onFailure: (reason) => {
console.error("vidyoConnector.Connect : onFailure callback received", reason);
},
onDisconnected: (reason) => {
console.log("vidyoConnector.Connect : onDisconnected callback received", reason);
}
});
} catch(error) {
console.log(error)
};
}
function endCall() {
vidyoConnector.Disconnect();
meetingLink.value = '';
}
Try the sample project above on GitHub
Adapts to users available bandwidth and device, utilizing Scalable Video Encoding (SVC) and Simulcast technologies.
Adaptive Video Layering Technology
High Quality Screen Sharing
Share a single app or entire screen simultaneously with video
Cross Platform
Consistent APIs and SDKs to rapidly build your video chat app on all major platforms
Customized Layouts
Customize multiparty layouts and compositions for your specific app needs
Wideband audio ensures you can be heard just as clearly as seen
Wide Band Audio
Always show active speakers on-screen during multiparty calls or customize the layout to meet your needs
Voice Activated Layouts
Multiparty Video
Scalable multiparty video calls including one-to-one and many-to-many
Firewall Traversal
Dynamically connect over all types of networking environments