coder-with-a-bushido / neralai

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A simple media server in go with WHIP for ingress and HLS for egress

Go Report Card


Neralai Architecture

How does it work?

  1. A WHIP client sends media to Neralai using the WHIP endpoint /stream.
  2. The media is forwarded to ffmpeg for processing; HLS files are generated.
  3. Once the stream starts, the playlist file can be accessed by any HLS player from the endpoint /stream/{resourceId}/hls/stream.m3u8.
  4. The stream can be stopped with a DELETE call to /stream/{resourceId}, as supported by WHIP clients.

Running

Clone the repo and run the command

go run main.go

The server will run on port 8080 by default. Now, open the client/ directory and run it for demo.


Built with šŸ«¶ and

About

License:MIT License


Languages

Language:Go 80.0%Language:Svelte 14.6%Language:JavaScript 2.6%Language:Shell 1.6%Language:HTML 1.2%