# nivincnc/cncverse-cloud-stream-extension architecture

> Architecture diagram of the GitHub repository nivincnc/cncverse-cloud-stream-extension, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nivincnc/cncverse-cloud-stream-extension
- Repository: https://github.com/nivincnc/cncverse-cloud-stream-extension

## Overview

This repository documents a catalog of CloudStream extensions spanning on-demand video, live streams, and audiobooks. The documented workflow is to add the repository in CloudStream, choose an extension, and have that extension browse an external site and fetch media. The supplied tree contains only logos, not extension code or a manifest, so implementation paths and internal call wiring cannot be verified; repository nodes therefore have null paths.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_integration["CloudStream integration"]
  node_cloudstream["CloudStream"]
  node_catalog["Extension catalog"]
end

subgraph group_ondemand["On-demand media"]
  node_ondemand_plugins["Video extensions"]
end

subgraph group_othermedia["Live and audio"]
  node_live_plugins["Live extensions"]
  node_audio_plugins["Audiobook extensions"]
end

node_user(("User"))
node_websites["Media websites"]
node_media["Fetched media"]

node_user -->|"uses"| node_cloudstream
node_user -->|"adds repository"| node_catalog
node_cloudstream -->|"loads extensions"| node_catalog
node_cloudstream -->|"selects extension"| node_ondemand_plugins
node_cloudstream -->|"selects extension"| node_live_plugins
node_cloudstream -->|"selects extension"| node_audio_plugins
node_ondemand_plugins -->|"browses"| node_websites
node_live_plugins -->|"browses"| node_websites
node_audio_plugins -->|"browses"| node_websites
node_websites -->|"serves media"| node_media
node_ondemand_plugins -->|"fetches"| node_media
node_live_plugins -->|"fetches"| node_media
node_audio_plugins -->|"fetches"| node_media
node_media -->|"returns media"| node_cloudstream

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_cloudstream,node_catalog,node_user toneBlue
class node_ondemand_plugins toneAmber
class node_live_plugins,node_audio_plugins toneMint
class node_websites,node_media toneIndigo
```

## Components

### CloudStream integration

- **CloudStream**
- **Extension catalog**

### On-demand media

- **Video extensions**

### Live and audio

- **Live extensions**
- **Audiobook extensions**

### Other components

- **User**
- **Media websites**
- **Fetched media**

## Connections

- User → CloudStream: uses
- User → Extension catalog: adds repository
- CloudStream → Extension catalog: loads extensions
- CloudStream → Video extensions: selects extension
- CloudStream → Live extensions: selects extension
- CloudStream → Audiobook extensions: selects extension
- Video extensions → Media websites: browses
- Live extensions → Media websites: browses
- Audiobook extensions → Media websites: browses
- Media websites → Fetched media: serves media
- Video extensions → Fetched media: fetches
- Live extensions → Fetched media: fetches
- Audiobook extensions → Fetched media: fetches
- Fetched media → CloudStream: returns media
