π Cloudflare Calls + Go Live in Real Time
Presented by: Apoorva Ravikrishnan, Brendan Irvine-Broque, Zaid Farooqui
Originally aired on February 2, 2023 @ 11:30 PM - 12:00 AM EST
Join Cloudflare Product Marketing Manager Apoorva Ravikrishnan, Product Manager Brendan Irvine-Broque, and Product Manager Zaid Farooqui to learn more about Cloudflare Calls and Go Live in Real Time.
Read the blog post:
- Build real-time video and audio apps on the worldβs most interconnected network
- WebRTC live streaming to unlimited viewers, with sub-second latency
Visit the Birthday Week Hub for every announcement and CFTV episode β check back all week for more!
English
Birthday Week
Transcript (Beta)
Hi, everyone. Thank you so much for tuning in. Today is the second day of Cloudflare Support Day week and we are celebrating by announcing a series of releases that are designed to help build a better Internet.
I'm a provider of a Christian product marketing manager for our video streaming products, and I'm here with folks from our product team to talk about going live real time and Cloudflare calls.
Before I pass on to my colleagues here so they can introduce themselves, I want to know that if you have any questions whilst you're watching the segment, please do send them in.
We'll try and get to them during the session. If not, we'll get them to you or respond back after the segment is over.
Anyway, Zaid, do you want to quickly introduce yourself?
Yeah.
So my name is Zaid Farooqui. I'm a product manager at Cloudflare, working on a new product that we announced today called Cloudflare Calls.
I've been at Cloudflare for about four years, working mostly with video alongside Brendan, who can introduce himself.
Yeah, so I'm Brendan Irvine-Broque, Product Manager for Cloudflare Stream.
I work really closely with Zaid over here and we both work on video streaming products at Cloudflare.
Great.
Thank you for that introduction. Let's get started to talk about these exciting announcements.
Can you tell me a little bit more about going live real time, what we launched today and many of the use cases that this product would be able to solve?
Yeah.
So today what we launched was Web RTC live streaming for going from one to many, many, many viewers.
And so the two things that this makes possible is that people can now use Stream to stream live video with less than one second of latency.
Truly exciting.
So for companies who are building things around live sports or EA Sports or anything where there's some type of interaction between the viewer and that content latency matters so much.
And the other thing this makes possible is people can go live from their web browsers directly and don't need special software to do so.
That's great.
Thank you so much for talking about that. I'm going to double click on this a bit because I know we made a very big announcement about live streaming last week, so I'm sure a lot of our listeners are wondering how is live really different to real time?
Because in most of our minds it's one and the same thing.
So can you talk about that a bit?
Yeah.
So often, you know, viewers these days, really, when they hear live, they expect things to be in real time.
But the kind of existing live streaming technologies, when you're watching, you're watching over something like using hills or dash and there's often a delay of multiple seconds or really can be up to 15, 20 seconds.
And for some types of streams, that makes some sense.
But for content, where there's that interactivity between the viewer and the content or where people are asking questions and want to get answers in real time, you know, latency matters so much.
It's so true about what you mean by people Expect that level of user experience nowadays, and I'm glad that we're entering into that field.
In the beginning you've mentioned that our product has this underlying WebRTC protocol, and I'm sure a lot of our listeners are wondering what it's all about.
So if you could give us a walk through on what protocols we've been using in the past and how WebRTC is the latest edge.
Can you just talk about that a bit?
Yeah, So WebRTC is a protocol that's built into all web browsers that are out there.
It's the protocol we're actually that you're using when you use Zoom or Google Meet or other kind of products that use communications.
But what we're doing is we're using it for kind of one to many broadcasts at scale where Cloudflare's infrastructure sits in between the person who's broadcasting and then many, many thousands of viewers to make sure that that content is available, no matter where viewers are all around the world with low latency.
Brendan, can you give an overview of how we live, where it started about a year ago and where we are?
Because I think that's kind of interesting, apart from just talking about technology.
So WebRTC is a technology, but I know that a lot of the perspective and you do product at Cloudflare is taking complex technologies and really simplifying it so our customers don't have to think so much in terms of the technology and they can think more about the use cases.
So if you like, or viewers would maybe find it useful.
If we talked a little bit about the journey that stream life has been on.
Yeah.
So about a year ago we announced a new feature of Cloudflare Stream called Stream Live and Stream Live lets creators lets people build applications that let their end users or creators go live and broadcast at scale.
And kind of traditionally what how that's worked has been that people who are creating content download special software, things like open broadcast or software, people call it OBS and there's some degree of friction there for people to download that and get going and get set up.
And so with WebRTC streaming, we've been able to kind of make widen the number of people who can be creators because we can let you build apps on our platform where you can let your users go live from their web browsers.
There isn't that kind of extra layer of complexity where people have to learn new things in order to create their own content and go live.
Thank you.
I was wondering, what are the kind of uses that we have today would be using stream a live stream for the past few past year.
Yeah.
So all kinds of broadcasters who are creating kind of 24, seven live TV, Internet, TV stations, people who are using Cloudflare stream to re stream to many different types of destinations that if you want to jump in, I know you've been you've been at Cloudflare much longer than me.
Yeah, I think we've seen a broad set.
I'm constantly surprised by how people are using the Stream Life product and stream in general.
I've seen customers small and big, including high schools, livestreaming graduations.
You know, that's something you don't typically think of and actually getting thousands of people watching it.
So I think in the last few years, because of the many other things going on in the world, we've really it has pushed.
I feel like the world into relying on video and livestreams for things that traditionally were just small niches.
You know, like watching a high school graduation on video is not something that five years ago a lot of people thought about.
And yet today it's in many cases it's the norm and it's becoming an expectation.
And I think all of that has happened in the last few years.
And a lot of it was because of COVID where there was no other option.
And yet as we come out of it and I think there are still areas that are still coming out of it, a lot of that use, I think, is going to stay and I think the market itself is going to expand.
And what I mean by that is the use cases where in the past no one would, if I am not local and I want to watch a high school graduation of a cousin in the past, I would just call him and congratulate him.
Today, I have a readily available option in many cases to tune in and actually engage.
And I think the announcement today is really exciting because live streams in general have this 10 to 30 second latency.
And I think, you know, the announcement that Brendan is talking about helps you bring that latency down to real to near real time, which just opens up a lot of potential opportunities for our customers to build additional features on top.
And because it's real time, you know, you can kind of interact with the people in the video.
So you still have this large audience but that are watching and then you have people on the video but engaging with that audience, I think that's what is really exciting.
And Brendan, what do you think about that? What are the you know, what are some of the interesting ways you can see people use like leverage real time?
Because I think it's not just about the real time, it's just the adjacent features that it unlocks, right?
Yeah, it's.
Kind of like as you yeah, as you were saying, it's like when coming out of COVID, people have built this expectation that, like, things are real time.
That's just how videos should work on the Internet, where you sit talking to each other all day long and that kind of some of the use cases here include things like live auctions or live kind of all the live sports betting that's happened over the past couple of years.
So that's really blown up. I mentioned live sports and EA Sports earlier where like if you're behind the live feed and you get that text from your friend who's at the event, that's a pretty terrible experience that could ruin the outcome of the game for you.
Even things like where the outcome really matters, where there's financial news or anything, where people are making those decisions in real time based on what's going to happen on the live feed.
That's where we see there being so much opportunity here.
I will mention that one of my friends actually livestream her wedding on Cloudflare Stream, which is really cool.
And the biggest feedback I heard personally was that it was super easy for her to use.
So because she didn't have a lot of technical expertise in setting up a video streaming service, it was her first time trying it out and it worked well.
So I was wondering, is that what we want our streaming platform to achieve?
At the end of the day, anyone with any level of technical expertise, they can go in work and get access to these amazing technology and then use it.
So can you share a little bit of thinking behind how we approach that?
What will we build?
Yeah, one of the things we care a lot about at Cloudflare is making sure that all of our products are accessible and available to people who are just signing up for their for a Cloudflare account for the first time.
But we also operate a massive global network and we have customers who are using Stream to broadcast to many, many thousands, tens of thousands of concurrent viewers.
And so we do really care about making things accessible, and that really pushes us and our team to make sure things are simple.
We think that the way that live video should work on the Internet is it should be kind of akin to an image tag in HTML where it's that dead simple to be able to add that to your page.
That's amazing.
So if someone's interested in the new feature we've launched, the we're about to see live streaming and they want to check it out.
So what's the best way to do that today?
Yeah, definitely.
So this is an open beta today. So go to the Cloudflare blog, check out our blog post.
It'll give you a little overview of kind of how it works and what you can do to get started.
And if you go to developer set Cloudflare dot com slash stream, those are our developer docs and you can get going right away.
Sounds great and very straightforward.
Thank you.
We spoke about how our how we approach building our product and the Journey team has had in the last one year.
But looking forward, what's next now that we have this amazing new capability?
What's next for Stream?
Yeah, so we're hard at work getting this feature that's now in open beta to be generally available and working on things like being able to record livestreams, restream those, something from a WebRTC stream to other destinations and things like that.
And we're, we're really excited about the future of what Bertice. All right.
This sounds like more things, exciting things to come away. So let's change gears a bit and talk about the other key release that we are here to talk about today, which is Cloudflare Calls.
I know this has been in the works for long, but can you tell us a little bit more about this announcement?
What is what is it and what are the use cases?
Yeah, so we're really thrilled to announce Cloudflare Calls, which uses the same underlying infrastructure as Stream live low latency streaming.
The first thing I want to clarify is where do we draw the line or the difference between the two?
So the announcement that Brendan was talking about, it really is about low latency streaming, meaning real time streaming, where you have one broadcaster and you have tens of thousands of people watching the broadcast.
Right.
So when you are watching something on TV like a sport game, you're generally seeing a 10 to 30 second latency.
The announcement that Brendan was talking about helps you bring that latency down to less than half a second and which is not hard if you have like 20 people watching, but when you have tens of thousands of people watching, you need to use a technology like WebRTC and you need a network that is truly global.
And so we've built that technology on the Cloudflare Network.
So that works for one too many.
Now, with Cloudflare Calls, what it allows you to do is build experiences that are for many to many.
So if you have a in a traditional sense, WebRTC is really good for one on one phone calls, meaning if you and I are chatting or talking virtually our computers will directly exchange the video feed and the audio feed right with no intermediary.
Now, as you add more people, just as in real life, when you have when you have two people in the conversation, it's a lot easy to keep up.
When you add when you add ten more people to that conversation, all of a sudden are shared.
Context becomes a lot a lot more limited.
So we have a lot more bottlenecks.
So there can be more misunderstanding.
People can hear different things, people can take different meanings out of it.
The same holds true for WebRTC.
When you are engaging in when you increase the number of participants, they are talking with each other.
So that's really why we built Calls.
Calls helps.
You essentially have a conductor of sorts, which is the Cloudflare network, which facilitates the conversation between a group of people.
It allows you to program granular privacy controls.
So when you have ten people talking with each other in a meeting, you can add when you build it on top of cluster calls, the devices are not literally talking to each other.
They have the Cloudflare network as an intermediary that is facilitating the conversation between the ten people.
This allows you to improve reliability, also allows you to increase the observability.
So when things go wrong, really being able to answer the question where is the problem?
And to be able to do that efficiently and faster, which is really important for a use case like a meeting because unlike like regular website traffic, where if your website goes down for a couple of minutes, many people will just go back and hit refresh.
But we all know when a meeting isn't working well, oftentimes you are forced to kind of reschedule.
And you know, if you have ten people in a half hour meeting, that's like 5 hours of time lost for those ten people that you need to then make up in the future, right when the people may or may not be available.
So we really built Calls as a super peer in when building peer to peer app.
That gives you all of the upside of peer to peer and helps you reduce the downside.
That is often something you have to confront as the number of participants in the peer to peer call increase.
Okay.
Thank you so much. That was super helpful to understand the distinction between these two amazing products.
We keep talking about robotics because both of these products leverage that.
So it's my understanding, right, in thinking that working with RTC is typically hard for developers.
And why is that the case?
Yeah, I think it's absolutely right.
So first of all, it does not use UDP, which is what general web traffic is, right?
Your classic web streaming through HLS and dash uses is HTTP. There are a lot of tools built to improve performance around HTTP to get observability data.
Within Chrome, you can you can hit inspector and look at requests.
That is not true for Web Artsy.
Artsy is still, I think, at a relatively nascent stage when it comes to debugging and tooling around it.
But also just the nature of it, it's peer to peer.
So an issue that the two people are having could really be highly dependent on the network conditions of one or more of the users in that Web RTC call.
Right.
And that is the challenge with Web RTC when you're implementing a when you're doing a classic peer to peer implementation with no guardrails or a super peer in the middle, that can that can help you avoid the problem of the quality of the call being only as good as the lowest common denominator participant on the call.
So the participant with the slowest internet connection often becomes a bottleneck when you use Cloudflare Calls and when the Cloudflare network serves as a super peer, you can kind of get around that problem because no longer each participant's relying on each other's connection to be able to share the video feed with each other, the audio feed with each other.
You Now all the participants are exchanging the data with the Cloudflare network and the Cloudflare network is doing the job of making sure the participants get the data that they're supposed to get.
So it also gives you a lot of protection in the sense that the IP addresses of each participant are no longer exposed to each other.
So that's just like an additional upside that you get inherently when you use a product like Calls in the way that's architected.
Got it.
Thank you so much for walking me through that. Now that you've mentioned the Cloudflare network that Cloudflare called leverage, is that it sort of begs the question that I need to ask, because I know we dogfood a lot of products and I know both of these products leverages our existing portfolio of products.
Some of them. I was wondering if we could talk about that a bit.
What are the products from Cloudflare that Cloudflare Calls and Stream uses today?
Yeah.
So classic Calls uses a lot of the underlying products like Argo spectrum that are products that many of our customers use.
And not to mention just our network.
Right.
Which has over 200 points of presence. That is really critical.
I mean, it's important for YouTube traffic, but it's really critical for web artists.
It's a game changer, right? If you remove that, let's say you're building this in house, which you have to effectively do is think about like literally look at a map and think about where are my user is coming from and then make sure that you have servers that are reachable by those users within sub 500 milliseconds.
And then when people freak out because they're suddenly getting traffic from some new location and they don't have the infrastructure.
They're exactly right.
So you have to do 24 seven dev ops, you have a learning set up.
Those are the things you just inherently get when you use Cloudflare Calls because it's built on the Cloudflare network.
That's just incredible.
And to think that this power of the technology is available for everyone to just come in and start using the click of a few buttons, that's just incredible.
I want to talk about I know we spoke about the thinking behind Cloudflare calls and what what, what's what our approach has been.
I also want to talk about what's the path ahead for Cloudflare goals and what we can expect from the team.
Yeah, so I think Cloudflare calls is going to is in closed beta.
Well, we already have received lots of people who are interested in trying it out.
We are looking for the right initial set of customers that we can work with in making sure that the beta that we roll out really works.
So because of the nature of the product and the use cases, this is going to be something where we're going to work very closely with with the right set of customers who kind of share our viewpoint and the use cases that we have in mind and over the over the coming quarter, really helping them succeed and then kind of doing a bigger rollout and ultimately sometime next year getting Cloudflare calls to be in a place where you can use it for production traffic at scale.
So that's really the path forward.
So if you're you can submit, you can you can submit the form and request an invite, you'll get an invite, I think over the coming quarter, you can expect a lot of work around observability and just helping you get started and helping you build applications on top of calls.
So that's something I want to be really clear about.
Cause is not a consumer product.
It is something we are building for developers.
So you can build interesting real time apps.
All right.
Thank you so much for that clarification. I know you spoke about what's the path forward from a very specific view, and I'm sure a lot of our listeners are very excited.
But given that these two announcements today is built on party protocol, like we've been discussing and have very similar use cases, but quite distinct in its own right.
What's what's the vision going to be in the long run for these two products?
And we have nearly 5 minutes left. So I just want to best use the time here.
Zaid, go for it.
I know you've been thinking a lot about how these two things connect together.
Yeah.
So I think our vision has, you know, with scream and four calls as when we look at how people are building apps with video and that involve real time communication, we often see customers really get bogged down with with picking the right set of technologies.
And when we zoom out, what we really focus on as use cases, right?
So really use cases for us is like what kind of latency is important to you?
20 seconds or sub one second.
And really cluster is mission is to make everything real time, right?
But we don't we want to kind of reduce the overhead of our customers needing to start with what technology do I need and instead give them a product that is declarative that really lets them configure and say this is the outcome I want to achieve, help me achieve it right?
And then ask whatever important details may be relevant in helping our customers achieve that outcome.
And I would say this philosophy applies both to the stream product and to the course product.
Yeah.
And we're one of the reasons Zaid and I work so closely together is we're thinking a lot about how calls and streams can can work together in the long term.
I think a use case we've talked about a lot is if you have a couple people in a many to many video call together how do you kind of livestream that to many thousands of people who are just viewers?
And so we're thinking a lot about how these products interop and work together.
And that's kind of an important principle for us as we move forward.
It's why WebRTC Live streaming is an integrated feature of Cloudflare stream.
It's not a separate product, it's not kind of distinct and a separate thing.
You have to think about different concepts for we really want to bring these things together as much as we can.
Thank you.
I know we have 2 minutes and 40 seconds left and there are been a few questions that have been coming in.
And I just wanted to use the time to talk about this, though.
People are wondering.
We know I know we spoke about Benghazi a lot and we have 2 minutes, 20 seconds left.
So very quickly, how Cloudflare calls particularly can help make life easier.
I know you touched upon it a bit, said so very quickly. How does Cloudflare calls make it easier to use with the RTC technology in 2 minutes left?
Yeah.
So closer call essentially gives you a party is peer to peer and the experience is highly dependent on the network conditions, the type of device that each of the peer has.
So Cloudflare calls effectively lets you use Cloudflare network as a what we call a super peer, right?
That is really optimized and can act as a peer that is super close to every participant on the call.
So it improves reliability by being this peer that you can just depend on and get around the the issue of individual participants having unpredictable or unreliable network conditions.
All right.
Thank you so much. So we'll be wrapping up the segment in a few seconds.
And just to summarize in the segment, we spoke about going live real time using reports and cloudflare's new audio and video communication infrastructure called Cloudflare Calls.
We discussed the tech behind these two products, how it was built, how how you could get access to these products, because Web RTC for Cloudflare Stream is now in open beta.
Cloudflare calls this in private beta.
Please do sign up if you're interested and do get in touch with the Stream team if you want to discuss more.
If you have any further questions.
I want to close out this segment by mentioning once again that it's Cloudflare's 12th birthday and this week we'll be announcing a series of products.
so stay tuned.
There is more to come.
But thank you for listening to us and have a good day, rest of you.
Thank you.
Thank you.