Lights, Camera, Streaming!

It’s been an exciting (and busy) summer at Elemental. In addition to heavy development of Elemental Server, our file-based transcoding solution, we started thinking about how to apply our GPU encoding technology to support streaming live events over the web. In today's world of adaptive bitrate streaming, live encoding solutions need to support significantly more streams than in the early days of web broadcasting.  The density of streams that we can achieve using GPUs is far beyond that of CPU-only solutions, so it’s a natural extension of our technology.

I learned a very valuable lesson while working on live encoding...never show something to a CEO that you aren't ready to show to the world.  One Friday back in July, I was playing around with an HD-SDI input card and a signal generator.  After a few hours of coding, I had a video stream of some fancy color bars being encoded in real time, and showed a few people around the office.  Sam, our CEO, caught wind of this and got so excited he said, "Hey, Jen-Hsun Huang (CEO of NVIDIA) is dropping by the office this afternoon, do you think we can have this ready to demo for him?"  In the startup world, things move fast ... but usually you get more than just a couple hours to prepare a demo for external viewing!  A few rebuilds later, Jen-Hsun showed up at Elemental world headquarters (earning cheers by bringing with him a couple cases of beer) and we were able to show off our first live H.264 stream produced on an NVIDIA GPU. Now that I'd shown this to two CEOs, there were sure to be painful repercussions ...

software engineer greg streaming GPU Technology Conference with Elemental Server

Command central for live streaming at the GPU Technology Conference: Software Engineer Greg and two Elemental Servers

Fast forward a couple of months: I find myself and a couple Elemental Servers sitting in a cramped hallway on the catwalk above the GPU Technology Conference main stage. With only a few months of development under our belts, NVIDIA had asked us to provide the encoding for webcasting of all the keynote speeches for their conference in San Jose.  After months of late nights put in by the Elemental Server engineering team and with the great help of the webcasting magicians at iStreamPlanet, we successfully streamed the conference out to the world in real time. You can check out the archives at http://www.nvidia.com/gtc.

The amount of work that goes into creating, producing and streaming an event like the GPU Technology Conference is massive and it takes a lot of talented people to pull it off. While encoding for the web is one of the fundamental pieces of this process, the webcast producers have many other variables to deal with and they need the encoder to be a rock-solid piece of equipment that they can “set and forget.” There is no margin for error when it comes to streaming a live event; the encoder needs to be up, the network must maintain consistent  throughput, the video player must be live on the web site and pointed at the correct stream, and the on-demand archives must be put online as soon as possible. Getting to experience this process firsthand has given me and the engineering team quite a few new ideas for our live encoding product. We’ll be sure to do everything we can to enable companies like iStreamPlanet to continue streaming more and more live content to the web. Though it was pretty stressful introducing new technology on such short notice to a worldwide audience, Elemental was up to the challenge and the event marked another milestone in the evolution of GPU computing!

Trackback URL for this post:

http://elementaltechnologies.com/trackback/151