Aliencube.YouTubeSubtitlesExtractor
2.0.0
dotnet add package Aliencube.YouTubeSubtitlesExtractor --version 2.0.0
NuGet\Install-Package Aliencube.YouTubeSubtitlesExtractor -Version 2.0.0
<PackageReference Include="Aliencube.YouTubeSubtitlesExtractor" Version="2.0.0" />
paket add Aliencube.YouTubeSubtitlesExtractor --version 2.0.0
#r "nuget: Aliencube.YouTubeSubtitlesExtractor, 2.0.0"
// Install Aliencube.YouTubeSubtitlesExtractor as a Cake Addin #addin nuget:?package=Aliencube.YouTubeSubtitlesExtractor&version=2.0.0 // Install Aliencube.YouTubeSubtitlesExtractor as a Cake Tool #tool nuget:?package=Aliencube.YouTubeSubtitlesExtractor&version=2.0.0
YouTube Subtitles Extractor
This is the NuGet package library that retrieves subtitles from a given YouTube video, inspired by @devhims' YouTube Caption Extractor.
Known Issues
- If you use this library on your Blazor WebAssembly project, you might encounter the CORS error. The only workaround is to use a facade API to retrieve the subtitles.
Getting Started
Install the NuGet package to your project.
Add the namespace to your code.
using Aliencube.YouTubeSubtitlesExtractor;
Get the YouTube video URL.
var youtubeUrl = "https://www.youtube.com/watch?v=i8tMiWHK05M";
Create an instance of
YouTubeVideo
class.var http = new HttpClient(); var youtube = new YouTubeVideo(http);
Extract subtitles from the given YouTube video URL. There are a few options to extract subtitles.
// Extract video details from the given YouTube video URL. VideoDetails details = await youtube.ExtractVideoDetailsAsync(youtubeUrl); // Extract a single subtitle from the given YouTube video URL. // - defaults to English (en) Subtitle subtitle = await youtube.ExtractSubtitleAsync(youtubeUrl); // Extract a single subtitle from the given YouTube video URL with the specified language code. // eg) Korean (ko) Subtitle subtitle = await youtube.ExtractSubtitleAsync(youtubeUrl, "ko"); // Extract list of subtitles from the given VideoOptions instance. // eg) English and Korean (ko) var options = new VideoOptions { Url = youtubeUrl, LanguageCodes = { "en", "ko" } }; List<Subtitle> subtitles = await youtube.ExtractSubtitlesAsync(options);
Sample Console App
You can find a sample console app to extract YouTube video details from here. Alternatively, run the following command to run the console app.
dotnet run --project ./samples/YouTubeSubtitlesExtractor.ConsoleApp -- -u [YOUTUBE_VIDEO_URL]
Issues or Feedbacks
Please leave any issues or feedbacks on the GitHub Issue page.
TO-DOs
- devcontainer settings
Acknowledgments
- Icons made by Freepik from flaticon.com.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.