Video SDK: internal playout, SRT transport and ad insertion for Caritech, Barbados
Caritech Solutions, a networking company in Barbados, has used our Video SDK to build several video applications for in-house use. We’ve had an interesting conversation with CEO Richard Rawlins about his company and use cases for our SDK.
What can you tell us about your company?
The company is called Caritech Solutions. We are based in Barbados and we are a registered ISP, our core business is networking. But we managed to get into the video business when we worked on a small project with our local TV station. We kind of noticed that there was a gap in the skill set at the TV station. Traditional TV technicians look different these days, it is someone who knows about IP and networking. So, we saw an opportunity to be experts and eventually built an IPTV platform for them. Now, we do IP delivery to hotels as well as to a TV channel in Africa.
What products have you developed?
Two work with one another almost hand in hand. One is just a playout software with a playlist, CG and the ability to stream and ingest streams for live contributions. The other is decoding software that we load on a small laptop PC that then goes to clients that are receiving content from us. These two work together for ad insertion. The Video SDK supports multiple channels of audio and most of the time the content is just in stereo – so we use the DTMF tones on some unused channels to trigger the decoding endpoints to insert local commercials into the live stream. So, we show different commercials in South Africa and in Nigeria.
The third product is what we call a REMI software: it allows us to send live contributions and multiple channels of audio back and forth. I receive them at another location with very-very low latency using SRT and we use that for remote productions. Another part of our business is we do productions for live events where we switch cameras and stuff like that. So we load this piece of software on a server at a facility where the cameras are. We send the video feeds relatively in sink of one or two frames. And then we do the switching from another facility away from that location while also using the audio channels for comms to allow our staff to speak to camera people and directors.
Why build your own playout solution?
For two reasons. One, I tried a couple and they weren't working. They were buggy. They were crashing. Support wasn't there. The second reason is we wanted that ad insertion ability without having to use SCTE-35 messaging... because that essentially gave us another revenue stream in terms of advertising for the TV stations.
Also, we were paying a lot of money because the last playout we were using was cloud-hosted. There was a monthly fee associated with that. And then you guys gave us a payment plan for the SDK that wasn't much different from what we were paying, which ended up in cost savings and it gave us the ability to be flexible and get more control over the end product. So, if I decide tomorrow, hey, it would be a good idea to have an X feature, I can add it.
How was the learning curve?
It was less of a learning curve for me because I could use Visual Basic, which is a relatively easy language to use, very forgiving. And not being a full time programmer, it was something easier for me to do. So I contacted you guys, got the demo and started to work with it. And then we thought… all right, perhaps we could build exactly what we needed.
How long did it take you to build something initially?
In 10-20 minutes I had something working. I mean, it wasn't perfect, but it was very, very easy. In a few lines of code we were able to establish a playlist and have files automatically switching and stuff like that. Because a lot of it is done in the background in your SDK, there's not a lot for you to do as a programmer other than providing the instructions.
What was the moment you said okay, it seems to be working?
That moment was when we stress tested the solution. It wasn't a matter of just playing a playlist – like you said earlier there are tons of playout products out there. We turned it on and left it running for days. It worked perfectly, no issues. We didn’t have any problems. Everything was working fine. And that was the moment I decided... all right, this is the direction we should go. It’s stable, it’s easy to use. It's easy to work with. And we can very, very quickly get something up and running that would allow our business to continue, even while we developed more features.
What have you achieved with the Video SDK?
Well, we checked the first box which was to have a stable-running TV channel. The channel is on air in Africa, it is a free to air channel and 60 million people are watching it. But the playout software is actually here in Barbados. So the server and software located here controls this channel which is distributed over the air in Nigeria. And then there's a studio in Nigeria where we make live contribution. So every day we do sports news and it's live. And there's a team in Africa that logs on remotely to that PC and they handle the switching from live to the playlists and manage the playlist and manage everything on their own. And it's been a success; that's been running 24/7 for around two and a half years now. So that was our main focus and our main goal and how we've been using the SDK since we started.
Have you achieved any technical benefits?
Yeah, it works! We're not getting calls from my partners saying the channel has gone down and we need to reboot the PC or anything like that. That is the most important thing to me as a technical person: less trouble calls. Then, we also have the ability to use these GPUs by Nvidia and Intel to improve performance.
What was the business value of using our product?
From a business standpoint, it was a financial lifesaver. It reduced our opex because it was an opex which we converted into a capex when we went with the SDK. I would say, at this point it has exceeded its value in terms of our use. And then it has also created additional revenue streams for us, because we now have this ability to do these different ads in different territories. It allows us to approach smaller vendors and sell them commercials for smaller territories and smaller coverage, which brings in more revenue.
What do you think are the main advantages of the SDK?
The main advantage for us is it allows us to be dynamic. It allows us to be creative and not essentially be stuck with what comes out of the box. I think creativity is a ongoing thing. It's not “let's be creative today and let’s not be creative tomorrow”. As times change and as our business evolves, it gives us the flexibility to evolve with it.
What is your favorite feature of the Video SDK?
So where do I start? The playlist is obviously pretty cool. It's one contained module that does everything. You don't have to write separate stuff for that. Almost cut and paste, and you end up with a bunch of functionality within the playlist. So that's super powerful.
The streaming integration where I can create DVB-compliant streams, this is very important for us. That is good, the ability to support these hardware cards that are not locked to vendors, that's important. Lastly, the ability to leverage GPUs with with one line of code, that's also important. These are things that weren't possible before. We've been writing transcoding software for our IPTV platform using things like GStreamer and FFmpeg. And it's a significant amount of work just to create a DVB-compliant stream in comparison to doing it with the SDK.
How would you describe our product to someone else?
One word: swiss army knife for all things video, really. There are things in there that we don't use, but if we had to – we know it’s available…
What's the biggest challenge on the horizon for your industry?
The biggest challenge, at least for our business, is reducing our operating costs. This is kind of the genesis of why we started to work with you guys... just finding ways to compete with the larger players and remove their monopoly.