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 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: …
Today, we are proud to announce that Twilio Programmable Video provides support for Safari 12.1 VP8 codec on iOS and macOS. This will help you serve your real-time video users with enhanced interoperability and experience.
Using Programmable Video in Safari 12.1
Safari has an estimated 15% share of the browser market and is the default and most widely used solution on iOS. This makes its support essential for any real-time video communications platform. In Safari 11, the only supported video codec was H.264. This made the creation of interoperable Group Rooms applications challenging given that the developers needed to choose between two options:
- To force all Group Room participants to use the H.264 codec.
- To accept that Safari 11 users will not be capable of rendering video tracks coming from Firefox or Chrome users.
The first limits interoperability and restricts developer freedom to select the most appropriate codec for each …
We are excited to announce that the Recording Composition API is now available in Public Beta. It enables you to transcode, combine and mix your Group Room Video Recordings through an API.
What are compositions?
Twilio Group Room Video Recordings are stored as individual media files, containing either audio or video tracks because we don’t make any assumptions about how our customers want to use their recordings. Separating audio and video guarantees recording reliability and compactness. However, it makes session playback very complex, as it requires mixing the individual recorded tracks. This is not trivial, and it requires the appropriate synchronization, transcoding, scaling and layout operations. The Recordings Composition API has been created to solve this problem.
How do compositions work?
The creation of a composition works as follows:
- A Video Group Room is created with recording enabled and the individual audio and video recordings get generated and are stored. …