api.video
SearchCtrl K

Features

Developers

The magic behind great products

October 27, 2021 - Cédric Montet

The difference between good products and great products is "the magic" we can feel when we are using them.

Good products

Good products get the job done - but still require a thought process to walk through the steps required to accomplish a task. They make us feel, as users, the succession of technical steps when we want to accomplish something.

If I want to record a video with my iPhone, I first open the Camera app, then slide to the video mode, press the red button to start my recording and press again to finish it. All the steps are clear to me and I'm not surprised with the result: I want to create a video → the way I use the tool allows me to create the video.

I don't have an emotional reaction, because while the design is great, it is not an effortless process. I don't wonder 'how did it do that?' or feel like some type of magic occurred.

Great products

Great products are different: they provide me value from nowhere and make the technical aspects of using the product disappear.

A perfect example of this is Shazam. We launch the app and it recognizes the music around us. We don’t even have to guess something like the singer or the lyrics. Instead, the app creates an audio fingerprint, requesting a database of tracks to find similar fingerprints until it matches the song for us. The process is effortless. This is “the magic."

Another example - Google Photos: we type a location, an object or a word in the search bar and the app will show us all pictures related to these terms while we have never created any metadata around our pictures. This is "the magic."

Netflix: we used to spend countless hours on obscure directories to find the right torrent for a movie, which is not a screen cam, without Korean subtitles embedded on the picture and in good quality. Now, we launch Netflix on all our screens, and the movie we want starts immediately, according to our settings (the audio we want, the subtitle we want). And it’s effortless. This is "the magic."

Transcoding is key, but unimportant to users

We are living in a video-first world, but all of us don't have access to fast broadband and large screens.

Some of this is changing. With the rise of affordable electronics for video creation, people everywhere can make and upload videos, even if they don’t have the greatest internet connections. And with the advent of 5G, the ability to rapidly upload and transmit content will become available all over the World.

We used to live in a world where downloading and consuming content was what happened most, especially with mobile. But with the addition of 5G, now we are entering an era of upload.

As we join this new time, manufacturers keep promoting their proprietary video format, preventing us from sharing a video easily. This is why all video platforms transcode videos right after the upload.

Transcoding is not something users want to think about. What users want is to make their videos available worldwide in seconds. They don’t want to think about whether to choose HLS or Dash or VP9 or H264. And they don’t want to sit staring at a transcoding progress bar for minutes. This is not magic. It’s slow and tedious.

What should happen is magic - a video is uploaded and an invisible, rapid process ensures that users can immediately show their brand new content to their audience.

This is "the magic" that api.video strives to provide. We want to make transcoding quick and efficient, something you don’t ever need to think about.

Reinventing the video transcoding pipeline

At api.video, we have worked hard to reinvent our video transcoding pipeline to deliver exceptional performances:

  • We put the transcoding process on EDGE servers, which means your videos get transcoded to a server close to you. This saves seconds you'd usually have to wait when using a traditional video platform with a centralized approach.
  • Different versions of your video are transcoded by several servers at the same time to avoid the queue effect (waiting for transcoding to complete before starting another)
Transcoding time and host pie chart

In the image above, five servers were used to generate the five qualities of a five minute video at the same time.

  • We also changed the way HLS assets are generated and written to storage to transfer the transcoded files in a few milliseconds
HLS encoding time

In the illustration above, the average 240p encoding duration for the five minute video was four seconds. However it took .53 seconds to send it to the storage system.

  • We transcode the lowest quality first to let the video plyer start once this quality is ready, even if the highest qualities are still in progress.

By working and improving all the steps of the pipeline, the five minute video we used for this article was ready to play anywhere in the world only four to five seconds after the upload ended, and the high quality 720p version of the video was ready just eight seconds later.

That's a total of only 12.5 seconds after the upload was completed!

That’s a superb experience for all people who put a video online to share it. This is our magic.

Encoding times benchmark

What's next?

We are super proud to make this magic available to everyone as our benchmark (you can download the repo here and the video used here) demonstrates that we are increasing dramatically the Market performances to date.

Oh! And seconds are still too long: we won't rest until we reach few milliseconds :)

Cédric Montet

CEO of api.video

Create your free account

Start building with video now