# sohag1192/live-tv-server architecture

> Architecture diagram of the GitHub repository sohag1192/live-tv-server, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sohag1192/live-tv-server
- Repository: https://github.com/sohag1192/live-tv-server

## Overview

This is a static web-based live-TV streaming platform. A viewer opens one of several player views, browses or searches channels, selects a stream, and watches it through HLS or DASH playback. The README also describes playlist synchronization, fallback sources, channel preferences, and player controls. No source excerpts were available, so relationships below are limited to those explicitly documented in the README; implementation details beyond the listed HTML pages and playlist are not inferred.

Main entry points: [`index.html`](https://github.com/sohag1192/live-tv-server/blob/master/index.html) (Primary player), [`Web Tv-V1/index.html`](https://github.com/sohag1192/live-tv-server/blob/master/Web%20Tv-V1/index.html) (Cinema player), [`Web Tv-V2/index.html`](https://github.com/sohag1192/live-tv-server/blob/master/Web%20Tv-V2/index.html) (TV guide), [`Web Tv-V2`](https://github.com/sohag1192/live-tv-server/tree/master/Web%20Tv-V2) (Standalone players)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_views["Player views"]
  node_primary["Primary player<br/>[index.html]"]
  node_cinema["Cinema player<br/>[index.html]"]
  node_guide["TV guide<br/>[index.html]"]
  node_standalone["Standalone players"]
  node_player_controls["Player controls<br/>[index.html]"]
end

subgraph group_catalog["Channel discovery"]
  node_channel_catalog["Channel catalog<br/>[index.html]"]
  node_search_filters["Search and filters<br/>[index.html]"]
end

subgraph group_streams["Streams and playback"]
  node_playlist_sync["Playlist sync<br/>[index.html]"]
  node_toffee_playlist["Toffee playlist"]
  node_local_playlist["Local playlist"]
  node_stream_fallbacks["Stream fallbacks<br/>[index.html]"]
  node_vault["Stream vault<br/>[index.html]"]
  node_hls_playback["HLS playback<br/>[index.html]"]
  node_hlsjs["Hls.js"]
  node_dash_playback["DASH playback<br/>[index.html]"]
  node_shaka["Shaka Player"]
end

subgraph group_preferences["Viewer preferences"]
  node_favorites_history["Favorites and history<br/>[index.html]"]
  node_themes_quality["Themes and quality<br/>[index.html]"]
  node_local_storage[("Browser storage")]
end

node_viewer(("Viewer"))

node_viewer -->|"opens"| node_primary
node_viewer -->|"opens"| node_cinema
node_viewer -->|"opens"| node_guide
node_viewer -->|"opens"| node_standalone
node_primary -->|"shows"| node_channel_catalog
node_primary -->|"filters"| node_search_filters
node_primary -->|"syncs"| node_playlist_sync
node_playlist_sync -->|"fetches"| node_toffee_playlist
node_playlist_sync -->|"falls back"| node_local_playlist
node_playlist_sync -->|"uses"| node_stream_fallbacks
node_stream_fallbacks -->|"falls back"| node_vault
node_primary -->|"plays HLS"| node_hls_playback
node_hls_playback -->|"uses"| node_hlsjs
node_primary -->|"plays DASH"| node_dash_playback
node_dash_playback -->|"uses"| node_shaka
node_primary -->|"provides"| node_player_controls
node_primary -->|"tracks"| node_favorites_history
node_primary -->|"provides"| node_themes_quality
node_favorites_history -->|"persists to"| node_local_storage
node_themes_quality -->|"persists to"| node_local_storage

click node_primary "https://github.com/sohag1192/live-tv-server/blob/master/index.html"
click node_cinema "https://github.com/sohag1192/live-tv-server/blob/master/Web%20Tv-V1/index.html"
click node_guide "https://github.com/sohag1192/live-tv-server/blob/master/Web%20Tv-V2/index.html"
click node_standalone "https://github.com/sohag1192/live-tv-server/tree/master/Web%20Tv-V2"
click node_channel_catalog "https://github.com/sohag1192/live-tv-server/blob/master/index.html"
click node_search_filters "https://github.com/sohag1192/live-tv-server/blob/master/index.html"
click node_playlist_sync "https://github.com/sohag1192/live-tv-server/blob/master/index.html"
click node_local_playlist "https://github.com/sohag1192/live-tv-server/blob/master/toffee_playlist.m3u"
click node_stream_fallbacks "https://github.com/sohag1192/live-tv-server/blob/master/index.html"
click node_vault "https://github.com/sohag1192/live-tv-server/blob/master/index.html"
click node_hls_playback "https://github.com/sohag1192/live-tv-server/blob/master/index.html"
click node_dash_playback "https://github.com/sohag1192/live-tv-server/blob/master/index.html"
click node_player_controls "https://github.com/sohag1192/live-tv-server/blob/master/index.html"
click node_favorites_history "https://github.com/sohag1192/live-tv-server/blob/master/index.html"
click node_themes_quality "https://github.com/sohag1192/live-tv-server/blob/master/index.html"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_primary,node_cinema,node_guide,node_standalone,node_player_controls,node_viewer toneBlue
class node_channel_catalog,node_search_filters toneAmber
class node_playlist_sync,node_toffee_playlist,node_local_playlist,node_stream_fallbacks,node_vault,node_hls_playback,node_hlsjs,node_dash_playback,node_shaka toneMint
class node_favorites_history,node_themes_quality,node_local_storage toneRose
```

## Components

### Player views

- [Primary player](https://github.com/sohag1192/live-tv-server/blob/master/index.html): `index.html`
- [Cinema player](https://github.com/sohag1192/live-tv-server/blob/master/Web%20Tv-V1/index.html): `Web Tv-V1/index.html`
- [TV guide](https://github.com/sohag1192/live-tv-server/blob/master/Web%20Tv-V2/index.html): `Web Tv-V2/index.html`
- [Standalone players](https://github.com/sohag1192/live-tv-server/tree/master/Web%20Tv-V2): `Web Tv-V2`
- [Player controls](https://github.com/sohag1192/live-tv-server/blob/master/index.html): `index.html`

### Channel discovery

- [Channel catalog](https://github.com/sohag1192/live-tv-server/blob/master/index.html): `index.html`
- [Search and filters](https://github.com/sohag1192/live-tv-server/blob/master/index.html): `index.html`

### Streams and playback

- [Playlist sync](https://github.com/sohag1192/live-tv-server/blob/master/index.html): `index.html`
- **Toffee playlist**
- [Local playlist](https://github.com/sohag1192/live-tv-server/blob/master/toffee_playlist.m3u): `toffee_playlist.m3u`
- [Stream fallbacks](https://github.com/sohag1192/live-tv-server/blob/master/index.html): `index.html`
- [Stream vault](https://github.com/sohag1192/live-tv-server/blob/master/index.html): `index.html`
- [HLS playback](https://github.com/sohag1192/live-tv-server/blob/master/index.html): `index.html`
- **Hls.js**
- [DASH playback](https://github.com/sohag1192/live-tv-server/blob/master/index.html): `index.html`
- **Shaka Player**

### Viewer preferences

- [Favorites and history](https://github.com/sohag1192/live-tv-server/blob/master/index.html): `index.html`
- [Themes and quality](https://github.com/sohag1192/live-tv-server/blob/master/index.html): `index.html`
- **Browser storage**

### Other components

- **Viewer**

## Connections

- Viewer → Primary player: opens (evidence: `README.md`)
- Viewer → Cinema player: opens (evidence: `README.md`)
- Viewer → TV guide: opens (evidence: `README.md`)
- Viewer → Standalone players: opens (evidence: `README.md`)
- Primary player → Channel catalog: shows (evidence: `README.md`)
- Primary player → Search and filters: filters (evidence: `README.md`)
- Primary player → Playlist sync: syncs (evidence: `README.md`)
- Playlist sync → Toffee playlist: fetches (evidence: `README.md`)
- Playlist sync → Local playlist: falls back (evidence: `README.md`)
- Playlist sync → Stream fallbacks: uses (evidence: `README.md`)
- Stream fallbacks → Stream vault: falls back (evidence: `README.md`)
- Primary player → HLS playback: plays HLS (evidence: `README.md`)
- HLS playback → Hls.js: uses (evidence: `README.md`)
- Primary player → DASH playback: plays DASH (evidence: `README.md`)
- DASH playback → Shaka Player: uses (evidence: `README.md`)
- Primary player → Player controls: provides (evidence: `README.md`)
- Primary player → Favorites and history: tracks (evidence: `README.md`)
- Primary player → Themes and quality: provides (evidence: `README.md`)
- Favorites and history → Browser storage: persists to (evidence: `README.md`)
- Themes and quality → Browser storage: persists to (evidence: `README.md`)
