A lightweight .NET library to download YouTube videos.
Clone or download
Latest commit 586421e Nov 17, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Move to .NET Standard (#92) May 22, 2018
icons Include non-thumbnail .db files Aug 6, 2015
samples/Valks Move to .NET Standard (#92) May 22, 2018
src Bump to v2.0.3 Nov 17, 2018
tests Move to .NET Standard (#92) May 22, 2018
.gitattributes Initial commit of tests/Compat Aug 21, 2015
.gitignore Update build script accordingly Aug 23, 2015
LICENSE Standardize license Jan 7, 2018
README.md Move to .NET Standard (#92) May 22, 2018
changelog.md Scrub my name from the repo Aug 14, 2017

README.md

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.