Slashdot Mirror


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?

35 of 140 comments (clear)

  1. The easy way by Anonymous Coward · · Score: 5, Insightful

    XBMC

    1. Re:The easy way by NFN_NLN · · Score: 5, Insightful

      This story only has 2 comments right now. One recommending XBMC and another recommending RaspberryPi.
      Correct on both counts. I don't think you need to reinvent the wheel on this...

      Also, "USB hard-drive"? Do you really want to transfer media to a drive? Build a home NAS and stream everything to the media player. The media player should be small and quiet. There is no need for an HDD.

    2. Re:The easy way by Keruo · · 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?

      --
      There are no atheists when recovering from tape backup.
    3. Re:The easy way by spire3661 · · Score: 4, Insightful

      Even with the best of tools and setups, pure streaming is not always an option. My synology NAS barfs on .mp4s sometimes. Flat out, dont use DLNA, it sucks, it has always sucked, it will always suck. Streaming is great, but it still not a universal thing that always works unless you very tightly control the media you feed into the system. You got things like the netatalk devs playing games, Apple messing around, its still complicated. LOVE my synology NAS, but DLNA sucks donkey dick. Im typing this as im waiting for handbrake to finish another pass trying to find the optimal format/size for xbox, android (nook color, hrdwre lmtd) and iOS.

      --
      Good-bye
    4. Re:The easy way by spire3661 · · Score: 2

      Requires a PC to run, not everyone wants that burden and in fact Ive been trying to pull the PC out of the equation for a very long time.

      --
      Good-bye
    5. Re:The easy way by NFN_NLN · · Score: 2

      Even with the best of tools and setups, pure streaming is not always an option. My synology NAS barfs on .mp4s sometimes. Flat out, dont use DLNA, it sucks, it has always sucked, it will always suck. Streaming is great, but it still not a universal thing that always works unless you very tightly control the media you feed into the system. You got things like the netatalk devs playing games, Apple messing around, its still complicated. LOVE my synology NAS, but DLNA sucks donkey dick. Im typing this as im waiting for handbrake to finish another pass trying to find the optimal format/size for xbox, android (nook color, hrdwre lmtd) and iOS.

      To say DLNA sucks donkey dick is an understatement. I have an DNS-323 and if the indexing messes up it takes 20 minutes to re-index my MP3s. I stopped using DLNA 2 weeks after I tried it.

      I have no problem with CIFs though.

      Another tip: instead of letting XBMC store all the artwork/covers/nfo/etc locally, leave it on the NAS. Then any new XBMC connection is ready to go from the start.

    6. Re:The easy way by grantek · · Score: 5, Informative

      Even with the best of tools and setups, pure streaming is not always an option. My synology NAS barfs on .mp4s sometimes.

      Your NAS doing DLNA is doing more than a NAS needs to. XBMC happily supports connecting to Samba or SFTP shares within the application, or you could just use NFS and attach the NAS share to the local filesystem. If a NAS cares about what type of file it's sending over a plain filesystem access protocol like that it's a broken NAS.

    7. Re:The easy way by jedidiah · · Score: 3, 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.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    8. Re:The easy way by hairyfeet · · Score: 3, Interesting

      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.
    9. Re:The easy way by PNutts · · Score: 5, Insightful

      DLNA sucks donkey dick.

      Hey, slow down. We're talking about building it, not what we're going to watch on it. But since you brought it up is it available on Blu -ray?

    10. Re:The easy way by Miamicanes · · Score: 4, 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.

    11. Re:The easy way by Skapare · · Score: 2

      Also, "USB hard-drive"? Do you really want to transfer media to a drive? Build a home NAS and stream everything to the media player. The media player should be small and quiet. There is no need for an HDD.

      Why not have "everything" (and the builder gets to choose what she knows she wants):

      • USB and eSATA ports for bulk drive(s).
      • 2nd USB port for memory stick sharing and rescue booting.
      • Camera card adapter for stuff from your camera.
      • Ethernet for your NAS and LAN and streaming from internet.
      • TV tuner card for over the air reception and cable ripping.
      • NTSC/PAL/Component digitizer card for copying all the old VHS and BETA tapes.
      • DVD/Blu-Ray player/recorder.
      • SDI/SDI-HD card if you work at a TV station.

      And be sure to also support viewing still pictures (including picture frame mode) and playing any/all sound files.

      --
      now we need to go OSS in diesel cars
    12. Re:The easy way by lightknight · · Score: 4, Insightful

      Indeed. For some odd reason, people have such an aversion to just buying a PC, and hooking it up to the TV. People who will buy MP4-capable DVD players, who will spend hours re-encoding things so that they can watch it on the screen 20 feet from their PC. They all want appliances, for some odd reason, even though the decoding (let alone the encoding) of most popular items requires a rather powerful (by most PC OEM standards) machine. I'm starting to think it's almost racist bias towards having a 'PC' machine in the living room (nevermind the X-Box, Wii, and PS3), like they're trying to win a bet with someone, but can't admit they lost it years ago.

      $800 for an appliance that cannot decode half the formats you have encountered, and will not decode the more-CPU / GPU intensive ones coming out later this year? Hell yeah, hook that up to the TV. Even has a 20GB hard drive, imagine that.

      $800 for a PC with stereo out and HDMI, that can decode anything you throw at it? With a 2 TB hard drive? Why would I want that?

      Why does the populace seem to treat machines like lepers?

      --
      I am John Hurt.
    13. Re:The easy way by SeaFox · · Score: 3, Informative

      I see you failed to full understand the post you replied to. The point here is not to have to transcode at all.

      AppleTV is just as limited as the other "appliances". Apple is all NIH when it comes to OGG and FLAC audio, or video files in MKV containers, or even MP4 if you don't use the "right" h264 profiles.

      WD and the Chinese no-name devices actually accept more media types than an AppleTV.

    14. Re:The easy way by SeaFox · · Score: 2

      Not all h264 can be hardware accelerated, so you still have the issue of potentially non-playable HD files. It's a lot easier to update codecs on a PC that has the muscle for software decoding when it needs it. The extra labor and loss of quality in transcoding is the real problem with that setup.

      The PC is simply more future-proof. At worst you may have to swap out the motherboard for a new one with a more ass-kicking processor down the line when people are playing 4K on their TVs, but you can retain the case, power supply, accessories, etc when you do that most likely.

    15. Re:The easy way by flyneye · · Score: 2

      O.K. is there a problem with MythTV ?
      I keep promising myself a system based on MythTV.
      http://www.mythtv.org/detail/mythtv

      --
      *Repent!Quit Your Job!Slack Off!The World Ends Tomorrow and You May Die!
    16. Re:The easy way by DavidTC · · Score: 2

      $800 is actually very high.

      When I upgraded from AGP to PCI-E, I had a spare motherboard and CPU and video card, so I just bought another case, another drive, threw Ubunto+XBMC on it, and hooked it to my TV. Tada.

      Granted, that's currently running SD, but I get very confused as to people who think it's expensive, CPU and GPU-wise, to output HDMI, yet don't notice that any video card can do that...with rendered graphics in real time (aka, computer games) instead of just compressed stuff. HD output is just 1920 x 1080. You really can't even buy a x86 computer that cannot play videos at HD resolution. It is not 1999, we do not have computers that have trouble decoding Real Video or whatever, and it being on TV instead of a computer monitor is not magically making it harder to do.

      You can literally walk into a computer store, pick the cheapest computer with a HDML or DVI out, buy an MCE remote thingy, install XMCMbuntu, make sure Samba is working to put files on there, and you're done. Or you can spend a little bit more and get it into a quiet 'entertainment center' case. But regardless, it's not rocket science, and half the people here already have at least half a computer laying around unused anyway. Spent $100-$200 to make it a real computer, and hook it to the TV.

      It really does seem like people here some sort of odd irrational bet going on, or some irrational fear of computers, or like they literally have never heard of a 10-foot interface, and think 'computer' means 'Opening up Explorer and double-clicking things to open them in VLC.', and they want something that looks 'professional'.

      Well, here's a fun fact: That computer I was talking about? I was living with my mother when I built it and put it in the living room, and I set it to automatically download TV shows off Usenet...and I left it when I moved out. And random guests of hers have no problem using it, and many seem baffled as to the idea it's just a computer and think it's some sort of Tivo thingy, and no one seems to notice there's a black computer box sitting sideways under the DVD player. (The only real annoyance is it's hard to find XBMC themes that work well on SD.)

      --
      If corporations are people, aren't stockholders guilty of slavery?
  2. Raspberry Pi by Auroch · · Score: 4, Informative

    I've gotta say, that if you're not aware of the Raspberry PI project, then you're asking the wrong question.

    --
    Quartz Extreme and Core Image. Are there any other real reasons to spend all that money on generic hardware?
    1. Re:Raspberry Pi by Manic+Miner · · Score: 2
      Specifically use OpenELEC running on a RaspBerry PI:

      http://openelec.tv/news/item/235-openelec-on-raspberry-pi-our-first-arm-device-supported

      Of course getting hold of a RaspBerry Pi will be tough, but once you have done that it's all done :)

      --
      If you ever drop your keys into a river of molten lava, let'em go, because, man, they're gone.
    2. Re:Raspberry Pi by jedidiah · · Score: 2

      What about everything else?

      There's more to video than just a limited subset of one codec and one container format. People can and do accumulate video from a variety of sources. Some people might even have "legacy" video data of their own.

      I weak x86 can handle software decoding for formats that ARM appliances can't cope with at all.

      --
      A Pirate and a Puritan look the same on a balance sheet.
  3. XBMC by GeneralTurgidson · · Score: 4, Informative

    Small form factor media PC running XBMC will do everything you want and more.

    1. Re:XBMC by crackspackle · · Score: 2

      Unless you're really dead set on DIY, I recommend the Xtreamer Ultra for $399, available on Amazon. From the blurb "Xtreamer ULTRA Mini-ITX SFF HTPC (1.8 GHZ Intel Atom Dual-Core D525, nVidia ION 2, 4GB DDR3, HDMI 1.4a) Includes Remote, Mini Wireless Keyboard w/ Trackpad, PLUS XBMC and Boxee Configured and Ready to Go!", so it's a full PC and a very small, nice and quiet one at that.

      The Ultra comes without a hard drive, but it has a 2.5 bay where you can add an HDD or SSD. I did the former. It boots off a custom version of Ubuntu running an offshoot of Grub2 called Berg that gives you a nice graphical menu to choose among XBMC, Boxee, Linux, or any x86 OS you choose to install. Transferring the OS to a hard drive and adding more is easy. I added Fedora and Windows 7 for the heck of it and both run great. Even 1080p video over my gigabyte LAN runs perfectly.. They are now also offering the Ultra2, a souped up version with WiFi capability built in.

  4. How far do you want to go? by solidraven · · Score: 3

    A good ARM board with proper multimedia functionality should be sufficient (I think the Beagle board might be sufficient). Though obviously the larger FPGAs would excel at this. But it'd take quite a lot of time to rewrite everything in VHDL or Verilog. And even then, you'd need one of the larger more expensive FPGA's with enough slices. In the end it'd be easier to grab an old computer and make your own IR sensor and use one of those universal remotes with it.

  5. WD TV Live Media Player Plus by Anonymous Coward · · Score: 2

    Get yourself a WD TV Live Media Player Plus, get a 7200RPM 2TB USB hard drive. Connect the media player to your network via wired Internet. Copy media to the media player's share.

  6. You seem to have a realistic idea, at least by damn_registrars · · Score: 4, Insightful
    The quote of

    I also think it will a good programming adventure

    Indicates that at least you have some sense of what it will take to do this and what the end result may (or may not) end up like. Too many people would go into a project like this with the idea of saving money (doesn't work) or making something that is better than mass market version s and usable by others in the household (no real chance of that).

    But if you're looking for an adventure, this may be a good choice for you.

    --
    Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
  7. The big picture by zAPPzAPP · · Score: 4, 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.

    1. Re:The big picture by girlintraining · · Score: 4, Funny

      Go and fetch the parts you are currently missing.

      I have everything else, but I'm presently missing "[guy on couch]". I've never run into a distribution system that required one. But if I must have one, can you tell me what the minimum system requirements are? I'm not sure what the battery life of 'guy on couch' is, but I've heard from my heterosexual friends that economy models generally weigh more, have limited ram, and the processor has what was described to me as a "very aggressive power saving feature". I'd also like to know how much these things cost and if there are any maintenance requirements beyond feeding him and giving him access to the bathroom. Again, very new to the market, so apologies in advance.

      --
      #fuckbeta #iamslashdot #dicemustdie
  8. Chinese Android TV box by dmesg0 · · Score: 4, 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

    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.

  9. Start With Open-Source Firmware for WD TV? by Paul+Slocum · · Score: 2

    I'm sure there's many other devices and firmware to choose from, but I have a few of these WD TV boxes and have considered coding some of my own stuff for them starting with one of the custom firmware projects that are already available.

  10. Why re-invent the wheel? by thegarbz · · Score: 2

    I assume you mean by hardware video player you're trying to make a dedicated piece of gear to play multimedia files. If so that is insane. Why re-invent the wheel for something everyone from the hacker community to the big manufacturers are doing perfectly fine with software and off the shelf components?

    Most hardware media centres are nothing more than some fanless microITX PC with a TV card, harddisk, and some custom made LCD front display. It's one of the reasons they take so horrendously long to start up. Why not just whip together something like that and then throw XBMC, Myth TV, or MediaPortal on it? Bonus points for making it run on a Raspberry Pi, or some other ARM based processor.

    Those three packages seem to do basically all of what you're suggesting anyway so what are you trying to gain?

    If you think you can do it better than the existing packages then why not make a plugin for them? You get to build on an already established project which has been through the countless mistakes you're likely to make on the way, and you can give back to an existing and large community rather than competing with the established players.

  11. Re:Sign the greater pact with the devil^hMPAA firs by SScorpio · · Score: 2

    My Atom boxes running XBMC can access both Amazon instant watch, and Hulu content just fine. I can't access Netflix as I am running Linux and Silverlight doesn't exist on that. But if I actually used Netflix I have a PS3 or Google TV I could stream to.

    Outside of Netflix XBMC will pretty much stream everything. The nice thing about the Hulu plugin is that you don't need Hulu Plus, and if you have Plus all of those shows that won't let you stream to a TV will still play just fine.

    If you are interested in either Amazon or Hulu, install Bluecop's repository. http://code.google.com/p/bluecop-xbmc-repo/downloads/list

    Just download the repository zip to the root of a thumb drive, and plug it into your XBMC computer. Then select to install an add-on from a zip, and choose the file on the thumb drive.

    Both Amazon and Hulu require an updated Flash library, so make sure you are running XBMC Eden, otherwise you'll have to manually update the library, and there really isn't a good reason not to update to Eden.

  12. Just went 'back' to XBMC. by AbRASiON · · Score: 3, Informative

    Was using PS3 w/Media Centre (DLNA streaming app) on a PC.
    Then I read up cinavia
    http://en.wikipedia.org/wiki/Cinavia
    http://www.avsforum.com/avs-vb/showthread.php?t=1265114

    Decided to convert my NAS
    https://www.google.com.au/search?q=hp%20microserver&hl=en&meta= into a HTPC with a slimline video card (40$) and put XBMC on it (plus XBMC remote for Android, no IR, no bluetooth required)

    Has been better than expected, XBMC came a long long long way since my Xbox 1.
    Playback is smooth, UI is good, even installed MySQL on the little NAS and now the library can be accessed around the house easily with multiple copies of XBMC tied in to the main box.
    Very good stuff.

  13. Mini-ITX Intel Atom-NVIDIA-ION and XBMC by LikwidCirkel · · Score: 4, Interesting

    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.

  14. Asus EeeBox, XBMC, diskless. by Strider- · · Score: 4, 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.

    --
    ...si hoc legere nimium eruditionis habes...
  15. What about a Roku and Plex? by darkgumby · · Score: 3, Interesting

    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.