Take the 2-minute tour ×

We'd like to stream h.264 video to a browser based on frames generated on the server. The frames would be synthetic, i.e. not coming from another "real movie", mpeg, etc. We'd be generating them separately as part of a simulation, potentially using OpenGL/DirectX to render individual frames. In my naive approximation, we'd have a bitmap set aside in memory, render to it, tell the encoder to do its business, and repeat. The end user would see a continuously streaming video.

I'm aware of several non-GPL software-based h.264 encoders, e.g. Intel IPP, but understand that these are often not capable of h.264 compression in real time. In an ideal world, our movies would be several megapixels, e.g. two HD TVs. I understand we need dedicated hardware for that. Are people aware of expansion cards, specially-connected servers, etc. that are capable of this?

share|improve this question
I was going to say "don't expect too much from the GPU". I have some experience with image compression formats, and it is harder to paralelize than People Usually Think. But apparrantly video is more suitable: check badaboomit.com. But sadly, they forgot an API.. –  user180326 Sep 9 '10 at 6:16
Looks like badaboom is actually Elemental under the covers, a venture-backed video compression firm. Looks like they're focusing on shrinkwrap devices & software instead of licensing APIs. –  Sebastian Good Sep 10 '10 at 2:41

1 Answer 1

just two words - THEY SUCK. GPU avc encoders are incapable of RDO at all. And without RDO it is not an encoder. Actually if you take x264 and use some decent I7 it will beat out any GPU encoder at comparable quality.

share|improve this answer
Do you mean that RDO? en.wikipedia.org/wiki/Rate%E2%80%93distortion_optimization And does NVENC (hardware h264 encoder in Kepler) have RDO or NVCUVENC (CUDA h264 encoder) have RDO? –  Alex Nov 3 '13 at 15:24

Your Answer


