/libvideo

A lightweight .NET library to download YouTube videos.

Primary LanguageC#BSD 2-Clause "Simplified" LicenseBSD-2-Clause

libvideo

icon

NuGet NuGet license Join the chat at https://gitter.im/jamesqo/libvideo

libvideo (aka VideoLibrary) is a modern .NET library for downloading YouTube videos. It is portable to most platforms and is very lightweight.

Installation

You can grab a copy of the library on NuGet by running:

Install-Package VideoLibrary

Alternatively, you can try building the repo if you like your assemblies extra-fresh.

Supported Platforms

  • .NET Framework 4.5+
  • Windows 10 Universal apps
  • Portable Class Libraries
  • Xamarin.iOS
  • Xamarin.Android
  • Mono (Mac/Linux)
  • Windows 8.1 and 8.0
  • Windows Phone 8.1

Getting Started

Here's a small sample to help you get familiar with libvideo:

using VideoLibrary;

void SaveVideoToDisk(string link)
{
    var youTube = YouTube.Default; // starting point for YouTube actions
    var video = youTube.GetVideo(link); // gets a Video object with info about the video
    File.WriteAllBytes(@"C:\" + video.FullName, video.GetBytes());
}

Or, if you use Visual Basic:

Imports VideoLibrary

Sub SaveVideoToDisk(ByVal link As String)
     Dim video = YouTube.Default.GetVideo(link)
     File.WriteAllBytes("C:\" & video.FullName, video.GetBytes())
End Sub

If you'd like to check out some more of our features, take a look at our docs. You can also refer to our example application (named Valks, yes, I know, it's a silly name) if you're looking for a more comprehensive sample.

License

libvideo is licensed under the BSD 2-clause license.

FAQ

What's the difference between libvideo and YoutubeExtractor?

libvideo:

  • Can be used in Portable Class Libraries
  • Supports WinRT projects (e.g. Windows 10)
  • Is roughly 400% faster (yes, it's true)

YoutubeExtractor:

  • Supports Silverlight
  • Supports Flash audio extraction

Can I switch from YoutubeExtractor without having to refactor my code?

Absolutely! Check out our libvideo.compat package. It has the same API as YoutubeExtractor, but uses libvideo as its backend so your application will get a major speed boost.

Do you accept donations?

Thanks! I'm flattered, but it's not really necessary. If anything, you should donate to the creator of YoutubeExtractor, because this project wouldn't have happened if it weren't for him.