media

media / SmartVideoDownloader / 0.2.4

README.md

Table of Contents

Introduction

This algorithm downloads videos from essentially any web resource, and reformats the extracted content into a standard video format automatically. It does this by using ffmpeg and youtube-dl.

Note: This algorithm uses third party APIs that may rate limit. Expect that the request may take several minutes to download and convert a video from a particular web resource, so setting a timeout longer than the default is recommended.

I/O

JSON Input

{  
   "source":String,
   "output":String
}
  • source - (required) - The url to any web hosted video content, can be a direct http link or content link (eg: https://youtu.be/WEw5uzu2VQQ, https://vimeo.com/channels/staffpicks/214947122, etc.) does not accept data API URI's, if one is passed an exception is thrown.
  • output - (optional) - the output data API collection and filename to save the video as. defaults to data://.algo/temp/UUID.mkv

note: when setting the output filename, the file extension is used to determine if we need to convert container formats.

base string Input

String
  • The url to any web hosted video content, see source. does not accept data API URI's, if one is passed an exception is thrown.

note: as there is no output parameter, it uses the default output

Examples

Json

Input

{  
   "source":"https://www.youtube.com/watch?v=VPbK2AFNwdI",
   "output":"data://.my/video_collection/crazy_cto.mkv"
}

Output

{
	"output":"data://.my/video_collection/crazy_cto.mkv"
}

String

Input

"https://www.facebook.com/BillGates/videos/10152332454511961/"

Output

{
	"output":"data://.algo/temp/dfd95279-853a-485d-867e-5571eacb457e.mkv"
}

Credits

This algorithm heavily uses youtube-dl to extract and download video content, it also uses ffmpeg for video container format and codec conversions.