Streaming the Stars: Video Pipelines for Artemis II
As a software engineer working on NASA's video services, a huge part of my job is making sure that when something historic happens, the world can watch it — without buffering, without dropouts, and on whatever device they happen to be holding.
The challenge
A launch is a once-in-a-moment event. There are no second takes. The video pipeline has to be reliable, scalable, and ready to handle an enormous spike in viewers the instant the countdown hits zero.
How the pipeline works
The flow, at a high level:
- Ingest the live feed from the source.
- Encode and transcode it into multiple qualities so it adapts to each viewer's connection.
- Package it using streaming protocols like HLS and DASH.
- Distribute it through content delivery networks so it reaches viewers everywhere at once.
Most of this runs on AWS Media Services, with Python automation gluing the pieces together and CloudWatch keeping an eye on everything in real time.
Why monitoring matters most
The encoding is interesting, but the part I find most important is monitoring and alerting. When you only get one shot, you need to know about a problem before it becomes visible to viewers — not after. Building those safety nets is where a lot of the real engineering lives.
I'll write more about the specifics of adaptive streaming in a future post.