Media soup

Part I - About
Part II - Components
Part III - Hardware
Part IV - System
Part V - Server
Part VI - Client
Part VII - Miscellaneous
Part X - Examples

Part X - Examples

1. I3 Retro Server - 2011
2. Intel Xeon Vintage Server - 2015
3. Low Cost Celeron / Pentium Server - 2015

 


1. New I3 Retro Server - 2011
 

The Intel I3 based 'Retro Server' was my starting point, and has been more or less documented on the previous pages. The hardware was discussed beforee. I didn't keep a step by step guide for this one, sorry. The I3 Retro Server runs Windows 8, and can be used simultaneously for streaming movies / music / watching movies, and some limited gaming. (With a decent video card it could be used for somewhat more serious gaming, though that would hamper background file serving / transcoding / streaming.)


2. Vintage Xeon Server - 2015
 

How about using an old 2007 clunker as a dedicated server? Here's an old Intel Xeon server board that someone gave me, and why not use that as my new (slower) media server? I've got the costs covered (I hope) so unless performance is too low it should do fine.
 

2.1 Hardware

I've used old hardware I had laying around, in this case I've put in 3 GB of memory, I'm going to use Windows 7 Home Premium 32 bits so 3 TB should be enough. I didn't bother going for dual channel mode (didn't have four identical memory chips anyway, and on 32 bit Windows that last 1 GB doesn't matter, neither did that 3% speed increase).

The machine has on-board VGA graphics, good enough for a dedicated server.

The ethernet port is 1 GB. Good. No need for an additional network card.

As booting the machine is incredibly slow I've decided NOT to use a dedicated SSD boot disk, but instead use a 500 GB (or larger) boot drive that I partitioned in two sections: a 100 GB boot partition, and the 400 GB remainder that is going to be used to store... euh... some data that doesn't need much access. Books perhaps, or music? And if I need more space (seriously? this machine has six SATA ports!) I could always replace the 500 GB with a 2 TB drive...

My previous I3 Retro Server was using a Compaq case, Unfortunately the Xeon mainboard wouldn't fit (due to placement of memory and connectors) so I looked for the cheapest full ATX cases I could find. It should not be deeper than 44 cm (the server is located in a closet) and the power supply should be at the top of the case (due to exhaust ventilation holes). The only thing I could find was the Antec VSK4000 which is, frankly, a piece of garbage. But the Xeon board did fit...
 

2.2 Step by step

I'm pretty much doing the same installation every time, so most of the steps of the Celeron Server apply here as well.
 

2.3 Discontinued...

The results:

  • transcoding causes a serious load, one transcoding stream works fine, two might cause some minor problems, three won't work
  • I/O and network performance was on-par with the I3 (hey, this was a former server board after all)
  • no issues whatsoever simultaneously streaming music to five SqueezeBox players and and serving files to three XBMC media players
  • slots, ports, connectors and memory modules are located in very inconvenient places, I coulnd't use any of my cases so had to buy a (very cheap) new one...
Although the machine worked fine and costwise using an ol' clunker can even financially be interesting, I still stopped using this one after a few weeks. There were two reasons:
  1. The lack of standby / sleep support
  2. Troubles going to sleep / hibernate
Every time I switched on one of the Squeezebox units it took forever to wake up the server, and the Squeezebox player would lose its connection. Then I had to try to reconnect again... If you're on a budget and you don't mind those two minutes wait you're fine. For me it reached a certain level of irritation... (There's actually no real reason for the lack of standby support, it was just something Intel didn't think necessary in a server board back in 2007.)

Just as annoying was the tendency of this machine to stay 'on'. I suspect (though I have no hard evidence) that Windows managed to detect this machine as a 'server' and sneakily applied a different ruleset. When using powercfg -requests this machine would forever report active clients, the moment one came online. Even when properly logging off etc. etc. etc.

So the Intel Xeon dual core board is gathering dust again. But... it worked fine.


3. Low Cost Celeron / Pentium Server - step by step - 2015
 

2014 / 105 Celerons and Pentiums have become incredibly powerful. (Never thought I would ever call a Celeron powerful, but there you have it.) If you are going to use TVersity or Servetome with a lot of transcoding I'd say get the Celeron G1840. The G1610 might be a bit tight. If you don't have to do any transcoding the cheapest of the cheapest would do, you might even consider a very low cost AMD build. I would not go for an Atom though, I've tried that, and was quite disappointed.

