WebVTTStreamReader 1.0.1

dotnet add package WebVTTStreamReader --version 1.0.1
                    
NuGet\Install-Package WebVTTStreamReader -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="WebVTTStreamReader" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WebVTTStreamReader" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="WebVTTStreamReader" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add WebVTTStreamReader --version 1.0.1
                    
#r "nuget: WebVTTStreamReader, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package WebVTTStreamReader@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=WebVTTStreamReader&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=WebVTTStreamReader&version=1.0.1
                    
Install as a Cake Tool

WebVTTStreamReader

WebVTTStreamReader allows you to get a subtitle stream of an IPTV channel or a HLS stream. The stream listener will run on background thread.

In order for the library to work you need to pass the subtitle m3u8 url, you can find it by opening the main m3u8 url of the IPTV.

To install this library execute this command in your C# project :

dotnet add package WebVTTStreamReader

Example :

static void Main()
{
    SubStreamReader subStream = new SubStreamReader(
        "https://ndrint.akamaized.net/hls/live/2020766/ndr_int/master_cap_ger.m3u8",
        timeInitOffsetInMils: 3000,
        initDelayToRefreshInSec: 6
    );
    subStream.OnUpdateSubtitle += OnUpdateSubtitle;
    subStream.RunStreamListener();
    while(Console.ReadKey().Key != ConsoleKey.Q);
}

static void OnUpdateSubtitle(object sender, UpdateSubtitleEventArgs args)
{
    Console.ForegroundColor = ConsoleColor.Red;
    Console.WriteLine(args.StartTimeStamp + " --> " + args.EndTimeStamp + " : " + DateTime.UtcNow);
    Console.ForegroundColor = ConsoleColor.White;

    // Going through the subtitle block
    foreach (string item in args.BlockTexts)
    {
        Console.WriteLine(item);
    }
    Console.WriteLine();
}

This code will display the subtitles in the console as they are received.

Here is the project's github: https://github.com/nate-1/WebVTTStreamReader/

Feel free to create an issue or a pull request.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net5.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.1 584 10/28/2021
1.0.0 491 10/25/2021