1
0
mirror of https://github.com/algora-io/tv.git synced 2025-10-30 23:07:56 +02:00

update readme

This commit is contained in:
zafer
2024-04-01 21:03:06 +03:00
parent 4382fd19dc
commit e631cd181f

View File

@@ -23,41 +23,33 @@
## Architecture
### Overview
```mermaid
graph
Streamers{Streamers} --> Fly
Fly[Elixir App - Fly] --> RTMP
Fly --> Web[Web Server - Phoenix]
Fly --> Db[Postgres - Fly]
RTMP[RTMP Server - Membrane] -->|First mile delivery| Tigris[Object Storage - Tigris]
Fly[Fly<br>Elixir App] --> RTMP
Fly --> Web[Phoenix<br>Web Server]
Fly --> Db[Fly<br>Postgres]
RTMP[Membrane<br>RTMP Server] -->|First mile delivery| Tigris[Tigris<br>Object Storage]
Viewers{Viewers} -->|Last mile delivery| Tigris
Viewers --> Fly
```
### Livestream pipeline
```mermaid
graph
Encoder{Encoder} -->|RTMP packets| Source[RTMP Source]
Encoder{Encoder<br>e.g. OBS} -->|RTMP| Source[FLV Demuxer]
Source -->|video| H264Parser[H264 Parser]
Source -->|audio| AACParser[AAC Parser]
H264Parser --> H264Payloader[H264 Payloader]
AACParser --> AACPayloader[AAC Payloader]
H264Payloader --> CMAFMuxerVideo[CMAF Muxer]
AACPayloader --> CMAFMuxerAudio[CMAF Muxer]
CMAFMuxerVideo --> HLSSink
CMAFMuxerAudio --> HLSSink
HLSSink[HLS Sink] --> Tigris{Tigris Object Storage}
```
```mermaid
graph
App[Application] --> RTMP[RTMP Server]
App --> Endpoint[Web Server]
App --> Repo[Ecto Repo]
App --> Telemetry
App --> PubSub
App --> Presence
App --> DNSCluster[DNS Cluster]
App --> FlyRPC[Fly RPC]
CMAFMuxerVideo --> fMP4
CMAFMuxerAudio --> fMP4
fMP4[Fragmented MP4] -->|HLS| Tigris{Tigris Object Storage}
```
<!-- GETTING STARTED -->
@@ -73,6 +65,7 @@ Here is what you need to be able to run Algora TV.
- Elixir (Version: >=1.12)
- OTP
- PostgreSQL
- FFmpeg
## Development