Ask Slashdot: How To Make My Own Hardware Multimedia Player? 140
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?
Re:The easy way (Score:5, Interesting)
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?
The big picture (Score:5, Interesting)
[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.
Chinese Android TV box (Score:5, Interesting)
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 [merimobiles.com]
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.
Re:The easy way (Score:4, Interesting)
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.
Comment removed (Score:4, Interesting)
Mini-ITX Intel Atom-NVIDIA-ION and XBMC (Score:5, Interesting)
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.
Asus EeeBox, XBMC, diskless. (Score:5, Interesting)
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.
Re:The easy way (Score:5, Interesting)
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.
What about a Roku and Plex? (Score:3, Interesting)
Re:The easy way (Score:2, Interesting)
$800? Try $99 for an AppleTV. Stream to it from wherever. Transcoding is quick and easy for any H.264 codec.