libvideo (aka VideoLibrary) is a modern .NET library for downloading YouTube videos. It is portable to most platforms and is very lightweight.
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.
- .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
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.
libvideo is licensed under the BSD 2-clause license.
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
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.
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.
You can reach me on Twitter at @jameskodev, or /u/Subtle__ on Reddit.