Product Overview

The SignalWire Video API is a powerful video conferencing tool (or rather, a set of tools) built on an MCU (Multipoint Control Unit) that handles all of the muxing in the cloud. This ensures only a single stream is sent to each participant, resulting in low latency, high quality, and the same video stream for every single person.

The REST API handles the creation and maintenance of tokens, rooms, sessions, and recordings. While there are cURL examples listed for each API, there are also examples of how to wrap the same HTTP request in other popular languages so that it can be easily integrated into an application!

The Realtime Node.JS Serverside SDK listens for events from the video room (such as member.joined or recording.started) and allows you the ability to execute actions based on those events. For example, you might change the layout using the serverside SDK when a member joins or download a recording when the recording stops.

The Javascript Client SDKs (v2 and v3) are made to turn your browser into a real-time media engine letting you make audio/video calls to phone numbers, SIP endpoints, and other browsers. The V2 version is ideal if you need to dial PSTN numbers or SIP endpoints, as V3 does not have this yet. V3 is ideal if you want to build web pages for streaming/conferencing with audio or video.

Programmable Video Conferences offer the ability to build advanced customized rooms with NO code! You can then easily embed this directly into your existing websites and applications.

Common Video API FAQ

Question

Answer

Does SignalWire support RTMP?

Currently, the Video API supports RTMP via the play method, API reference here. RTMP out is not currently supported.

Is SignalWire video HIPPA compliant?

Yes! You control access to video conferences via JWT tokens, recording is disabled by default and must be enabled manually, and recordings can be deleted from SignalWire.

Can we incorporate chat?

Yes! When building your website you will have to generate a unique token for the video room and the chat room, but both can exist on the same page.

How can we define user permissions?

You define a user's permissions when you generate their access(JWT) token. See: room_tokens api endpoint here

Can we programmatically create rooms/control attendee permissions?

Yes, please check out the full api reference here

How long can room names be?

Room names can be up to 100 characters, but you should avoid using "/" in room names.

Can I use video filters?

There is no native support for this at the moment, but you can certainly implement it yourself using the concept of video overlays!

Do video tokens expire?

No, by default all tokens will last indefinitely. You can alter the lifetime of your tokens using a variety of parameters, more detail here

Why do users' cameras briefly activate when joining while muted?

SignalWire enumerates over all devices and 'checks' the devices where permissions allow. No video/audio data is transmitted during this test

Can users be blocked by IP address?

Not at the SignalWire/Token level - you would have to block them from your website/application.

Are the JWTs signed or encrypted?

The JWTs are signed already and are secure. Encryption cannot be implemented on the user-end without causing problems as SignalWire would then need to decrypt them.

Is the Video API encrypted?

Yes, it is encrypted through HTTPS and SRTP. WebRTC products are required to be encrypted!

Where are recordings stored?

Video Room recordings can be found in the Video Rooms tab on the lefthand sidebar within the Room Recordings tab.

https://example.signalwire.com/video_recordings

How can recordings be downloaded/deleted?

Video room recordings can be deleted or downloaded via the portal in the video recordings section or via the API.

What is considered a participant?

Any new member in the room - this could be a person who joined or a screen being shared.

Are Programmable Video Conferences customizable?

Yes! With Programmable Video Conferences, you can now change the background color, foreground color, primary color, success color, negative color, and switch from light mode to dark mode. See a demonstration in our Programmable Video Conferences article.

Can you record and screen share in a Programmable Video Conference?

Yes! Our new Programmable Video Conferences allow for recording, screens sharing, moderator/guest access, room previews, and more, all with no code required. If you need further customizations, you can write custom code on top of the pre-built room with ease.

Do Programmable Video Conferences have automatic recording?

Yes, you can choose to start recording as soon as the room starts in the settings for Programmable Video Conferences. If you do not select this, moderators will still have the ability to manually start and stop recording at their own discretion. Guests will not have this ability.

Sign Up Here

Get started by creating a SignalWire account and space here.

Please feel free to reach out to us on our Community Slack or create a Support ticket if you need guidance!


Did this page help you?