The Twilio Programmable Video team is excited to announce that the Track Subscription API is now generally available. Before this release, video participants were automatically subscribed to all tracks. Now, developers can define which participants receive which tracks and control dynamically what end-users see and hear. This new API is available in Group Rooms, Twilio’s solution for multiparty video conferencing.
In this post we outline how we’ve improved the Group Rooms subscription model and share how to get started with the Track Subscription API.
To date, Group Rooms have enforced a subscribe-to-all model. This means that participants automatically subscribe to all the tracks and receive all the audio and video information published to the Room without the choice of opting-out. While this works for most collaboration applications, there are situations where there is an opportunity to provide improved participant experiences. These include:
- Subscribe-to-one: Participants subscribe only to a presenter’s tracks. …
We've seen a video chat built in React on this blog before but since then, in version 16.8, React released Hooks. Hooks let you use state or other React features inside functional components instead of writing a class component.
In this post we are going to build a video chat application using Twilio Video and React with only functional components, using the
What you'll need
To build this video chat application you will need the following:
Once you've got all that, we can prepare our development environment.
So we can get straight to the React application, we can start with the React and Express starter app I created. Download or clone the starter app's "twilio" branch, change into the new directory and …
We are thrilled to announce that the Network Bandwidth Profile API is now available via Public Beta: a Programmable Video API designed to improve the quality of experience in Group Rooms. Before this release, video bandwidth was split equally between tracks, which meant that lower and higher priority tracks received the same treatment. Now with this release, developers can specify how the available network bandwidth is allocated, reallocate bandwidth to higher priority tracks, protect audio quality, and optimize battery and network resources consumption.
Why a Network Bandwidth Profile API?
Programmable Video Group Rooms are based on an SFU (Selective Forwarding Unit) architecture. This means that participants publish audio and video as independent tracks to the SFU server, which in turn routes them to the rest. Hence, the number of subscribers tracks per participant grows as N-1 where N is the total number of participants.
The SFU can control the quality …
A few months ago we announced Twilio Programmable Video Network Quality API: a simple mechanism enabling end-users to be notified, in real-time, about their network quality using a 1-to-5 scale as a measure. Our developer community is incredibly important to us; we have been working hard to address the feedback you’ve provided since the launch. Today, we are thrilled to announce an enhanced version of the Network Quality API. Based on your feedback, we’ve released new features that enable broader quality monitoring and diagnostics.
Before delving into the details of these new features, we’d first like to share with you the feedback that influenced these updates. We will then outline what has changed and how to use these enhancements in your work.
Developer Feedback on Programmable Video Network Quality API
To explain why we’ve implemented these new features, we’d like to recap what we learned from our developer community: …
Prerequisites to a Angular and ASP.NET Core Video App
You’ll need the following technologies and tools to build the video chat project described in …
Before eLearning, a student needed to commute across town or even move to a different country to get a quality education. Improvements in technology, especially in WebRTC, has taken the hassle out of connecting students with great teachers and schools.
I’m Alex from LearnCube, virtual classroom software that specializes in helping language-learning and academic tutoring companies teach online.
When we started four years ago, we made a bet that WebRTC would be the video technology of the future. Users much prefer the seamless experience of not having to download an external app or software. The quality has been getting better every year and it’s already superior to many many established video-conferencing providers.
We became a Twilio customer for Programmable Video in late 2017 after learning that Twilio had acquired Kurento. What we found was a quality video platform to embed in our virtual classroom software at an affordable …
Here is a preview of what we'll be building:
Basic knowledge of the following will be useful, but extensive knowledge is not required:
Before you continue, make sure you have Node.js installed on your system.
Getting Your Twilio API Keys
The first step to using Twilio Programmable Video chat is to get an access token. Twilio will generate a token using your API …
mediaDevices API, particularly for the case of mobile devices with a front and back camera, and now it’s time to put that into practice in an application. In this post we will use what we learned to build a camera switcher into a video chat application using Twilio Video.
We’re going to build this off a slightly modified version of the Twilio Video quickstart application. In order to build this app you will need:
- Node.js (I’m using the current latest version; 10, but it works with older versions)
- ngrok so that you can visit your development application from your mobile device
- A Twilio account; you’ll need your account SID, available on your Twilio dashboard, and an API key and secret, which you can generate in your console
Clone the repo for this application, …
Let’s see how we can capture the screen with Edge.
What you need
- The latest version of Edge, which is currently version 42 with EdgeHTML version 17 (if you’re on a Mac like me, you can get a free virtual machine with Windows 10 and Edge installed to test on)
- A text editor
- A local web server – I like to use serve for things like this
- Either ngrok or an equivalent tunnelling service or TLS certificates set up for localhost (we’ll see why later)
Whereas Chrome required an extension to be built and Firefox used
getUserMedia with a
mediaSource constraint of
"screen" to get a handle on the stream of the screen, once again Edge uses a different method. While this doesn’t …
We’re going to use Twilio Video with the AdonisJs framework to create a system where a user can host a video, and viewers can watch their presentation. AdonisJs is a full-stack, open-source MVC framework for Node.js that was inspired by the Laravel framework and borrows some of its concepts. AdonisJs saves you time and effort becauses it ships with a lot of features out of the box.
This system can be extended that users can sign up and schedule talks on, even pay to use. But we’re going to keep our project simple so it is easier to build your initial application.
What is Twilio Video?