Tutorials

Follow along these tutorials using api.video

Dive into our collection of tutorials, from learning on how to use api.video, building clones, to quick integrations. Whether you're a getting started or already building video-centric products, check our step-by-step guides.

api.video blog tutorials

LATEST ARTICLES

View out my window

Tutorials · 6 min read

Video streaming with a Raspberry Pi

At the birth of the internet, we had webcams that took a picture every x minutes. Now, anyone can set up a live stream of video - with just a camera and a network connection. This kicks off a series of posts experimenting with live streaming video. In this post, we'll use a Raspberry Pi.

Doug Sillars · December 29, 2020

Building record.a.video part 3: the MediaRecorder API

Tutorials · 10 min read

Building record.a.video part 3: the MediaRecorder API

As we continue our series on creating record.a.video, I'll discuss the MediaRecorder API, where I create a video stream from the browser canvas to create the output video. This output stream then feeds into the video upload (for video on demand playback) or the live stream (for immediate and live playback).

Doug Sillars · April 7, 2021

Live stream with FFMpeg cli and Python

Tutorials · 8 min read

Live stream to the browser with FFMPEG CLI and Python

Learn how to set up ffmpeg and run a live stream using your Mac's web camera. Once we've got that working, we'll set up the command in a python script and after that, the sky's the limit!

Erikka Innes · March 4, 2021

Create an infinite scrolling wall of holiday videos with Laravel 8

Tutorials · 4 min read

Create an infinite scrolling wall of holiday videos with Laravel 8

Create an infinite wall of scrolling videos using api.video and Laravel 8

Erikka Innes · December 9, 2021

api.video and Discord

Tutorials · 3 min read

Upload a video: Discord

Extending the "upload a video" HTML page to send the video to Discord.

Doug Sillars · November 30, 2020

Build a self guided training course with api.video

Tutorials · 5 min read

Build a self guided training course with api.video

When building a video training course, you may wish to guide users through the content by unlocking videos only after certain content has been viewed. In this post, we'll walk through how to build such a flow with api.video and our session analytics.

Doug Sillars · June 28, 2021

studying under magnifying glass

Tutorials · 4 min read

Understanding video Parameters: ffprobe

Have you ever wondered the settings of a video? Size, bitrate, frames per second (and more?) FFprobe is part of the FFMpeg suite, and will give you these details. This is a simple online version - where you drop the url of the video you wish to learn about, and you'll get a full output of the video's parameters.

Doug Sillars · January 29, 2021

Extract Frames

Tutorials · 2 min read

Extract a set of frames from a video with FFMPEG and Python

Extract a set of images (frames) from your video that are evenly spaced throughout using FFMPEG and Python. If you want, at the end you can stitch the frames back together into a video that can be used as a video preview or trailer.

Erikka Innes · April 22, 2021

Private video

Tutorials · 3 min read

Creating private videos

There are videos that you want to share with the whole world, but for other videos, you might want to restrict the audience to just a handful of people, or maybe even just one person. In this tutorial, we'll use the private video token to ensure that each view can only be watched in a unique session, and cannot be shared.

Doug Sillars · September 7, 2020

sharing a video via livestream

Tutorials · 9 min read

Sharing a video: sending a video via live stream

Video on demand (VOD) is a great way to give your customers a way to watch videos when *they* want to watch them. But what if you want that recorded video to be played at a specific time? This is not possible with VOD, but is possible with a video live stream. In this post, we'll walk through the steps required to convert a recorded video into a video live stream for scheduled playback.

Doug Sillars · February 9, 2021