Algorithmia Blog - Deploying AI at scale

One Thousand Video Sources. One Microservice to Download Them All.

Automatically downloading video content from different types of web sources can be tricky. Not every website hosts files the same way, and sometimes hosting providers try to prevent people from programmatically downloading stuff. Thankfully, we have an algorithm for that!

What is the Smart Video Downloader?

The Smart Video Downloader is an algorithm that uses youtube-dl to simplify the process of accessing videos from a huge number of sources. Consider it to be a universal video downloading tool!

When should I use it?

The Smart Video Downloader is a great tool for preprocessing and formatting video files, similar to how Smart Image Downloader works except for video!

It’s most useful when deployed within an algorithm pipeline, like video transform or video metadata extraction as it allows app developers to generically handle any valid video source without needing to write separate video extraction functions for each possible source and format.

How do I use Smart Video Downloader?

Incorporating Smart Video Downloader into your application or algorithm is easy! Here’s how you can get started:

import Algorithmia
input = {
  "source":"https://www.youtube.com/watch?v=sUrJdsN_-B0",
  "output":"data://.my/collection/what_are_we_waiting_for.mp4"
}
client = Algorithmia.client('YOUR_API_KEY')
algo = client.algo('media/SmartVideoDownloader/0.2.2'?timeout=3000)
print algo.pipe(input)

Note we changed the timeout from the default to 3000; this is because the algorithm might take longer than the default 5 minutes to extract your video file, depending on the size and the source.

Interested in more video processing tools? Take a look at some of our other video processing algorithms:

Video Tag Sequencing
Video Metadata Extraction
Video Transform

Algorithm Engineer at Algorithmia, empowering users by building state-of-the-art, production-ready algorithms to solve their unique challenges

More Posts - Website

Follow Me:
TwitterLinkedIn