View Full Version : HD Video Playback With A $20 CPU & $30 GPU On Linux
phoronix
12-11-2008, 03:10 AM
Phoronix: HD Video Playback With A $20 CPU & $30 GPU On Linux
A month ago NVIDIA had introduced the Video Decode and Presentation API for Unix (VDPAU) that brought PureVideo-like features to Linux. Our initial benchmarks of this video decoding API within NVIDIA's binary driver were quite favorable as it was able to dramatically cut down on the CPU usage when playing H.264 video files. To see how well NVIDIA's VDPAU really is though, we have carried out some more thorough testing now and our hardware consists of a CPU we purchased for $20 USD and a NVIDIA GeForce graphics card that retails for just $30. Can this very low-end hardware manage to play high definition videos under Linux?
http://www.phoronix.com/vr.php?view=13232
Sacha
12-11-2008, 03:25 AM
That's pretty sweet. Can pick up $5 mouse and keyboard. What would the motherboard be? Can you get $10 ones? Maybe $20? Then some RAM, it's cheap now, pick up 512MB?
Now the only expensive thing left is the monitor.
Head-less computer that plays HD movies while compiling linux kernels: under $100 now?
Gamester17
12-11-2008, 03:35 AM
FYI, GeForce 9-Series graphics controllers features third generation PureVideo hardware which should offer better offloading of VC-1 and MPEG-2 than the older GeForce 8-Series graphics controllers hardware which only features the second generation PureVideo hardware. Decoding of H.264 video should however offer similar performance with GeForce 8-Series and GeForce 9-Series hardware as long as the GPU and memory is clocked the same, but the GeForce 9-Series chips are usually clocked higher and they use a more modern manufacturer method thus will generate less heat at the same clock speed compared to the older GeForce 8-Series chips.
http://en.wikipedia.org/wiki/PureVideo#Generation_3_PureVideo
PS! I think it cool that there are now both GeForce 8-Series and GeForce 9-Series cards available for PCI to buy, which mean that you can install them in a older motherboard that does not have an AGP or PCIe (PCI-Express) slot.
chabo
12-11-2008, 04:07 AM
I think new OpnCL will solve all problems with HD decoding
Zézinho
12-11-2008, 04:56 AM
Why overloading the CPU while playing the Videos? This is a non-sense : any poweruser that does two things at the same time while quickly learn to renice a process to make it only use the idle CPU.
What I would like to see is the test with a niced 20 kernel compilation, then let's see if the video playback is good without nvpau. If you want, you can then indicate time to compile the kernel with both solutions, to show how much faster it is with nvpau.
Anyway, thanks to your work on Phoronix, even if I feel this site is way too nice with hardware companies : where is the point in using open source linux with closed source drivers? Still a system where you will not be able to use your hardware the day the manufacturer decide they stop. I had used the NVidia driver to play DVD through XvMC on a 333MHz Celeron with Geforce2Mx. Then, one day, they stopped support for this video card, without even open sourcing the abandonned driver. GOTO THRASH...
I would have like to have seen tests with 1080p streams like BBC-HD in the UK which are encoded using MBAFF. These type of encoded H.264 streams tend to bring most modern CPU's to their knees. Usually the CPU is 100% all the way through if HA is not present.
Ex-Cyber
12-11-2008, 08:05 AM
Why overloading the CPU while playing the Videos? This is a non-sense : any poweruser that does two things at the same time while quickly learn to renice a process to make it only use the idle CPU.It would be nonsense if most people weren't using modern desktop-oriented distros, where brief (and sometimes not-so-brief) CPU usage spikes can come without warning.
Yfrwlf
12-11-2008, 08:40 AM
Nice, well-balanced article, I liked the summary at the end about where everyone was at as far as video acceleration. ^^
Come oooooooon Gallium 3D, show us an example of what an awesome Linux API can be/do.
DeepDayze
12-11-2008, 08:45 AM
Nice article, and VDPAU sure does have a lot of promise indeed. Playing accelerated HD videos on a lowend gfx card and lowend mobo/cpu does sound sweet in a way
BRB buying a cheapo system :D
deneb
12-11-2008, 08:59 AM
FYI, GeForce 9-Series graphics controllers features third generation PureVideo hardware which should offer better offloading of VC-1 and MPEG-2 than the older GeForce 8-Series graphics controllers hardware which only features the second generation PureVideo hardware.
G98-based GeForce 8400 GS models do have VP3. Most GeForce 9 GPUs only have VP2 as can be seen in the table behind your Wikipedia link: http://en.wikipedia.org/wiki/PureVideo#Table_of_Purevideo_GPUs
Only G98 chips have VP3. This includes some of the integrated (mobile) GeForce 9 versions. The VDPAU announcement lists these and a more complete list that includes 8400 GS can be extracted from the drivers: http://www.nvnews.net/vbulletin/showpost.php?p=1870332&postcount=3
Currently G98 GeForce 8400 GS is the only non-integrated graphics card that contains VP3.
Decoding of H.264 video should however offer similar performance with GeForce 8-Series and GeForce 9-Series hardware as long as the GPU and memory is clocked the same, but the GeForce 9-Series chips are usually clocked higher and they use a more modern manufacturer method thus will generate less heat at the same clock speed compared to the older GeForce 8-Series chips.
G98 8400 GS is also manufactured with a 65 nm process.
DeepDayze
12-11-2008, 10:35 AM
G98-based GeForce 8400 GS models do have VP3. Most GeForce 9 GPUs only have VP2 as can be seen in the table behind your Wikipedia link: http://en.wikipedia.org/wiki/PureVideo#Table_of_Purevideo_GPUs
Only G98 chips have VP3. This includes some of the integrated (mobile) GeForce 9 versions. The VDPAU announcement lists these and a more complete list that includes 8400 GS can be extracted from the drivers: http://www.nvnews.net/vbulletin/showpost.php?p=1870332&postcount=3
Currently G98 GeForce 8400 GS is the only non-integrated graphics card that contains VP3.
G98 8400 GS is also manufactured with a 65 nm process.
I am sure later revisions of the 9xxx series will have VP3. Would an 8400GS be usable for playing games? Also why not use the low end X2 CPU's as some of them also are low wattage and I am sure the performance will be even better still without the excess heat
deanjo
12-11-2008, 10:43 AM
The 8200/8300 IGP's have VP3 as well
http://translate.google.ca/translate?hl=en&sl=fr&u=http://www.homemedia.fr/actualites/3434-GeForce-8200-PureVideo-HD-VP3.html&sa=X&oi=translate&resnum=5&ct=result&prev=/search%3Fq%3D8200%2Bvp3%26hl%3Den%26client%3Dfiref ox-a%26rls%3Dorg.mozilla:en-US:official%26hs%3Dtrn
EDIT: Here is a better feature list of the GPU''s/IGP's
http://www.nvidia.com/object/IO_43029.html
deneb
12-11-2008, 11:17 AM
The 8200/8300 IGP's have VP3 as well
Any other sources for this information? Has someone tried VDPAUs VC-1 decoding on them?
EDIT: Here is a better feature list of the GPU''s/IGP's
That listing doesn't separate VP2/3 though.
bulletxt
12-11-2008, 11:43 AM
as always NVIDIA comes first and is the leader.
deanjo
12-11-2008, 11:59 AM
Any other sources for this information? Has someone tried VDPAUs VC-1 decoding on them?
That listing doesn't separate VP2/3 though.
I'm trying to get a comprehensive list from my contacts at nv. When he replies I will post the list.
Though if these were encrypted video files and using say a Blu-Ray disc, this likely wouldn't be possible since the processor would have a very hard time keeping up, but anyways Linux is currently lacking such a player.
Yes, real-time AACS decrypting (and BD+ de-corrupting) will cause some additional load. But this doesn't need to be too high load for modern CPUs (especially with optimized implementation).
Yes, currently open-source world lacks fully integrated player.
But in practice these are no obstacles at all:
Several open-source tools exist to decrypt AACS.
For the minority of Blue-Ray releases having BD+ there is libbluray.
There are also modified firmwares for some popular drives to access the full media without key exchange.
Much of the relevant information and the history of hacking can be found at forum.doom9.org / Decrypting.
The file-system is UDF2.5 and supported with kernel-2.6.26+
Video files are *.TS. These are standard MPEG transport steam and readily playable with mplayer etc.
(There is also recent support of those various HD audio codecs now.)
So there isn't much stopping from watching Blue-Ray (or HD-DVD) on linux.
(And these will work also with this low-end setup, because all decrypting is made before playback.)
I bet there already is automated script to do this all with single click ...
Pickle
12-11-2008, 03:25 PM
Has anyone come across AGP cards? Seems there arnt any at the moment. Funny though I could find PCI, must be cause MB only have PCIe and PCI slots now.
DeepDayze
12-11-2008, 03:46 PM
Yes, real-time AACS decrypting (and BD+ de-corrupting) will cause some additional load. But this doesn't need to be too high load for modern CPUs (especially with optimized implementation).
Yes, currently open-source world lacks fully integrated player.
But in practice these are no obstacles at all:
Several open-source tools exist to decrypt AACS.
For the minority of Blue-Ray releases having BD+ there is libbluray.
There are also modified firmwares for some popular drives to access the full media without key exchange.
Much of the relevant information and the history of hacking can be found at forum.doom9.org / Decrypting.
The file-system is UDF2.5 and supported with kernel-2.6.26+
Video files are *.TS. These are standard MPEG transport steam and readily playable with mplayer etc.
(There is also recent support of those various HD audio codecs now.)
So there isn't much stopping from watching Blue-Ray (or HD-DVD) on linux.
(And these will work also with this low-end setup, because all decrypting is made before playback.)
I bet there already is automated script to do this all with single click ...
and only a matter of time before this is all supported directly by mplayer and friends :)
deanjo
12-11-2008, 03:47 PM
Has anyone come across AGP cards? Seems there arnt any at the moment. Funny though I could find PCI, must be cause MB only have PCIe and PCI slots now.
You won't find a AGP card capable of doing vdpau. 8 series and greater do not come in AGP flavors.
g-man
12-11-2008, 04:53 PM
Are there applications of either the tested hardware set or the tested software suite (VDPAU + FFMPEG & others) to H.264 encode in any way, or is this application set limited strictly to playback optimization?
I would imagine that a number of the GPU primitives in the chip would allow to address both worlds to some extent, but I do not know if the VDPAU wouldbe effective glue. FFMPEG surely can do some tricks with H.264 encode, but I do not have any idea what if anything it can do a nice powerful low GPU like this one withou that right glue...
Anyone set me straight?
deneb
12-11-2008, 05:52 PM
Are there applications of either the tested hardware set or the tested software suite (VDPAU + FFMPEG & others) to H.264 encode in any way, or is this application set limited strictly to playback optimization?
VDPAU (and DXVA on Windows) is limited to decoding. The supported GPUs contain specialized hardware that is only suitable for video decoding. This also applies to ATI's UVD.
I would imagine that a number of the GPU primitives in the chip would allow to address both worlds to some extent, but I do not know if the VDPAU wouldbe effective glue.
Using the shaders or stream processors of a GPU for general purpose computing is getting easiear and there have been some attempts to both decode (http://www.bitblit.org/gsoc/g3dvl/) and encode (http://www.badaboomit.com/) using them. However, current GPU encoder implementations are still less efficient than good software encoders run on modern CPUs.
This topic has been discussed more thoroughly (and many times over) at the Doom9 MPEG-4 AVC forum. This post links to some relevant threads: http://forum.doom9.org/showthread.php?p=1193278
Cr0t daywalker
12-13-2008, 10:58 PM
I am using a Dell OptiPlex GX270 with an Intel Pentium 4 HT 3.06GHz, 1GB DDR RAM, 40GB SATA, 1000 Ethernet link to multiple NFS servers, nVidia GeForce 6200, Oxygen HD Audio connected to an 38" (unsure about the size) HDTV. My sound rus over TOS link to my Sony receiver. I have been watching 720p movies/tv shows on that HDTV for over a year. No problems at all, however the video card is unable to play 1080 stuff.
The issue is I am unable to find a better half size AGP video card. Still... 720p is perfect. Besides that 1080 on that TV is pointless.
Yfrwlf
12-13-2008, 11:04 PM
I am using a Dell OptiPlex GX270 with an Intel Pentium 4 HT 3.06GHz, 1GB DDR RAM, 40GB SATA, 1000 Ethernet link to multiple NFS servers, nVidia GeForce 6200, Oxygen HD Audio connected to an 38" (unsure about the size) HDTV. My sound rus over TOS link to my Sony receiver. I have been watching 720p movies/tv shows on that HDTV for over a year. No problems at all, however the video card is unable to play 1080 stuff.
The issue is I am unable to find a better half size AGP video card. Still... 720p is perfect. Besides that 1080 on that TV is pointless.
My experience is the same as yours, can play 720p well but 1080p is too much for Linux (all the cards and drivers available under Linux), not counting these latest developments by Nvidia that is, still have yet to try them out.
That being said, I'm much more interested in Dirac and Vorbis acceleration right now, the patented and restricted codecs need to die ASAP as soon as Dirac gets adopted by more programs. Especially after VLC adopts Dirac encoding, that will really help the format out. Also, Firefox may add on Dirac to it's Vorbis out-of-the-box video playback capability that 3.1 has, getting those two codecs even more publicity.
deanjo
12-13-2008, 11:56 PM
My experience is the same as yours, can play 720p well but 1080p is too much for Linux (all the cards and drivers available under Linux), not counting these latest developments by Nvidia that is, still have yet to try them out.
That being said, I'm much more interested in Dirac and Vorbis acceleration right now, the patented and restricted codecs need to die ASAP as soon as Dirac gets adopted by more programs. Especially after VLC adopts Dirac encoding, that will really help the format out. Also, Firefox may add on Dirac to it's Vorbis out-of-the-box video playback capability that 3.1 has, getting those two codecs even more publicity.
I very much doubt that Dirac will replace much. Too much has been invested in making devices and standards revolving around those standards ranging from satellites to handheld devices. Dirac other then being open does not offer anything that already established codecs have brought to the table for quite some time now. If dirac was to become a standard, it would have had to come out in it's present form 5+ years ago.
jeffro-tull
12-13-2008, 11:57 PM
@Yfrwlf and Cr0t daywalker:
1080 too much for the video card? Before this VPDAU business, the only GPU-accelerated video decoding you might have had was XvMC, which I could have sworn only did MPEG-2. Now, I don't know what you guys are watching, but none of the video content I have (that's at a greater resolution than 480p) is in MPEG-2. Seems like the different video output options in Mplayer (or what have you) boil down to "which output method will end up fighting the graphics card the least" rather than "which will have the graphics card helping more."
1080p isn't too much for most graphic cards nor Linux, but for today's CPUs.
ffmpeg's terrible H.264 decoding performance (and lack of multi-threading support) doesn't help here either. ;)
npcomplete
12-16-2008, 02:17 AM
I very much doubt that Dirac will replace much. Too much has been invested in making devices and standards revolving around those standards ranging from satellites to handheld devices. Dirac other then being open does not offer anything that already established codecs have brought to the table for quite some time now. If dirac was to become a standard, it would have had to come out in it's present form 5+ years ago.
I think it has. Most people still relegate it to some kind of academic research project but it has been used in production at the BBC (their Olympic broadcast being the most well known example) and a growing number of places on the "backend". Dirac, like h.264 is suitable for the very low-end to the very high-end, much more so than h.264; but unlike h.264 it's also suitable as an intermediate codec with truly lossless and virtually lossless (after several re-encodings) options. Not many are aware of it's professional pedigree -- nor are they aware that it is used for VC-2. It's also planned to be supported for HTML5's video tag by Mozilla, which will hopefully bring it more towards the "frontend".
As far as hardware investment goes, this is what Numedia (http://www.numediatechnology.com/) has to say:
Stuart Sommerville, managing director at Numedia Technology (Hampshire, the U.K.), described Dirac "very low complexity, simple to implement and it's readily adoptable." Numedia's DP 400, for example, uses only one FPGA, Xilinx' low power Virtex-5.
Further, Sommerville explained that Dirac Pro-based encoder/decoder makes a SD-to-full HD migration much lower cost and less painful for broadcasters. "Broadcast stations don't need to replace right away their already installed SDI-based studio equipment including routers, switchers and synchronizers."
coupled with the fact that
But the difference with Dirac is that "manufacturers don't have to pay us for the privilege of using Dirac," BBC said. "Nor, indeed, do they even have to ask us."
makes it very appealing to adopt it now especially since the Dirac and SMPTE VC-2 specs have been finalized.
http://www.videsignline.com/news/210601739
Yfrwlf
12-16-2008, 08:35 AM
I very much doubt that Dirac will replace much. Too much has been invested in making devices and standards revolving around those standards ranging from satellites to handheld devices. Dirac other then being open does not offer anything that already established codecs have brought to the table for quite some time now. If dirac was to become a standard, it would have had to come out in it's present form 5+ years ago.
Sure that would have been better, but the fact that it's completely open, unrestricted, and free in every way means it most likely will be adopted by most players for out of the box support, making it more common. It's supposed to be a better codec than the existing ones like H264 and such, so there's little reason not to use it, and if you want to stick with open source software you'll support it, and if developers are weary of law firms sending them royalty collection letters, they will care about supporting it as well. They did collect money on MP3s after all.
sl1pkn07
12-31-2008, 10:40 AM
EDIT: Here is a better feature list of the GPU''s/IGP's
http://www.nvidia.com/object/IO_43029.html
what? 8600 playback VC-1? what core use 8600? not found info for this card (yes for old card, no for new card). is a new card release?
or this document is for windows playback...
sorry my english
Hi!
You write "The GeForce 8400GS is available in a PCI model for those wanting to use this low-end graphics card on say an Intel Atom system"
Does this model have another name? I couldn't find such a model yet.
I have an intel board with an integrated Atom Dualcore processor and I am planning on making a little multimediaserver. Unfortunately this board has only one standard pci slot.
Greetings
Gamester17
02-05-2009, 06:47 AM
Hi!
You write "The GeForce 8400GS is available in a PCI model for those wanting to use this low-end graphics card on say an Intel Atom system"
Does this model have another name? I couldn't find such a model yet.Sparkle and Albatron
http://www.sparkle.com.tw
http://www.albatron.com.tw
http://www.albatron.com.tw/English/news/news_detail.asp?new=default&news_id=268
http://www.sparkle.com.tw/News/8400GSPCI/news_sp_8400GS_PCI_EN.html
http://en.wikipedia.org/wiki/GeForce_8
http://en.wikipedia.org/wiki/GeForce_9
...Google is your friend ;)
Sparkle and Albatron
http://www.sparkle.com.tw
http://www.albatron.com.tw
http://www.albatron.com.tw/English/news/news_detail.asp?new=default&news_id=268
http://www.sparkle.com.tw/News/8400GSPCI/news_sp_8400GS_PCI_EN.html
http://en.wikipedia.org/wiki/GeForce_8
http://en.wikipedia.org/wiki/GeForce_9
...Google is your friend ;)
Thanks for this information!
Honestly, it was a extremely difficult to find one of the PCI-Cards here in Europe. Nearly everything you find is PCIe. I live in Germany and the only shops I could find which sell those cards were from the US, but they wouldn't ship this item to Europe for some reason. (NewEgg, Tigerdirect and even Amazon.com)
Finally I came across a German Onlineshop which sells one of the Sparcle-cards for € 60, which is about $ 76. Crap! I believe, there is a very small market for PCI-cards here in EU.
nrnrnr
01-01-2010, 11:27 PM
I'd like to reproduce the original results using existing parts where possible. It looks like the cheapest option is
- Nvidia GeForce 210 fanless low profile GPU (512MB): $40
- AMD Sempron 140 Sargas: $36
- Suitable micro-ATX motherboard (sadly, with integrated GPU): $50
- 2GB DDR2/800 RAM: $50
At these prices, cutting from 2GB RAM to 1GB RAM would save significantly on the price (my wife is indulging me). But I would like to be able to play h.264 encoded 1080p content, since my TV supports 1080p. Should I pay $50 for a full 2GB RAM, or will $25 for 1GB RAM suffice? Getting the full cost under $150 would be a bonus.
(I have a case already paid for and can repurpose optical drive and hard drives from existing systems that have reached retirement age.)
For simple movie playback with linux 2 gb are not necessary - in case you will upgrade to bluray and then need sometimes win 2 gb would be better.
nrnrnr
01-03-2010, 09:13 PM
For simple playback 2GB are not necessary.
Thanks for the advice. It sounds like a plan is to go with one stick of 1GB RAM and then add a second stick if/when I upgrade the optical drive to a Blu-ray player. My main concern at this point is high-definition H.264.
vBulletin® v3.8.4, Copyright ©2000-2010, Jelsoft Enterprises Ltd.