If you have other plans the 2014 / 2015 Pentiums are approaching the previous generation of I3's.

This machine is actually powered by a Pentium G3220 as the Celeron G1840 wasn't in stock. As for pricing (feb 2015 Netherlands)... when I bought the CPU prices were very close, and some CPU's were discontinued leading to even more discounts.

  • Celeron G1610 - 38 euro
  • Celeron G1840 - 45 eruro
  • Celeron G1850 - 61 euro
  • Pentium G3220 - 55 euro
The G1850 is a weird one. It's perfoming less and costing more than the Pentium. Weird.

You definitely do not need an I3. (The I3 now powers a little 'steambox' gaming PC.) But... the I3 has hardware encoding (for some formats) and runs cooler, and has less problems with handling multiple streams simultaneously. For me, after tweaking some BubbleUPnP settings for ChromeCast playback the G3220 worked fine.


3.1 Hardware

  • CPU - Intel Pentium G3220 (boxed)
  • CPU fan - stock
  • mainboard - Asrock H81M-DGS R2.0 socket 1150
  • video - integrated Intel stuff
  • memory - 4 GB Kingston ValueRam
  • system fan - Arctic F12 TC temperature controlled
  • PSU - reusing an old Xion 500W (going to be replaced with a Seasonic OEM 400W soon)
  • case - Antec VSK4000
  • harddrives - bunch of disks I still had laying around
I bought the Antec case for the Vintage Xeon build, and reused it here as well as the power supply. The Arctec fan was a bit of a gamble... some of the cheaper mainboards have no board temperature sensor (my last purchase the Asrock H61M didn't) so the fans are only controlled by the CPU temperature. Just to be sure I picked up a temperature controlled Arctic fan but I guess in this case a regular PWM fan would have worked just as well. (In general I do like the Arctic F12 fans, they can move a good amount of air, are not too noisy, are affordable, and work well with most mainboards.)


3.2 Partitioning

As just said: booting the machine is incredibly slow. I've partitioned the boot drive in two secions: a 100 GB boot partition, and the 400 GB remainder that is going to be used for data. I will only create a (backup) image for the boot partition, keeping its size under control.

Windows (7) can be somewhat messy when partitioning, so I use GParted Live on a USB stick (Google for Tuxboot) to set up things the way I want.

In most BIOS'es you'll have to specify a boot device to start from an USB stick, often via setup (often F2, Del) or through a boot manager (often F11 or via a BIOS menu).

I tend to use the the second drive for temporary stuff, so perhaps I'll use the same approach on disk 2. This would then effectively look something like this:

DIsk 0 - 500 GB - 2 partitions
Partition 1 - boot disk - drive C:\ - Windows 7 stuff
Partition 2 - data - drive E:\ - movies or music etc.

Disk 1 - 500 GB - 2 partitions
Partition 1 - temp disk - drive D:\ - temp folders, download folder, etc.
Partition 2 - data - drive F:\ - movies or music etc.

Note that drive D: would contain the temp folder, so stuff that is often transcoded should better not be placed in drive F:\
Disk 2 - whatever - 1 partition - movies or music etc.

Disk 3 - whatever - 1 partition - movies or music etc.

Etcetera...


3.3 Install Windows 7

Windows 7 contains all drivers for this machine (or I simply could not find any better ones :-)).... Unless absolutely necessary I update all drivers in a later step.

  1. install Windows 7 from a USB stick
  2. user name: admin.
  3. password: whatever your fancy.
  4. then update update update update update...
