LiveAds is a startup based out of San Francisco, CA focused on turning brands into broadcasters. During my time at LiveAds, I worked on two projects - Prompt and StreamStager.
Prompt was a research project intent on exploring the idea of a modern day teleprompter, that would shape the prompts according to events in a live stream. I built the backend architecture that handled video encoding. Video captured from the iPhone was streamed to an EC2 GPU instance via RTSP, which encoded the data with an HTML5 overlay.
The encoder used a nodejs server to orchestrate the lifecycle of a stream. At the start of a stream - the app sends a signal, spawning a
ffmpeg instance that reads the RTSP data.
ffmpeg merges it with the raw image data output by Phantomjs (a headless browser typically used for unit testing) every 1/30th of a second. The HTML5 overlay was controlled by the user via WebSockets, so that the view a person sees on the phone and the view on facebook would remain consistent. When the phone sends a disconnect signal, the server would terminate the ffmpeg instance.
I designed the architecture and back-end database schema that streamlined the data entry and parsing process significantly. Additionally, I built plugins that allowed for interactive comment presentation during the streams - used during the Q&A sections of the streams.