Agnes – HLS Playback Service

Oct 2026

A playback service that streams approved HLS videos, fetches ads from Edith, and reports every ad view.

How Margo, Agnes, and Edith connect through Kafka, with the technologies each one uses
Margo, Edith, and Agnes, and how they fit together

Agnes stands for Adaptive Gateway for Networked Edge Streaming. It's the part of the simulated streaming service that viewers actually talk to.

What it does

  • Streams real HLS video, made with ffmpeg
  • Only serves videos that Margo approved
  • Asks Edith for an ad before each video
  • Reports finished ads to Kafka, so Edith can count them
  • Includes an Android app that plays the ad, then the video

Built with: Go, Kotlin, Media3, HLS, Apache Kafka, ffmpeg

Code: github.com/marlware/agnes