Sunday, January 25, 2015

Odroid-C1

Back in July, 2013 I put together a couple of fun Raspberry Pi projects:
  1. an NFS and Minidlna server, and
  2. an XBMC home entertainment system component.
Last month I purchased a couple of Odroid-C1 units which looked interesting because for the same $35 as the Pi you got a slightly smaller SBC with approximately 6X the power. 
  • Pi CPU: ARM 700MHz, C1; Quad-core ARM 1.5GHz
  • Pi GPU: 24 GFLOPS, C1: 54 GFLOPS
  • Pi 2 USB 2.0 ports, C1 4 USB 2.0 ports
  • Pi Ethernet: 100MB/s, C1 Ethernet: Gigabit
Both the Pi and the C1 draw approximately 3 - 4 watts when idling.

I wanted to see how the C1s performed as replacements for the Pi units. I was especially looking forward to the greater bandwidth that the C1 gigabit ethernet would provide because I have found that the 100Mbps bandwidth of the Pi was constraining when streaming 1080p Matroska video media; there was not quire enough bandwidth for the media to stream smoothly.

Building the Arm Ubuntu 14.04 LTS system provided by the Odroid developers was a snap. Simply download the image, uncompress it, and 'dd' it to a Class 10 MicroSD card, insert into the slot on the underside of the C1, and boot. The instructions for completing the Ubuntu installation were straight forward.

As I usually do when playing around with an SBC, I installed Tightvncserver for convenient remote access. The Odroid developers did a nice job with their Ubuntu distro; the LXDE window manager that comes installed by default is perfect.


Installing the NFS server software just took a minute, and installing Minidlna 1.1.4 was simply a matter of downloading the source and building it.

Once that was done, the C1 became a plug 'n play replacement for the Pi NFS/Minidlna server. No muss, no fuss: it simply worked, serving ~8TB of media from a stack of USB external drives.

So far, so good. Now onto the C1 replacement for the Pi XBMC unit. As before, installing the Odroid Ubuntu 14.04 system was quick and easy, and since XBMC (now called "Kodi" for whatever reason) comes installed with the Odroid-C1 distribution, all that was needed to get it running was to set it up to automatically mount the media being served by the file server.

Here's the C1 sitting on top of a gigabit switch in the entertainment system cabinet:



For perspective, the whole cabinet:



As before, it looked like this was going to be a plug 'n play replacement that "just worked". Movies, even 1080p Matroska Blu Ray rips played smoothly.

But then, oops! I started one of my older MPEG-2 movies and it was choppy, almost like one of those stop-motion Claymation movies. I checked the movie on the Pi, and it was perfectly smooth, so I reported the issue on one of the Odroid Forums. That was just a few days ago, and so there has not been any resolution yet announced. I have replaced the C1 with the Pi, and will wait to see if this is a problem that the Odroid developers are able to patch.

So, the C1, while impressive, is not yet perfect, which really isn't very surprising for a brand new innovative SBC. When I get an update from the Odroid devs on the MPEG-2 issue I will pass it along here as a comment to this article.

--Doug

10 comments:

  1. The Pi has a licence for MPEG-2 playback. http://www.raspberrypi.com/mpeg-2-license-key/ I'm not sure if the oDroid has that support.

    ReplyDelete
    Replies
    1. That's true, they do. However I don't believe that is the problem here, since there are any number of open source players that do not have the same problem with mpeg level 2 media. VLC, for example.

      I suspect that the problem with the C1 is in the Mali 450 GPU driver.

      Delete
  2. I don't think it can play Mpeg 2 movies. Product spec from

    http://www.amlogic.com/product03.htm

    ReplyDelete
    Replies
    1. Well that would have been kind of a silly design spec. MPEG-2 is a standard:

      http://en.wikipedia.org/wiki/MPEG-2

      As much as 10% of the video content out there is mpeg-2.

      Delete
  3. Update, 2/4/2015:

    Update on this: I played one of the problematic mpeg-2 files on the C1 using the included Gnome MPlayer tool, and it plays fine without any of the choppyness that Kodi has. The test file is here: http://www.parrot-farm.net/Odroid/MPEG2-test.mpg

    Also, after updating the kernel to 3.10.67-55 today, and also updating Kodi, Kodi has no audio.

    The fact that the Gnome MPlayer can handle the mpeg-2 file suggests that Kodi is using an outdated/hosed graphics driver.

    ReplyDelete
  4. If you ever figure out how to play MPEG-2 on ODROID-C1 please post your solution here. I cannot play a DVD rip with vlc at all. Using GNOME MPlayer the video plays fine, with sound but does not play fullscreen. If anyone has any ideas, I am desperate to hear them.

    ReplyDelete
  5. No, and in fact Kodi on the C1 is still pretty immature. There are a number of other issues with Kodi as well, such as the inability to do HDMI pass-through audio, Dolby, DTS, etc. You can read about some of those issues here:

    http://forum.odroid.com/viewtopic.php?f=111&t=7569

    My solution was to put the old Raspberry Pi B back into service as the Kodi server in my home entertainment system.

    ReplyDelete
  6. Thanks for the info. Maybe someday somebody will figure it out. I cannot make myself use the Pi because of the $3 `license fee'. It is not the money, I just think it is obnoxious that they sell crippled hardware (at least the blob for the Mali that comes with the Odroid is free ... if it works, which seems to be false advertisement). So back to the ugly solution: an old laptop.

    ReplyDelete
  7. I didn't mind paying the $3, it goes to a good educational cause.

    ReplyDelete
  8. I have more than 25 Pis and of these only two are used for media playback. It would be unfair if everyone wishing to purchase a Pi, regardless of intended use, would be forced to pay the additional $3. The current sales model means that if a user does need MPEG2 or AVC functionality, they can pay a measly $3 for it.

    ReplyDelete