I noticed that Windows 7, at first, would recognize four physical harddrives but would not automatically mount more than four logical harddisks. After some updates (no, I didn't pay attention which one)s it regonized all partitions / logical drives without any problems.


3.4 Tune Windows 7

You don't have to do (all) the following steps, but I prefer it this way.

  1. create folder D:\temp\admin
  2. create folder D:\temp\windows
Note : on an older SSD I would keep my temp folder on D:, on any newer SSD I would keep my temp folder on C:.

Time to tune Windows a little:

  1. Control Panel / System / Advanced System Settings / Advanced
  2. Performance
    1. Visual Effects - disable most, according to taste
    2. Advanced / Virtual Memory - add a system managed paging file on D:\
  3. Environment Variables
    1. User variables: TEMP and TMP - change to D:\temp\%USERNAME%
    2. System variables: TEMP and TMP - change to D:\temp\windows
    3. System variables: Path - add C:\software\batch;c:\software\utils
This might also be a good moment to activate your Windows 7.


3.5 Drivers

Some people like to install all drivers at an earlier stage. As I've been using a lot of older hardware with sometimes crappy driver support (and fooling around with these crappy / alternative drivers have messed up my system more than once) I prefer to let Windows do its thing first before I start mucking around.

Unfortunately, the network interface isn't recognized by the (older) Windows 7 installation, so I first downloaded all drivers, put them on a USB stick, and after intial installation of Windows I installed all drivers.


3.6 Network related

I prefer to be able to ping my machine. So enable ping:

  1. Control Panel / System and security / Windows Firewall / Advanced Settings / Inbound rules / New rule / Custom rule
  2. Protocol and Ports: Protocol / ICMPv4
And my server gets a specific IP address:
  1. Control Panel / Network and Sharing / Change adapter settings / Local Area Connection / Properties / TCPIPv4 / Properties
  2. set a specific IP address, for example 192.168.0.5
Check out the driver properties for any Wake On Lan related settings and, if required, enable WOL (was enabled by default on this intel board).

Disable sharing wizard:

  1. This Computer / Local Drive C:
  2. Organize / Layout / Menu bar
  3. Tools / Folder options / View
  4. scroll down and disable Use Sharing Wizard

3.7 Personal tools

I hate Internet Explorer, so...

  1. install Firefox
  2. use D:\download as default download folder for Firefox
Easy remote access using VNC:
  1. install Firefox (if you haven't done so already)
  2. install TightVNC
Note: The (latest) TightVNC installer is missing *something* causing an error when installing. This error doesn't show up after first installing Firefox. Duh.

Update. Whatever the reason, installing on a fresh Windows 7 failed. But after installing Firefox, OR installing some Asrock provided drivers TightVNC would run. Weird.

I like to have certain standard tools in a C:\software folder. I have started putting any 'non-standard installation' software (ie. anything that doesn't go into Program Files) in here, as well as certain tools and utilities I use on any and every system. You don't have to do this, but I prefer it this way.

  1. create folder C:\software
  2. create folder C:\software\batch
  3. create folder D:\download
  4. create
  5. copy icons to C:\software\icons
  6. copy utils to C:\software\utils - this folder contains little command line tools like nircmd, cmdow, arj, psexec etc. etc.
  7. copy wincmd (aka Total Commander) to C:\software\wincmd
  8. create a shortcut on the desktop to C:\software\wincmd\totalcmd.exe (can't live without Total Commander)
  9. copy power_shortcuts to C:\software\power_shortcuts
  10. copy all the .lnk's from power_shortcuts to the desktop (giving me icons to quickly restart, shutdown etc.)
  11. create a file C:\software\batrch\startup.bat - my file contains at least the line: start /B "" wallx adminmark keep resident
  12. create a shortcut on the desktop to the startup.bat file
  13. copy that shortcut to Start / All Programs / Startup
  14. create a shortcut on the desktop for 'notepad C:\software\batch\startup.bat'
At this stage, the desktop will look something like this:

(The background is courtesy of WallX.)

We now have pretty much a standard PC, ready to turn into a media server, HTPC, steambox, whatever. I pretty much do the steps above on every machine, no matter what its purpose.


3.8 Create an image

Great moment to create an image. I use an USB stick with TrueImage. (I'm not going to mention intermediate images / backups, I leave that up to you. Make some, though!)


3.9 Users

Create some users with limited rights. For example (whatever suits your purpose):
 
  User Password  Purpose
admin Unlisted Server maintenance and configuration, all rights access everywhere
shared Unlisted Read Only access to all media files, as well as R/W access to a dedicated 'Shared' folder
install Unlisted Read Only access to the folder with all installable programms

If you don't want user names to show up when booting or when logging in, you will have to hide them. Easy when using PowerToys TweakUI on XP, or with Windows 8. On Windows 7 (Home Premium) it takes a little registry wizardry:

  1. run regedit.xex
  2. goto HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList
  3. if SpecialAccounts\UserList don't exist then create them
  4. for each user name to hide
    • create a 32 bit DWORD with the user name and value 0

3.10 Shared drives

Windows 7 doesn't have shared drives by default. There are good reasons not to share complete drives, but I like them, so...

  1. This Computer
  2. RMB on drive C:
  3. Sharing / Advanced Sharing / Share this folder
  4. Share name: drive_c$
  5. Permissions
    • remove everyone
    • add admin
    • Full control
  6. repeat for drive_d$ drive_e$ etc.

3.11 Autologon
  1. Open Command Prompt
  2. netplwiz
  3. select user account to automatically logon
  4. deselect 'Users must enter a user name and passowrd to use this computer'
  5. Ok
  6. Enter password
  7. Ok

3.12 Folders and shared folders

Whatever you prefer. I try to organize my files in such a way that I am not depending on whatever logic XBMC / Plex / TVersity / ... uses.

For each shared folder:

  1. Properties / Sharing / Advanced Sharing
  2. Share this folder
  3. Permissions
    1. Remove everyone
    2. Add shared (read only)
    3. Add admin (full control)

3.13 Applications

Other stuff...

  • provide an intranet page to local users - TinyWeb
  • ...
  • Java - required for Photostreamr (watch out for the addware, I hate that)
  • serve images to iPads - ImageBank aka Photostreamr - port 17011
  • ...
  • stream / transcode music to SqueezeBox players using the Logitech Media Server
  • serve audio books to Windows Phones - Digital Audio Book
  • ...
  • stream / transcode video to (DLNA) devices and browsers - TVersity
  • stream movies to iPads -  StreamToMe - port 9969
  • ...
  • provide (a browsable copy of) the book library on my main PC - Calibre
  • make it possible to remotely shutdown Calibre Server
  • ...
  • adjust port forwarding in the firewall
  • ...
Note: when using a regular HDD I try to keep all temp and swap stuff on D:, with a (modern) SSD I would keep them on C:.
 


3.14 Startup batch file

rem *** immediately return to user login

c:\software\power_shortcuts\switchuser

rem *** startup applications
rem squeezebox server is started with windows
rem tversity service is started with windows
start "WallX    "       /B c:\software\utils\wallx adminmark keep resident
start "TinyWeb"         /B /D c:\software\tinyweb c:\software\tinyweb\tinyweb.exe c:\software\tinyweb\homepage\
start "ImageBank"       /B "C:\Program Files\PhotoStreamr Home\PhotoStreamr Home.exe"
start "ServeToMe"       /B "C:\Program Files\Zqueue\ServeToMe\servetome.exe"
start "Squeeze Server"  /B "C:\Program Files\Squeezebox\SqueezeTray.exe"
start "Task Manager"    /B taskmgr
psexec                  /D c:\software\batch\calibre_server.bat

rem *** reorganize icons and minimize windows

C:\software\power_shortcuts\reicon.exe /R
nircmd wait 20000
nircmd win min stitle "photost"
nircmd win min stitle "servetome"
nircmd win min stitle "windows task"
nircmd win min stitle "calibre"
pause


3.15 Scheduled tasks

Sometimes power down simply doesn't happen, for whatever reason. A custom schedule makes sure the machine...

  1. will go into sleep mode every night at 01:00, except...
  2. on Sunday when it will first do an update at 01:00 followed by a full shutdown at 02:00.
In Task Scheduler:
  • Mo to Sa 01:00 - execute power_shortcuts\sleep.bat if idle for more than 10 minutes
  • Su 02:00 - execute power_shortcuts\shutdown.bat if idle for more than 10 minutes
Windows Update settings:
  • Install updates automatically every sunday at 01:00

3.16 Conclusion

It works fine :-)

Actually, it works great. This machine hums away in a closet downstairs, transcodes multiple streams without a sweat, wakes up quickly from a sleep state, goes properly to sleep, etcetera. The one limitation I can think of is the lack of SATA ports though perhaps that is a silly comment: who would expect on a low end el cheapo desktop board more than 4 SATA ports... I can always opt for replacing the existing HDD's with something larger, or add an inexpensive PCIe SATA card to add two more ports.

An advantage of using Windows 8 over 7 is bootup time. I've reconfigured the mainboard to allow 'fast boot' which is just about fast enough to wakeup and serve a SqueezeBox without having to ask a second time. When using Windows 8 there's another option 'ultra fast' which shaves off another few seconds.

Oh. And I would never ever again purchase an Antec VSK 4000 case. What a piece of ....