A media streaming service, which can stream on demand video, image (with tansformations) and audio and works as CDN.
# create .env file from .env-template
docker compose up
- Install Golang v1.19 from Go.dev
- Fork this repo, and clone the forked repo
cd zestream-server
go get .
go run main.go
- User calls API to prcoess the video.
- The API controller queues the event in a message queue (Kafka) and calls the given webhook.
- A ZeStream worker polls the event from queue which contains file url
- Worker fetches the file to local disk
- Another worker starts a FFmpeg thread to process the video
- Output is stored in local disk
- After FFmpeg finishes processing, another worker pushes the files to cloud storage
- CDN is connected to storage for fetching the files.
Check out contribution guidelines