[MUSIC PLAYING]
JEREMY WALKER: [INAUDIBLE]
YouTube APIs.
You're probably wondering why I have a green
screen behind me.
Well today, we're taking you behind the scenes with
Capella's live streaming solution to show you some of
their features.
One of them actually is switching out backgrounds in
near real time.
So I'll switch over to introductions.
Ikuyo, you're the CEO of Capella Systems.
And then we have Martin, who's one of the lead engineers.
So let's jump right into it.
Tell us a little bit of a background on your company.
IKUYO YAMADA: So Martin and I, we started this
company back in 2009.
Prior to starting Capella, we were both members of a company
called Rhozet, which focused on offering offline
transcoding software.
At Capella, we focus on live streaming solutions for
professionals and also enterprise level customers.
We also offer offline transcoding solutions, mainly
focused on H.264 compression technologies.
JEREMY WALKER: OK, cool.
So I guess the question is from your last company to this
one, what got you into the idea of doing this live
streaming, or why did you decide to go into it?
IKUYO YAMADA: At the previous company at Rhozet, we focused
a lot mainly catering to post production houses and mainly
broadcasters.
So we sold a lot of offline transcoding solutions.
As we were doing it, I saw a big shift going from
traditional broadcasting workflow to more using open
platforms like live streaming.
So we wanted to develop a software that is specifically
designed for this new type of broadcasting
that's emerging today.
JEREMY WALKER: So your goal is really to make live streaming
easy to use and very simple.
IKUYO YAMADA: And our software allows users to do that.
Our goal is to basically offer a very reliable software that
allows users to do a whole production on
his own or her own.
JEREMY WALKER: OK, that makes sense.
I guess what are some of the common issues you see with
live streaming just in general?
IKUYO YAMADA: I think live streaming, the whole
production, it could get very complicated.
I see a lot of users trying to use multiple equipment.
And sometimes the combination of, for example, using a
particular capture board with a live streaming solution, you
will face a lot of unexpected issues that are very difficult
to troubleshoot.
And also, to do a very good live streaming show, you do
need a lot of operators who are familiar with
these kind of things.
And it's very hard to arrange somebody to always be on site
to do that.
And my goal when we started this company is to create a
software, even for non-broadcasters are able to
use this, for example, like schools, hospitals, community
groups, and corporates.
Anyone with just a little bit of IT background is able to
use this software and do a very high quality streaming
show on her own or his own.
JEREMY WALKER: OK.
So why did you choose the YouTube APIs using the live
streaming API particularly?
IKUYO YAMADA: Because we do believe that with the
availability of fast internet and also open platforms like
YouTube, I see a lot of professionals and also even
broadcasters are getting into live streaming and using
YouTube live platform as a way to deliver more streams and
contents to more viewers around the world.
So I wanted to make it easier for those customers to be able
to use our software that interfaces with the YouTube
platform seamlessly.
JEREMY WALKER: OK, great.
So you guys were actually at Google I/O. You were in the
YouTube Sandbox, and you were showing off some of the cool
stuff you're going to be showing now.
So let's just jump right into the demo so we can have a look
at some of the features and then do the some of the green
screen shenanigans I've been talking about in our posts.
IKUYO YAMADA: Great.
Let's take a look.
So here, this is our Cambria Live UI.
On the very left hand side, you will
see a list of sources.
So we can take in multiple camera inputs.
For example, we have Camera One basically pointing at
Jeremy, and we have another camera that's pointing to us
from a different angle.
So while you're doing streaming, I can switch in
between different camera inputs.
Another neat thing about our application, it comes with a
function called VC, so I can add Virtual Camera inputs.
JEREMY WALKER: This is really interesting.
So it's like you just have one camera that's taking a large
HD shot of everything, and then you can kind of cut out a
whole bunch of virtual cameras that you can
switch between, right?
IKUYO YAMADA: Yes.
The whole idea is just to use a single camera.
We could kind of create this virtual multi-camera
environment.
So it reduces the cost of operation, and you only have
to buy one camera.
So right here, I am manipulating captured areas.
So I have this segment that's focused on me.
So then during the streaming, I can go from
overview shot to VC.
So it looks as though we're actually switching the camera
inputs, but we're only really using a single camera input.
JEREMY WALKER: OK.
Well that's pretty neat.
IKUYO YAMADA: And also on here, you will see the list of
targets that we can stream to.
We can stream to Adobe Flash Media Server, Wowza, of
course, we can go to YouTube.
So if you have a YouTube Live account, it'll bring up a list
of live events that you have been registered
from YouTube's website.
JEREMY WALKER: And so for people that are larger that
are doing these live shows, is there a way that they can
claim or monetize against these?
IKUYO YAMADA: Yeah.
So we are in the process of integrating Partner API.
I think now it's called Content ID API.
So actually, from an offline transcoding software, user is
going to be able to set claim options and also create
reference files to be uploaded to Content ID system of Google
that creates a bunch of fingerprint files.
JEREMY WALKER: OK, great.
And then on the ad side, you guys are looking into adding
that as we speak--
adding some of the functionalities for ad slates
and ad insertions and things like that?
IKUYO YAMADA: Yes, we are in the process of implementing
this feature.
We believe that this kind of function will be very
appealing to our professional and also
enterprise level customers.
JEREMY WALKER: Great.
IKUYO YAMADA: So if you have a YouTube account, then you can
specify which channel that you want to stream to from here.
And while you're doing live streaming to YouTube channel,
for example, you could record an entire event to a file.
So you can use it for archiving or for VOD.
JEREMY WALKER: And don't you guys have a future where you
can, as you're doing it, just take out the highlights?
IKUYO YAMADA: Yes.
So this is one of the cool features that we have.
We have this function called Cambria Live Edit, which
basically allows you to do proxy editing while you're
doing streaming.
So you can set multiple in and out points to
create highlight clips.
And that segment can be transcoded into multiple
different file formats and, for example, can be uploaded
to YouTube VOD channel.
JEREMY WALKER: OK, great.
So as you're having the live event, you can be setting up a
much smaller video with the highlights.
IKUYO YAMADA: So now, going to the green screen demo, we are
going to do this by using our picture in picture function.
So this allows you to combine multiple video layers into a
single stream.
So for example, I have--
JEREMY WALKER: I know you guys are going to bring this up,
and this was pretty popular at our Sandbox.
And I also have your app, which I don't know if you can
see it here, but this is an app running on a Nexus 10.
And you can see here, this is what they were showing, and
you can actually click.
So let's say I'm in space now, but I want to be underwater, I
just click and see, it takes me now to an underwater.
So this is using your APIs, correct?
MARTIN BELLEAU: Yeah, this is using the API.
So from this app, we can retrieve the first image of
the different video files that are loaded into the
application.
And then when you click here on the tablet, it sends the
message to our REST API, which triggers a switch of the
background.
JEREMY WALKER: Yeah.
This is really cool, and of course, our favorite YouTube
Dev sticker.
IKUYO YAMADA: And then this is all happening in real time.
We're doing all this processing only by using our
software, so it's a very powerful tool.
JEREMY WALKER: Yeah, and it's pretty fun to do.
So now we're underwater.
So let's jump into the technical details.
Now, you use a couple of different languages, from my
understanding, on the front end, you're using--
what language are you using?
MARTIN BELLEAU: On the front end, we're C Sharp.
We're using WPF from Microsoft to do the UI, so that's pretty
simple to use.
It's really productive to use.
There's a lot of libraries.
It makes it really simple to create UIs that look nice and
are functional.
Now on the back end side, where we do all the video
encoding, all the video processing, the audio
processing, that's using C++.
For that kind of thing, you need a
high performance language.
You also need something where you have a lot of control over
memory allocation, garbage collection, and so on.
And also, all this technology is also cross platform
because it's C++.
JEREMY WALKER: And then you guys are going even deeper
than that in some situations, right?
MARTIN BELLEAU: Yes.
So in some cases, we're going to use assembly language.
For example, for that green screen we're showing right
now, we're using an assembly call to composite yourself
over the background that we're switching, and also to do
things like up-scaling video, downscaling video.
For very precise operations, yeah, it's
done in Assembly language.
JEREMY WALKER: Great.
So I guess you guys are using OAuth2, obviously,
with the new APIs.
So how are you doing that?
MARTIN BELLEAU: So from the UI, we just launch a browser
window where you enter your Google credentials, and then
after that, we grab the Refresh token and that gets
stored on the client machine.
And then whenever we need to authenticate again, we create
a token from that Refresh token.
JEREMY WALKER: So it's all on the local machine?
MARTIN BELLEAU: Yeah.
JEREMY WALKER: OK, great.
Were there any surprises, not only with the API, but with
customers using your product that you noticed?
MARTIN BELLEAU: Well, one surprise was when we moved to
the new API, which was V3, it was a pretty big change from
the previous one.
We just started working with you guys.
Typically, APIs tend to stay more similar through time.
But this one for V3, there was a really big change.
Things became simpler.
And also, the other big change was that previously, if we
wanted to stream in multiple bit rates and resolutions, we
had to ourselves, in our machine, encode at all those
different target bit rates.
And now we can just encode at the highest bit rate that we
want users to be able to see.
We send that to YouTube, and then YouTube actually takes
care of the transcoding for lower bit rates.
So now you don't need a machine that's as powerful as
what you needed previously.
JEREMY WALKER: Yes.
So basically, we built it from the bottom up with our new
infrastructure.
So that's why we definitely wanted to make some
improvements, so that's why the new version is a little
bit different than the last version.
MARTIN BELLEAU: And then also, something that's surprising
from our users' point of view is the users that we're
seeing, there's so many different cases.
At first, we thought this would be used mostly by
broadcasters or people at least fairly familiar with
broadcasting.
But we're seeing education conferences.
A whole bunch of people.
IKUYO YAMADA: Hospitals, or even small community groups,
or corporates, they're wanting to do a very high quality
video streaming, but yet they don't really have an in-depth
broadcasting background.
So a very simple software like this helps them to do that.
JEREMY WALKER: So you, actually, with this new
version, you have some clients using this now successfully
out in the field?
IKUYO YAMADA: Right.
We have a customer in Tokyo.
It's a broadcasting company, Tokyo MX.
They're using Cambria Live to stream all their music, and
also sports events, to their YouTube Live Channel.
Here locally, we have Saber Cats, which is an indoor
football team out of San Jose.
They use us to do all the streaming of their games.
I recently did a project in Seoul, worked with one of the
biggest broadcasters in Korea.
They did streaming of new music live events, streaming
to their YouTube Live Channel.
So we do have quite a few customer cases who are
already using it.
So it's a proven case that it's working fine.
And they're very happy with it.
And we're starting to see more and more installation not only
in the US, but all around the world.
So we're very excited and happy about that.
JEREMY WALKER: I was going to say, you're listing every
country, quite a few countries.
That's really good to hear.
I guess, is there anything you'd like to see added or
you're looking forward to integrating with?
MARTIN BELLEAU: Well, something that we want to do
more of is those Android apps, like you were showing before.
There's a whole bunch of different cases where that
could be useful since we need to build our application to be
generic and used by many people.
So in a bunch of instances, we'd be better off with a
specific app.
So if you have a lot of sources and you need switch
with them, then you'd want to have small thumbnails on the
Android app so you can switch easily.
In other cases, if you think about education, you would
have a professor in front of the class.
And using an app, you can change from your PowerPoint
presentation or the DVI from your laptop to the camera
itself that shows the classroom.
So that's something that we want to
pursue in the near future.
And yeah, we're looking forward to whatever APIs you
guys come up with, and we'll check them out.
JEREMY WALKER: Yeah.
We'll definitely be talking more.
Well, let's see if we had any questions for you guys.
There was a question.
So we usually have general questions.
There wasn't any specific to Capella.
There was a question around private videos.
And just for the people out there, you can upload a
private video and only you can see it.
And you can add a couple users.
We do have a limit, but you can add a couple users so only
they can see it.
And of course, you can't download unless you uploaded
it, and you own the content.
And then the last question is always on our side.
Is YouTube developer relations hiring?
And yes, we are.
Definitely go check out the developers.google.com/hiring
and have a look there to see if any positions interest you,
because we're definitely looking for people.
Well, thanks again, not only for coming today, but also for
participating in Google I/O at the YouTube Sandbox.
It was a really neat event, and we were really happy to
have you guys.
And we look forward to everything we can do now in
the future with the Live Streaming API.
IKUYO YAMADA: Thanks for having us today.
It was great to see you and to be here.
MARTIN BELLEAU: Thanks.
IKUYO YAMADA: Thank you.
[MUSIC PLAYING]