using a cheap GPU / FFmpeg to encode high quality Flash video
We’ve had to devise a way for a client to quickly encode multiple sources of high quality video using white box equipment. The video would come in spurts from webcam captures and uploaded WMV and AVI.
The problem in this instance is not that their server can’t take the load. It easily could . Well tuned video applications will sense the server load and queue the video encoding jobs. Somehow Youtube used to do this very thing in its early days.
They — the client — absolutely didn’t want to ramp up to the slightly more expensive dual CPU class as we suggested initially. Their point which I incorrectly dismissed was the dual processor would have collateral issues that were not worth the possible benefits. It would mean tuning or even changing much of their server software and siphon off an unacceptable level of management focus. Not to mention consulting and IT expense. This is true actually. No matter how well planed out moving to new network hardware is alway s fraught with unforeseen problem.
The solution is simple on paper.
We can insert a relatively inexpensive graphics card and pipe much of the heavy lifting through the GPU with FFmpeg. The testing on the local server shows truly amazing results. Properly configured a plain Jane Linux box can be a real video workhorse.
I’ll post the hardware details after a few more days of testing and talks with the hosting provider are done..



John- email me asap.
Thanks!
kc
February 1, 2007
Could you please explain, how can i make it possible, i’d like to try on my Linux box as well, i really can’t imagine how it is possible to do…
I’ll be awake
Thanks and good luck
Antton
March 29, 2007
any updates on this topic?
llamasonic
May 8, 2007
All my research (basically Google and a running numerous encoding servers) leads me to this conclusion: Neither FFMPEG not MEnCoDER is capable of using the GPU for encoding purposes as of this writing. MPlayer can, with some tweaking, use GPU for DECODING MPEG only.
I’ve spent a lifetime looking at ffmpeg use 100% cpu on linux. Not out of the box, its not possible. And yes, I would like to see how the author can prove his claims.
The post is dated Jan 2007? its what 4 months, and no update. I just had to reply when I saw this blog which I don’t usually. I wonder how I missed this before in my searches.
I also dont see why it would be expensive or difficult to switch to Dual CPU unless your client has been using the same old system for more than 4 years. All systems since the past two years can “virtually” support dual processing and hence use SMP kernel. Switching to dual physical processor will have absolutely no migration impact. I would understand if let’s say you said, 32bit to 64bit. Kindly explain if this is not all a joke and you guys are really serious.
Peace out.
Vangel.
vangel
May 11, 2007
I second Vangel’s comment, please show us how – it does not possible without a significantly modified codebase.
Which parts of the encoding sequence are you talking about?
noyk
August 3, 2007
Hi.
This is very interesting subject. Is it possible to use FFMPEG with GPU at all?
Regards,
Stas.
Stas
December 9, 2007