Zotac ZBOX as a Media Player Appliance

Table of Contents

Intro

A guide to how I use a Zotac ZBOX-ID80-U as a media player.

My goals:

  • Simple playback of MKV files from both local storage and a file server.
  • Connected directly to the TV, or to the inputs of an OPPO Blu-ray player, both via HDMI.
  • Running Kodi on Arch Linux.
  • Quiet, low power

I bought this in late 2013. I tried OpenElec and struggled with it. Later I installed Arch Linux for some reason. Each attempt got me 90% of what I wanted but maintaining a large library and issues with scrapers was frustrating.

By June 2020 I had Kodi working pretty well on the desktop and laptops, sharing the same SQL backend on the file server. With some effort I was able to update the 2-year old Arch system on the Zotac and installed the Kodi standalone service.

Tip: the SMB:// access method seemed slow and unreliable to me and refused to find new files on the server. I don't know whose fault that was. Using a local samba mount point worked much better for me:

//curator/kodi            /mnt/curator/kodi       cifs    ro, [etc]

Kodi sees this as a local directory and is happy.

I am using a wireless USB keyboard rather than the IR remote that came with the package.

Summary Results

  • It works!
  • I can hear the cpu fan when I am close to the box, but it is acceptably quiet: a low humming.
  • When playing hidef video the cpu (reporting four cores) is about 5% busy.
  • Bootup time to Home screen: 29 seconds.
  • [no longer used] The Zotac remote works with OpenELEC/XBMC.
  • The blue LED when the player is "on" is ok, but the red "off" light is too bright at eye level.

Components

Computer

Zotac ZBOX-ID80-U [old link dead, similar product]

Intel NM10 2 x 204Pin NVIDIA GeForce GT520M Black Mini / Booksize Barebone System

Integrated cpu: Intel Atom D2700 2.13 GHz Dual-Core

Spec sheet

from: Newegg
price: $209.99, free shipping

Memory

Crucial 4GB kit (2GBx2)

DDR3 PC3-10600 • CL=9 • Unbuffered • NON-ECC • DDR3-1333 • 1.35V • 256Meg x 64 • Part #: CT2838566
from: Crucial (found by using their memory configurator)
note: 4GB is the maximum for this device
price: $49.99 + $3.50 tax, free shipping

USB sticks

For installing the OS and a boot device.

SanDisk Cruzer Fit 8GB USB 2.0 Flash Drive Model SDCZ33-008G-B35

2, because they're small (Note: they are so small I have a hard time getting a finger grip on them to remove them)
from: Newegg
price: $9.50 each, free shipping

Installation

Hardware

Install the memory:

  • Remove the cover thumsbcrews, the side snaps out.
  • Snap the two memory modules into place as shown in the manual. One goes in at an angle, the other more flat, but both are flat when inserted.
  • (The memory was label side down for me; the modules are keyed so you can't get this wrong).
  • Reattach the side and thumbscrews.

Attach the stand and all cables of interest.

The computer did not boot up the first few times I tried it. The cpu fan would spin but I would get continuous slow beeping and the power off button would not work.

What I did:

  • Disconnected all cables.
  • Replaced the battery (CR2032, common on motherboards and also used in the Zotac remote).
  • Cleared the CMOS with the jumper on the motherboard (there is a diagram on the board)
  • Tried it with no memory, and with just one memory module, and switched them around

At some point it booted with one memory module, then with two. Seemed to work ok thereafter.

Installed Kingston 128GB SSD as system device.

XBMC

System -> Settings -> Audio Output Device was set to "analog" by default. I changed it to "HDA, NVidia, HDMI".

Wireless works, but I have to click it to connect under System -> OpenELEC -> Connections. I'm using wired ethernet, but for completeness I should figure out how to automate the wireless connection. (Later: it now seems to connect automatically).

Wireless keyboard works, a cheap model using an RF usb dongle.

Movie file scraping worked ok, but TV episodes required experimenting. Finally, this naming scene worked:

TV                      # upper directory for all TV series
  series_name           # no year
    episode_S03E07.mkv  # arbitrary episode tag, season 3 episode 7; all seasons in one folder

This also works: an .nfo file containing just the IMDB link to the specific episode, named the same as the episode file. For the example above, the file would be named episode_S03E07.nfo.

I'll experiment with .nfo files containing XML tags later.

Data management for profiles

Rather than renaming my files to suit XBMC scrapers, I use symbolic links in an exported samba directory on my file server. The links can be named as needed, and collected into whatever directories are convenient. The same original file can appear in multiple directoties.

I use this to provide data management for XBMC Profiles. I wanted to subset the collection by viewer. Profiles have individual data sources, so this works out neatly.

I have always kept a parseable text catalog of my collection, and use a python script to create the directories and links automatically. It takes only seconds to recreate the entire scheme.

For titles that are not on the server, I create the link anyway. It points to a short "check shelf" video. This way I can use XBMC browsing capabilities for those discs as well.

Like many people, XBMC data management and scraping needs confused me at first. During much experimentation I would ask "What is it doing in there? I know what I want, why won't it give it to me?" In particular, catalog info seemed to leak across profiles, even though I thought I had defined the sharing settings correctly.

This was probably due to errors on my part. There might have been bugs or behavior that changed across updates.

Tips on what finally worked for me:

  • Use an optional scraper: Universal...
  • I create an .nfo file for every title, containing just the IMDB link. This might be a hardship -- and is usually unnecessary -- for most people, but I have the IMDB links in my offline catalog and the script that creates the links creates the .nfo files easily. This helps with hard cases.
  • Note that XBMC scrapes each file only once, when they are newly added.
  • To rescrape a specific title:
  • To rescrape the entire data source:
  • Use a good network connection. If it is unreliable the software seems to give up sometimes.

History


This document was generated on June 29, 2020 at 16:27 CDT with docutils.

Comments?

Bill McClain (wmcclain@watershade.net)