
> **Design proposal** — describes an earlier cloud-based architecture.
> See `project.md` for the actual implementation and `live-flow.md` for
> the live stream system diagram.

# Roku Church Channel – Technical Architecture

## System Components
1. Video ingest
2. Encoding pipeline
3. Storage system
4. Package manager
5. Scheduling engine
6. HLS playlist generator
7. CDN delivery
8. Roku client application

## High Level Architecture
```text
Content Sources
   |
   v
Azure Blob Storage (/media)
   |
   v
Encoding Worker (FFmpeg)
   |
   v
Azure Blob Storage (/hls)
   |
   v
Package Manager
   |
   v
Schedule Manager
   |
   v
Playlist Generator
   |
   v
Azure Front Door CDN
   |
   v
Roku Device
```

## Storage Layout
```text
/storage
    /media
        sermon001.mp4
        sermon002.mp4

    /hls
        /sermon001
            master.m3u8
            seg0001.ts
            seg0002.ts

    /packages
        PKG-MORNING.json
        PKG-SUNDAY.json

    /schedule
        2026-03-10.json
```

## Technology Stack
| Layer | Technology |
|---|---|
| Cloud | Azure |
| Storage | Azure Blob |
| Encoding | FFmpeg |
| Streaming | HLS |
| CDN | Azure Front Door |
| Client | Roku SceneGraph |
