Ask Slashdot: How To Make My Own Hardware Multimedia Player?
An anonymous reader writes "I was looking at multimedia players from brands such as SumVision, Noontec and Western Digital. They all seem to be some device which accepts a USB hard-drive and commands from an IR remote control, and throws the result over HDMI. I have my own idea of what a hardware multimedia player should do (e.g. a personalized library screen for episodes, movies and documentaries; resume play; loudness control; etc.). I also think it will a good programming adventure because I will have to make the player compatible with more than a few popular codecs. Is this an FPGA arena? Or a mini-linux tv-box? Any advice, books or starting point to suggest?" There certainly have been a lot of products and projects in this domain over the years, but what's the best place to start in the year 2012?
XBMC
Combine this with AppleTV, it's only $99, and you have somewhat sane system.
It comes with remote already so one less extra step to tinker on.
Your question is about media and entertainment. Are you entertained by tinkering stuff or consuming entertainment generated by others?
There are no atheists when recovering from tape backup.
[TPB] ---Internet---> [PC] ---LAN/WLAN---> [NAS] ---LAN/WLAN---> [HTPC with XBMC] ---HDMI---> [TV] ---vision---> [guy on couch]
Go and fetch the parts you are currently missing.
For ~70$ you can buy a chinese box running Android with HDMI output, wi-fi and remote on sites like dealextreme, merimobiles, pandawill etc. Something like this
(it's just an example, there are literally hundreds of slightly different options):
http://www.merimobiles.com/GV_11A_VI6131_Android_2_3_TV_Box_1080P_1GHz_HDMI_p/meri3957.htm
Don't expect it to work well out of the box, but as a DIY project it should be fine. You can write a custom android app to control it, or install something like plex for android.
For more possibilities, make sure you get a device with an available root access.
Nothing beats a PC for versatility and flexibility. It's a device in control of the end users. People who build HTPC software are also people that use HTPC software. This reflects in the gap between appliances and PC software.
Even if you use a modern ARM appliance, chances are that you will need a big fat noisy power hungry PC in order to smooth over the limitation of the appliance. Chances are that you will be running some user developed software on the appliance as well.
There's a good reason that everyone says XBMC.
A Pirate and a Puritan look the same on a balance sheet.
Even better answer...don't. Seriously the power draw of anything he can cook up (unless he builds his own raspberry Pi based unit) will be nuts compared to the already built. I've had plenty of happy customers with the Nbox and Nbox HD, both are simple enough your average 6 year old can use them and its $25 for the Nbox and $60 for the Nbox HD. The only thing you need to know is use an external drive with its own PSU as the nbox doesn't put enough power over USB to drive laptop drives. But they are cheap, easy to use, VERY low power, and have both USB and SD slots which is great for when i want to take a movie over to watch with my dad as i can just slap it on an SD and drop it in my pocket.
Now if you want to go HTPC well there has never been a better time as tiger has been selling AMD kits crazy cheap on account of the impending socket change. You can get a fully loaded triple for like $220 bucks right now and the AMD IGP supports just about every time of codec you can name.
If you want even cheaper there are several kits at newegg based on the Brazos platform which gives you a dual core APU that has 2 bobcat cores and an AMD HD6320 GPU. The Brazos platform is great, in fact i liked it enough i sold my laptop for a EEE netbook and just love it. I've also built several HTPCs out of Brazos and its just a great little unit. If you want to go Linux its been supported OOTB since Ubuntu 10.04 so no worries, i'm pretty sure the XBMC Linux build supports it as well. And of course if you want to go Win 7 it has full support for DXVA and can even play some older games like L4D and Crysis with the graphics lowered.
So if all you are wanting is a video player just get a prebuilt like Nbox HD unless you want to build a pi based, or if you want a full fledged HTPC look at the Brazos followed by one of the Athlon kits, just depending on how much power and money you are willing to spend. Brazos is only 18w so its the lowest powered HTPC i know of but with a little underclocking and a good board with the ability to turn off phases you can get an Athlon down to sub 50w.
ACs don't waste your time replying, your posts are never seen by me.
Tiny cheap solutions like the raspberry pi are kind of limited.
I've got an Intel Atom/NVidia ION mini ITX board that was pretty cheap. It has a single PCIe x16 slot and 4 SATA ports and was worth less than $100. There are similar chipsets which I'm sure would work equally well and still beat the crap out of tiny boards like R Pi.
It's a file server, a media center, and it even does well with office suites and web browsing. Media players like XBMC are no problem, as are standard peripherals like wireless keyboards. I can also drop in up to 4Gigs of RAM and some 12TB of hard drive space.
Way, way way more flexible than any ARM device on the market could possibly be, and much more mature and easier to get working for multiple common tasks - not just playing media.
This is what I just put together. System PXE Boots Debian, and starts up XBMC within about 20 seconds. When running, it's only 25 watts or so, and it boots fast enough that I have no problems shutting it down when not in use. Plays 1080p high profile smooth as silk.
...si hoc legere nimium eruditionis habes...
Exactly. If you want to build a 100% open-source media player capable of handling just about anything you might throw at it, you're almost certainly going to have to go with x64 architecture and forget about ARM. ARM just isn't fast enough to bitbang stuff like h.264 HD encoding in realtime, and will probably struggle to do 1080p60 playback (if it can do it at all). Everything that's ARM-based depends upon hardware acceleration and custom chips you'll probably never be allowed to buy or get low-level documentation for. At least, not documentation to do the kind of stuff you're likely to want to do. Most ARM-based media players huff and puff just trying to deal with their own UIs, even when they're treating the actual media playback like an opaque black box that takes encrypted input and (hopefully) does something useful with it.
Buy a motherboard & CPU that's fast enough to decode 1080p60 to RGB and triple-buffer it in realtime, and fast enough to do realtime 720p60 & 1080i60 mpeg-2 encoding without breaking a sweat. Pair it with a few 7200RPM drives with SSD write-through cache. And whatever you do, don't put yourself in a position where you depend upon any kind of hardware codec or acceleration that lacks 100% open-source Linux drivers based upon official datasheets (reverse-engineered drivers don't count). You can always through a bigger CPU at the problem and fix things yourself with software, but you can't always depend upon mass-market media chips (almost guaranteed to be infected by AACS licensing... at least, in the US, Europe, and Australia) being available & documented.
I have a Roku 2XS. It has a Plex client. I've run the Plex server on my Mac and on an Ubuntu box and in both cases this setup works just fine. I've streamed a handful of movies and TV shows and so far am very satisfied with the results. I have an older Linksys E1000 using stock firmware. I haven't even bothered to optimize my wifi network. With some QOS I might get higher quality streaming but I have an old SD TV so my standards are low. Will get an HDTV sometime this year and will want 720p or better so will probably upgrade the WLAN. When I had the Plex server running under Ubuntu it was running inside of a Proxmox VM. That worked really well. I'm rebuilding the Proxmox host now and will probably go back to that setup.
$800? Try $99 for an AppleTV. Stream to it from wherever. Transcoding is quick and easy for any H.264 codec.
A fool throws a stone into a well and a thousand sages can not remove it.