{"id":13581261,"url":"https://github.com/mediathekview/mediathekviewweb","last_synced_at":"2026-02-05T06:33:36.525Z","repository":{"id":12555459,"uuid":"72232113","full_name":"mediathekview/mediathekviewweb","owner":"mediathekview","description":"Eine Weboberfläche als Alternative zum Java-Client","archived":false,"fork":false,"pushed_at":"2024-09-03T08:13:11.000Z","size":20008,"stargazers_count":963,"open_issues_count":98,"forks_count":68,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-04-01T13:44:49.873Z","etag":null,"topics":["ard","cloud","german","mediathek","mediathekview","sender","stream","television","tv","video","web","zdf"],"latest_commit_sha":null,"homepage":"https://mediathekviewweb.de/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mediathekview.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-28T18:27:29.000Z","updated_at":"2025-04-01T09:50:07.000Z","dependencies_parsed_at":"2023-01-13T17:01:05.427Z","dependency_job_id":"2794e957-a2da-45eb-ab87-4be15a339312","html_url":"https://github.com/mediathekview/mediathekviewweb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mediathekview%2Fmediathekviewweb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mediathekview%2Fmediathekviewweb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mediathekview%2Fmediathekviewweb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mediathekview%2Fmediathekviewweb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mediathekview","download_url":"https://codeload.github.com/mediathekview/mediathekviewweb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247450067,"owners_count":20940852,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ard","cloud","german","mediathek","mediathekview","sender","stream","television","tv","video","web","zdf"],"created_at":"2024-08-01T15:01:59.751Z","updated_at":"2026-02-05T06:33:36.515Z","avatar_url":"https://github.com/mediathekview.png","language":"TypeScript","readme":"# MediathekViewWeb → [mediathekviewweb.de](https://mediathekviewweb.de/)\n\nMediathekViewWeb ist eine Web-Oberfläche für den schnellen und einfachen Zugriff auf die Filmliste des [MediathekView Projekts](https://mediathekview.de/).\n\nIm Gegensatz zur Desktop-Anwendung MediathekView muss bei MediathekViewWeb weder ein Programm installiert noch eine Filmliste manuell geladen werden. Die Suche steht augenblicklich im Browser zur Verfügung – auch auf Smartphones und Tablets.\n\n![Benutzeroberfläche von MediathekViewWeb](./images/website.png)\n\n## Features im Überblick\n\n- **Keine Installation:** Einfach im Browser öffnen und lossuchen.\n- **Blitzschnelle Suche:** Suchanfragen werden direkt auf dem Server verarbeitet.\n- **Leistungsstarke Suchsyntax:** Filtere präzise nach Sender, Thema, Titel, Dauer und mehr.\n- **Mobilfreundlich:** Das responsive Design funktioniert auf Desktops, Tablets und Smartphones.\n- **Integrierter Videoplayer:** Viele Inhalte können direkt auf der Website abgespielt werden.\n- **RSS-Feeds:** Abonniere deine Suchen und bleibe über neue Inhalte auf dem Laufenden.\n\n## Bedienung \u0026 Suchsyntax\n\n### Grundlagen\n\nTippe einfach einen Suchbegriff in die Suchleiste ein. Standardmäßig wird in den Feldern **Thema** und **Titel** gesucht. In den Ergebnissen kannst du Videos direkt abspielen oder herunterladen.\n\n### Erweiterte Suche mit Selektoren\n\nFür präzisere Ergebnisse kannst du spezielle Selektoren verwenden. Ein Selektor besteht aus einem Symbol, gefolgt von deinem Suchbegriff (ohne Leerzeichen).\n\n| Selektor | Feld               | Beispiel      | Beschreibung                                               |\n| :------- | :----------------- | :------------ | :--------------------------------------------------------- |\n| `!`      | Sender             | `!ARD`        | Findet Inhalte des Senders \"ARD\".                          |\n| `#`      | Thema              | `#Tatort`     | Findet Inhalte mit dem Thema \"Tatort\".                     |\n| `+`      | Titel              | `+Schokolade` | Findet Inhalte mit \"Schokolade\" im Titel.                  |\n| `*`      | Beschreibung       | `*Berlin`     | Findet Inhalte mit \"Berlin\" in der Beschreibung.           |\n| `\u003e`      | Dauer (länger als) | `\u003e80`         | Findet Inhalte, die länger als 80 Minuten sind.            |\n| `\u003c`      | Dauer (kürzer als) | `\u003c10`         | Findet Inhalte, die kürzer als 10 Minuten sind.            |\n| (keiner) | Allgemeine Suche   | `Nachrichten` | Sucht standardmäßig nach \"Nachrichten\" in Thema und Titel. |\n\n---\n\n### Suchlogik anwenden\n\n**1. Selektoren kombinieren**\n\nDu kannst mehrere Selektoren kombinieren, um deine Suche weiter zu verfeinern.\n\n- **Beispiel:** `!ARD #Tatort`\n- **Ergebnis:** alle \"Tatort\"-Folgen des Senders ARD.\n\n**2. Mehrere Werte pro Selektor (ODER-Suche)**\n\nWenn du denselben Selektor mehrmals verwendest, werden die Werte mit **ODER** verknüpft.\n\n- **Beispiel:** `!ARD !ZDF #Reportage`\n- **Ergebnis:** alle Reportagen, die auf **ARD** _oder_ **ZDF** liefen.\n\n**3. Mehrere Wörter pro Wert (UND-Suche)**\n\nUm nach Inhalten zu suchen, die mehrere Wörter enthalten müssen, trenne diese mit einem Komma (`,`). Dies funktioniert für die Selektoren `!`, `#`, `+` und `*`.\n\n- **Beispiel:** `#Olympia,Tokio`\n- **Ergebnis:** Inhalte, die im Thema \"Olympia\" _und_ \"Tokio\" enthalten.\n\n---\n\n### Praxisbeispiele für die Suche\n\n1.  **Finde alle Tatort-Folgen von ARD oder WDR, die länger als 80 Minuten sind:**\n\n    ```plaintext\n    !ard !wdr #tatort \u003e80\n    ```\n\n2.  **Finde Dokumentationen über das Weltall und das Universum auf ZDFinfo, die länger als 30 Minuten sind:**\n\n    ```plaintext\n    !zdfinfo #weltall #universum \u003e30\n    ```\n\n3.  **Finde einzelne Beiträge von Tagesschau24, die kürzer als 10 Minuten sind:**\n\n    ```plaintext\n    !tagesschau24 \u003c10\n    ```\n\n4.  **Finde Inhalte zu \"Sturm der Liebe\" _und_ \"Rote Rosen\" von ARD _und_ NDR:**\n    ```plaintext\n    !ard !ndr #sturm,der,liebe #rote,rosen\n    ```\n\n## Weitere Funktionen\n\n### Der \"Überall\"-Schalter\n\nWenn dieser Schalter aktiviert ist, sucht ein allgemeiner Begriff (ohne Selektor) in **allen** Feldern: Sender, Thema, Titel und Beschreibung. Das ist nützlich für eine breitere, unspezifische Suche.\n\n### Sortierung\n\nDie Suchergebnisse können nach verschiedenen Kriterien wie **Datum**, **Dauer** oder **Sender** auf- und absteigend sortiert werden.\n\n### RSS-Feed\n\nJede Suchanfrage kann als [RSS-Feed](\u003chttps://de.wikipedia.org/wiki/RSS_(Web-Feed)\u003e) abonniert werden. Klicke dazu auf das **RSS-Symbol**, um den Feed-Link zu erhalten. So wirst du automatisch über neue Ergebnisse zu deiner Suche informiert.\n\n## FAQ\n\n### Warum kann ich SRF- und ORF-Beiträge nicht direkt herunterladen?\n\nDie Sender ORF und SRF stellen ihre Inhalte oft nur als **HLS-Streams** zur Verfügung, nicht als einzelne Videodatei. Diese Streams können zwar direkt auf der Webseite abgespielt werden, der Download liefert aber nur eine `.m3u8`-Playlist-Datei, die keine Videodaten enthält.\n\nUm diese Streams dennoch herunterzuladen, empfehlen wir den Desktop-Client [**MediathekView**](https://mediathekview.de/) oder spezialisierte Kommandozeilen-Tools wie [**yt-dlp**](https://yt-dlp.org/). Alternativ funktioniert es auch mit dem VLC Media Player.\n\n### Wie kann ich Streams mit dem VLC Media Player speichern?\n\n#### Voraussetzungen\n\n- Der [**VLC Media Player**](https://www.videolan.org/vlc/) ist installiert.\n- Der Link zum `.m3u8`-Stream ist aus MediathekViewWeb in die Zwischenablage kopiert.\n\n#### Konvertierung\n\n1.  Öffne den VLC Media Player.\n2.  Öffne den Netzwerkstream-Dialog: **Medien** → **Netzwerkstream öffnen...** (oder `Strg+N`).\n3.  Füge den `.m3u8`-Link aus der Zwischenablage in das Adressfeld ein.\n4.  Klicke unten auf den kleinen Pfeil neben \"Wiedergeben\" und wähle **Konvertieren** aus (oder `Alt+O`).\n5.  Wähle im neuen Fenster ein **Profil** aus, z.B. `Video - H.264 + MP3 (MP4)`.\n6.  **(Optional, aber empfohlen)** Um die Originalqualität beizubehalten und Zeit zu sparen:\n    - Klicke auf das **Werkzeug-Symbol** (Schraubenschlüssel) neben dem Profil.\n    - Wähle den Reiter **Videocodec** und aktiviere die Option `Originalvideospur beibehalten`.\n    - Wähle den Reiter **Audiocodec** und aktiviere die Option `Originalaudiospur beibehalten`.\n    - Klicke auf **Speichern**.\n7.  Wähle über **Durchsuchen** eine **Zieldatei** aus.\n8.  Klicke auf **Start**, um den Speichervorgang zu beginnen. Der Fortschrittsbalken in VLC zeigt den Download-Status an.\n\n## Für Entwickler\n\n### Technologie-Stack\n\n#### Serverseitig\n\n- **Node.js**: Serverseitige JavaScript-Laufzeitumgebung.\n- **Express**: Web-Framework für die API.\n- **OpenSearch**: Such- und Analyse-Engine für die Indizierung und Abfrage der Filmliste.\n- **Valkey**: Ein leistungsstarker In-Memory-Datenspeicher (Fork von Redis) für Caching.\n\n#### Clientseitig\n\n- **Svelte**: Reaktives Frontend-Framework zum Erstellen der Benutzeroberfläche.\n- **Tailwind CSS**: Ein CSS-Framework für modernes und responsives Design.\n- **Video.js**: Ein erweiterbarer HTML5-Videoplayer.\n","funding_links":[],"categories":["Overview","Svelte","web"],"sub_categories":["Other services"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmediathekview%2Fmediathekviewweb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmediathekview%2Fmediathekviewweb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmediathekview%2Fmediathekviewweb/lists"}