Any entrepreneur or developer may reach a time when they must make critical decisions. These decisions that can shape their business or product moving forward. Choosing a Video Streaming API is one of these important decision points that should factor into your streaming solutions.
The API you choose to integrate live video streaming will influence your product outcomes in many ways. For example, the features available to you depend on the capabilities of the platform. Your chosen Video Streaming API will be woven deeply into almost every line of your code. As a result, the limitations of this underlying technology determine your ability to expand (or not).
In essence, when you build a system around a video streaming API, you’re making an investment. With that said, you want to be sure you’re making the right decision. This is true whether you’re buying into a specific platform or subscribing to a premium, private API.
So, here’s the main question we’ll consider in this post: How can you compare features among various live video streaming APIs? We haven’t seen this comparison done before, so we’re doing it ourselves. Entrepreneurs may want to read the first half of this essay, while developers may want to skip directly to the comparison section.
First, let’s take a closer look at how APIs work in general, before we dig deeper.
Brief overview: What does an API do?
An API, or Application Programming Interface, is like a standardized language. It allows computer programs to communicate with one another in fast, reliable ways.
In the world of streaming video, APIs come in a few different flavors:
Player APIs versus live video streaming APIs
Confusingly, live streaming and on-demand video platforms often feature multiple APIs. Usually, there are two general categories: a Live Video Streaming API and a Player API. In addition, there are other (less common) APIs as well. For example, some platforms have separate APIs for analytics, user tracking, thumbnail manipulation, and so on.
What is a Live Video Streaming API?
The first and most powerful API is the Live Video Streaming API. This is designed to interface with the backend of a live streaming system.
Overall, this API allows you to manipulate your live streams programmatically. Some of the functions that are generally accessible via a Live Video Streaming API include:
- Creating a new live stream
- Starting or stopping streaming
- Changing stream name and description
- Changing settings for privacy and monetization (if available)
- Renaming and manipulating recorded live streams
What is a “Player” API?
As the name suggests, Player APIs focus on the video player itself. More concretely, these APIs allow users to customize the appearance and features of the default video player. For a live streaming platform, users can customize the built-in video player to:
- Add or remove buttons for sharing, sound controls, HD toggle, etc.
- Customize auto-play behavior
- Show or hide number of current viewers
- Embed logo
- Change player size to a specific width, or to a dynamic size based on a given device
- Insert advertisements or station breaks dynamically into a live stream
- Switch between multiple live feeds (for example, different camera angles on the same event) from one player window, or
- Use a complete third-party video player (learn more about 3rd party video players here).
In short, a player API enables you to use custom video players and branding. A live video streaming API enables you to start, stop, and control live streams programmatically.
An example of a player API and a live streaming API in use
First, the French TV station IDF1 is a great example of APIs in action. IDF1 utilizes both a player and a live video streaming API. The Player API allows this station to use a custom video player built for their platform. Branding, menu options, and controls are all custom-designed.
The Live Video Streaming API, on the other hand, allows IDF1 to integrate content management with existing systems. This API also enables simultaneous live streaming to multiple sources. In other words, the same output can reach both traditional linear television and OTT (over the top) online distribution.
Finally, you can check out their website to see the APIs in action. (Although, of course, you won’t be able see the APIs. However, that’s the sign of a well-integrated system—it’s invisible!)
How to choose the right Live Video Streaming API for you!
Projects and priorities change, but choosing a Live Video Streaming API is often a long-term decision.
The API code for your live video hosting service will be integrated throughout your platform. Of course, it’s certainly possible to switch providers later. That said, it’s generally a big hassle you want to avoid if possible. In some cases, you get locked into a bad choice. Then, you have to live with the consequences of that choice for a long time.
1. Do the features match your needs?
Most APIs contain the same basic features. However, each platform has its own “twist.” As a result, determining which is best for you depends on how a given API meshes with your goals.
Also, some APIs may deliver features that you consider extraneous. However, another organization might consider that feature to be essential. Your perspective on these features may change over time.
Finally, make sure to fully consider which features are critical for you. You may also want to list features that would be ideal to have, but nonetheless aren’t essential. From there, you can assess your Live Video Streaming API choices based on these options.
2. Is there comprehensive documentation?
Using a new API is similar to learning a new language. It’s hard to pick up the skill without formal resources. Sure, you can muddle your way through after some experimentation, but you’ll learn a lot faster by hitting the books.
In API terms, this means you should look for comprehensive documentation from the provider. These should explain what the calls are, and give examples of usage. Ideally, documentation should also provide a sandboxed testing environment. This allows you to test out commands without fear of messing things up.
3. What data formats does the API use?
In the past, XML formats were commonly used for APIs. Today, however, JSON is preferred format. Among other benefits, this format is lighter on resources, simpler to read, and easier to write. Simply put, JSON is a better alternative all around.
Some APIs return data in other formats, such as in the form of URL encoded strings. Before choosing a platform, check which data formats it uses. Will these integrate well into your existing systems? Are your developers happy with these choices? Are they simple?
If not, you may want to look elsewhere. Otherwise, you may end up spending more time than desired interpreting results and parsing code.
4. Do the naming conventions make sense to you?
Next, note that each API will use a different naming convention to describe and interact with discrete parts of the system.
Before investing in an API, take a look at the parameter and method names it uses. Do they make sense? Do they match your sense of style in coding? If so, it’ll simplify the process of writing and interpreting code. It’s good to have happy coders.
In addition, you could encounter even bigger issues. As Galperin writes, “Some API providers today try to be clever and require the usage of custom headers and HTTP verbs that are not trivial to program against. That might be right up your alley, or might be a pain in the ass, depending on your point of view.”
5. Does the API have limits on requests?
One concern with APIs—especially public facing APIs—are DDOS attacks, or spamming the system. For a variety of reasons, a flood of requests can overload the servers and slow things down for other users. This could be intentional, or simply the result of bad code.
To avoid excessive usage, many APIs use a threshold system. This limits the number of requests per API key or IP address per day.
These limits make sense from a provider’s perspective. However, as a client, you don’t want to be surprised by limits like this. Therefore, take the time to investigate if API limits exist on a given platform. If so, will your application fit underneath that headroom? If not, can you get an exception?
What about if you have huge success, or if you experience the Slashdot effect? Keep these questions in mind when selecting a platform to help prevent future problems.
6. What programming languages does your chosen API support?
APIs are agnostic when it comes to programming languages. However, that doesn’t mean language isn’t important.
For example, many APIs include SDKs and sample code that are written in and for specific languages. By using these same languages, you can save a lot of time. In addition, you can prevent bugs by recycling some of that sample code into production use. This saves money, speeds up development, and results in a better product at the end.
7. Is there a support system and community forum for this API?
Next up, let’s consider support—what resources are available when things go wrong. Of course, any complex system like an API may have bugs. Things can (and will) go wrong occasionally with so many working parts. Errors in your code or in the system itself can cause things to grind to a halt.
Most APIs are extremely robust. However, with a quality customer support platform, you can quickly fix problems that do occur. Do the platforms you are considering have robust technical support? Do they offer support communities to share issues and best practices with others who are using the same Live Video Streaming API?
These considerations may swing your preference towards one Live Video Streaming API over another.
Last but not least, we’ll also add one further consideration of our own…
8. Is my Live Streaming API RESTful?
First, REST refers to representational state transfer, an architectural style for web communication. REST is a standardized approach that uses components, connectors, and data elements in a distributed hypermedia system. The entire internet uses REST, but it’s also been adapted for APIs.
A RESTful API is fast, scaleable, simple, and reliable. Importantly, it’s also predictable. Not all APIs stick to the REST standard, but it’s the most popular style today. When in doubt, look for a RESTful API over a different architecture.
Comparing Live Streaming APIs
Remember, the specific features and organization of each API is unique. As such, there’s no way to reprint the entire documentation for APIs in this post. Instead, here’s a brief overview of the main elements of popular Live Video Streaming APIs.
After reading, take the time to research Live Streaming API options on your own to learn more. Before making a decision, take the time to study the features of different platforms in-depth.
IBM Cloud Video (formerly UStream)
According to Programmable Web, the IBM Cloud Video Live Streaming API allows you to:
“Access [the IBM Cloud Video] database and allow broadcasters and end-users to share, show, or browse [y]our videos. Programmatically search broadcasters for a specific name, retrieve a popular show, and start streaming a show.”
TechCrunch reports that IBM Cloud Video’s Live Streaming API is free for developers building their apps while they’re in testing and for release if they’re willing to have IBM Cloud Video-owned ads run on top of broadcasts. Paying for premium access on top of the API will cut them out, as well as give access to IBM Cloud Video’s advanced analytics packages.”
Vimeo Live (formerly Livestream)
According to Programmable Web:
“The [Vimeo Live] API tools, the Player API and Channel API, can work together to provide information about videos and channels and a platform on which to play those videos.”
Learn more on the Vimeo Live (formerly Livestream) API overview page.
Web summarizes the YouTube Live API in this way:
“YouTube Live Streaming allows you to create, update, and manage live events on YouTube. Music executives, artists, and independent entrepreneurs could benefit from this Live Streaming API because they could schedule broadcasts to associate them with video streams. Some of the options to use this API include to enable users to pre-define broadcast settings, associate video streams and broadcasts, enable broadcasters to define information about a broadcast using the YouTube Data API at the same time, and simplify transitions between broadcast states, such as testing and live.”
Learn more on the YouTube Live Streaming API documentation page.
Brightcove splits its APIs into a number of categories. Of the CMS API, Programmable Web writes:
“The Brightcove CMS API allows developers to create video objects and retrieve video information by integrating its services.”
The Videocloud Media API is described as follows:
“Brightcove Videocloud Media API allows you to interact with the functions of video, cloud, and media in REST protocol. Developers can use an API Token to access the content. Guides include topics to add transcription from remote assets, embed video cloud media, and create videos with remote assets.”
According to Programmable Web:
“Dacast’s new RESTful Live Streaming API can be easily used to create and delete live streams and retrieve all of the information needed. It is designed specifically for quick and easy integration of all of the features of the Dacast platform into a wide variety of cloud video applications, services and digital media workflows.”
Learn more by reading the comprehensive Dacast video streaming API documentation, and by using the sandboxed testing environment. In addition, learn about how to stream live video easily and seamlessly via the Dacast online video platform.
Conclusion: Making the API choice
Using an API is exciting, but also daunting. As we discuss above, choosing a Live Video Streaming API is a big decision. In fact, it can have ramifications for your whole organization.
However, with the right decision-making framework, you can make the most informed choice for your needs. We hope this article has enlightened you on some important aspects to consider.
We’d love to hear from our audience on this one! What APIs have you used in the past? What features are important to you? How do you plan on integrating live video with your existing systems? What challenges do you face? What new features are you looking for in a Live Video Streaming API?
Let us know in the comments! We’ll respond, and we look forward to the dialogue. For regular tips on live streaming and exclusive offers, you can also join the Dacast LinkedIn group.
Not yet streaming with Dacast and interested to learn more? You can read all about our live streaming pricing plans to see which is the best fit for you. In the meantime, why not take advantage of our 30-day free trial (no credit card required) to test our platform features for yourself? We offer secure video upload and diverse customizable features for all kinds of broadcasters. Just click the button below to sign up today!
As always, thanks for reading and good luck with your live streaming.
By Max Wilbert.