In the last four months, we’ve:
- Added new capabilities to our Video Conferencing products
- Launched a “low-code” approach to embedding video conferences into any web app
- Shipped the first version of our IP Message Bus...for Chat, yes, but way more, too.
Embeddable Video Conferencing Widgets
You can now configure and create embeddable video conference rooms directly from your SignalWire Space, so you can embed video conferencing features into any webpage or app with a single snippet of code.
Super quick tutorial:
When logged into your space, click on the video section:
If you have no existing video rooms running in your space, you’ll see a screen like this. Create your video room.
This will take you to the video room settings page.
From here you can name the Room, choose between 720p or 1080p for video quality, set the max number of simultaneous participants (1-300), toggle automatic room recording on/off, and choose from one of 12 pre-configured video tile layouts.
Really? You can do that many layouts? Yes.
On the same Room Settings screen, configure the optional room access settings (or leave them unset if you prefer).
- Set the dates and times when this video conference room opens and when it closes
- Set a cut off time for new participants to join
- Set a max amount of time (in seconds) a member can be in the room before they’re automatically removed.
Once you've configured the settings and saved them, you’ll land on a page with a summary of these settings and the option to Embed Video Room.
Clicking that will pop up a modal window with two embed Codes: One for Moderators and one for Guests.
Participants who join the video conference through a page with the Moderator room embedded will be able to mute and unmute other participants, turn their video on and off, and eject them if necessary.
Participants who join through a page with the Guest room embed will have the standard video conferencing options, but no moderator controls.
Find more info in the docs.
Integrated after much popular demand, Subprojects are now live for all SignalWire Spaces.
With Subprojects, you can segregate billing and consumption for up to 1000 subprojects.
So say you have multiple customers, and you’d like to bill each of them for the messages, voice minutes, video conferences, and phone numbers they use. Subprojects.
OR say you need a way to track each customers' consumption for your own accounting purposes. Subprojects.
You can create Subprojects programmatically through our SDKs or manually through your SignalWire Space.
IP Messaging Bus / Chat
The first version of SignalWire’s IP Message Bus is exactly as its name suggests: an IP Message Bus you can use to send and receive any JSON-serializable object.
The most obvious use case here is Chat…specifically: augmenting a video or voice conferencing app you build on SignalWire with chat.
But given the basic primitives here, there are less-obvious use cases here, too.
Here are just a couple we’ve seen so far:
- Securely send real-time feed of health biometrics from a patient’s wearables and display them on the clinician’s side of a telemedicine call
- Overlay play-by-play stats during a video watch party for a live sporting event
We’ll do a deeper dive into the ins-and-outs in a future post, but for now, here’s our docs on getting started with a simple chat demo.
Third party video playback and video room action previews come to the SDKs
Video playback inside a video conference room is now available in video rooms when the room token is generated with room.playback permission enabled. With room.playback, moderators can play, pause, and stop a video stream via RTMP, HLS, or MPEG-DASH within a video conference.
Video Room Action Previews. Instead of a static thumbnail of a video room, Room Previews let you generate a video clip that previews the action, so your customers to get a sense for the conversation dynamics and who’s involved without having to join the room. This preview can be shown in place of a static thumbnail in a list of active rooms.
New Sample Code + Mini-Apps to help you build faster:
- Example code for implementing a typical "test your camera and mic" page before joining the video conference.
- A step-by-step guide to using the Video Conferencing SDK in mobile apps with React Native, complete with demo on GitHub.
General SDK improvements and simplifications
In an effort to simplify methods and align terminology between the JS and API SDKs:
- roomSession object replaced separate functions createRoomObject and joinRoom
- setMicrophoneVolume and setSpeakerVolume became setInputVolume and setOutputVolume
- createScreenShareObject became startScreenShare
- the hideVideoMuted and showVideoMuted properties of RoomSession were condensed to setHideVideoMuted
- timestamp properties became Date objects
All of this shipped in the last 4 months, and there's a lot more coming we're not yet ready to talk about. For now, think of your favorite SOON meme from 2014 or 2015. We find that helps in some cases.