CatNoir2006.MediathekViewWebLib 0.1.0

The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package CatNoir2006.MediathekViewWebLib --version 0.1.0
                    
NuGet\Install-Package CatNoir2006.MediathekViewWebLib -Version 0.1.0
                    
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="CatNoir2006.MediathekViewWebLib" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CatNoir2006.MediathekViewWebLib" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="CatNoir2006.MediathekViewWebLib" />
                    
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 CatNoir2006.MediathekViewWebLib --version 0.1.0
                    
#r "nuget: CatNoir2006.MediathekViewWebLib, 0.1.0"
                    
#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 CatNoir2006.MediathekViewWebLib@0.1.0
                    
#: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=CatNoir2006.MediathekViewWebLib&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=CatNoir2006.MediathekViewWebLib&version=0.1.0
                    
Install as a Cake Tool

CatNoir2006.MediathekViewWebLib

Standalone .NET client library for the MediathekViewWeb API — the public metadata index for German public broadcasting (ARD, ZDF, ORF, SR, 3Sat, KiKA, …) and the companion Zapp live‑TV API.

Features

  • 🔍 Full search query support: filters (title, topic, description, channel), pagination, sorting, broadcast‑date ranges, duration ranges
  • 🚫 Local exclusion filters (QueryFieldsDto.IsExclude = true) — applied after the API call
  • 📏 Stream size lookup for video URLs (opt‑in via MediathekViewApiClientOptions.FetchStreamSizes)
  • 📺 Zapp live‑TV metadata: channel list and current shows
  • 🌐 Channels and topics lists with instance‑based TTL cache
  • 📝 Smart subtitle URL extraction for ARD, ZDF, KiKA (WebVTT + TTML variants)
  • 🔁 Built‑in retry + circuit breaker via Polly v8
  • 🧰 DI friendly (AddMediathekViewWeb) or plain new + HttpClient

Targets

  • net9.0
  • net10.0

Installation

NuGet

dotnet add package CatNoir2006.MediathekViewWebLib

(Once a NuGet package has been published — for now git clone and reference the project.)

Quick Start

Plain instantiation

using CatNoir2006.MediathekViewWebLib;
using CatNoir2006.MediathekViewWebLib.Models;
using CatNoir2006.MediathekViewWebLib.Models.Enums;

var options = new MediathekViewApiClientOptions
{
    FetchStreamSizes = true,
    MaxPages = 3,
};

var httpClient = new HttpClient();
using var loggerFactory = LoggerFactory.Create(b => b.AddConsole());
var logger = loggerFactory.CreateLogger<MediathekViewApiClient>();

var client = new MediathekViewApiClient(httpClient, options, logger);

var query = new ApiQueryDto
{
    Size = 10,
    Queries = { new QueryFieldsDto { Fields = { QueryFieldType.Topic }, Query = "Tatort" } },
};

var result = await client.SearchAsync(query, CancellationToken.None);
foreach (var item in result.Results)
{
    Console.WriteLine($"{item.Timestamp:yyyy-MM-dd}  {item.Channel,-10}  {item.Title}");
}

Dependency Injection

using CatNoir2006.MediathekViewWebLib;

builder.Services.AddMediathekViewWeb(opts =>
{
    opts.MaxPages = 5;
    opts.FetchStreamSizes = false;
});

Then inject IMediathekViewApiClient wherever you need it.

Errors

All errors thrown by the library derive from MediathekException:

  • MediathekApiException — non‑successful HTTP status code (carries the status)
  • MediathekConnectionException — network / DNS / timeout
  • MediathekParsingException — unparseable response

License

MIT

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  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 is compatible.  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.

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