Select Page
This entry has been published on 2013-03-22 and may be out of date.

Last Updated on 2013-03-22.

In this tutorial, I try to describe how to achieve the following:

  • Use a physical Windows 2008 R2 Server with MediaPortal 1.2.3 or 1.3.0 as a TV server, e.g. with the DVB-S TV card(s) Digital Devices Cine S2.
  • Connect clients like Openelec / XBMC

With this configuration, you have a centralized TV server for your recordings, media database etc.

Afterwards, you do not need an open internet connection on the server.

Configuring the server

Connect to your 2008 R2 server via RDP, or simply log in directly with Administrator permissions.

Check if you have an up-to-date video card driver installed, e.g. from Nvidia, AMD, Intel etc.

In Windows Server Manager, add the feature “Desktop Appearance” if not activated yet.

Check if you have the latest drivers of your TV card(s).

Windows 2008 R2 does not have BDA files included by default, but they are needed to access the TV cards, so you have to copy them from a Windows 7 system. Have a look at this blog for details. Short summary: Download the zip file, run batch file on Win 7, copy everything to 2008 R2 server, run the other batch file.

If you use a CI module, configure it now, e.g. via DVBCineConfig if you use DD devices.

Download and install MediaPortal. You only need the server part. The software maybe tells you Win 2008 R2 is not officially supported, but from my personal experience and many other user’s experiences I can say it definitely works. Note: During setup, you need an open internet connection (HTTP).

Look at the server config to see if MP recognizes your TV cards. Otherwise you maybe have a problem with the BDA driver, especially if you see an error 0x80040154.

Run a full channel scan (open internet connection is required during scan, for the transponder lists).

Customize several directory paths in the MP config according to your needs.

Download TVServerXBMC plugin from here. Note: There are different versions for MediaPortal 1.2.3 and 1.3.0. Copy the DLL into the plugins directory of your MP installation.

You should now see the plugin in the MP server config (if not, try a server restart). The configuration is simple; in the end you should have network shares for timeshifting and recording. The folders have to be readable by the clients, so it may be useful to e.g. create a user “XBMC” in your Active Directory.

Make sure you have opened your firewall not to block the TVServerXBMC port.

I recommend to move all needed TV channels into one separate group. You can set this group in XBMC afterwards, so loading the channel list does not take too much time. Then activate EPG for the grouped channels.

Configure Openelec / XBMC client

Download an Openelec image which fits to your hardware (e.g. Zotac Zbox, Raspberry Pi, …, there are several prepared images, be sure to choose the right one).

Extract the Zip file, insert a USB stick and run the Exe of the extracted Zip directory to prepare and build the installation stick.

Insert this USB stick into your client hardware and boot from it. Choose quick install, the wizard will guide you through the installation process. After a few minutes, it should have finished and you can boot from your normal HDD, SSD, SD card etc. Note: During install, it may be useful to enable SSH.

Check the status page under Openelec to see if you got an IP address from your DHCP server, if available. If you need a static IP, set it via the network config area.

There is some configuration which cannot all be done via GUI. I uploaded my autostart.sh: openelec_autostart_configfile so you can see how to set your Windows AD domain name, time servers etc. See this link for the correct path and permissions.

Notes on how to use the autostart file: You need to set “chmod +x /storage/.config/autostart.sh” via SSH and and modify the “ID” for your network card. You get your NIC ID via /usr/lib/connman/get-services. You might also have to set the sleep time to a higher value.

Go to the XBMC settings area, Add-ons, and enable the PVR addon for MediaPortal. Configure it using your SMB network shares for timeshifting folder etc.

Set your preferred language in settings -> appearance -> international.

Enable auto-updates for Openelec.

(At this time you should already be able to view some TV channels, so you can test it and if there are problems, have a look at the server log file of MP)

Optimization

If the TV channels load too slow, or if switching takes a long time, you can try to move your timeshifting network share to a RAMdisk. Look at this link for optimum values. I can recommend Primo Ramdisk Server Edition. Many forum threads also say you should disable AntiVirus (for testing), or just don’t scan network shares, if you use a Windows client, but this does not affect OpenElec, of course. Also, have a look at the TV server logs and/or try the MP client to see if the slow performance is the clients’ or servers’ fault.

By default, the XBMC MP Plugin loads the full channel list from your MP server which can take quite a long time. So you can delete some channels, but they will appear again if you do a full transponder scan afterwards. The better idea would be to put all the channels you really need into a group (on the MP server side), and then let the client(s) only synchronize this 1 group.

If you want the channel logos to be shown in the lists, you temporarily need the MP Client software on a PC of your choice. Install a plugin like this one to get the channel logos for your region in JPG format. The file names should be identically to the channel names. For centralization, move the files to a readable network share and point XBMC to this source (via TV settings menu, or in the guisettings.xml).

Problems with Zotac remote (or similar device): It can happen that all remote signals get recognized twice (e.g. you press “down” one time, but the channel list jumps 2 steps). Usually, the problem is your client hardware gets the signal twice. You maybe already have a built-in signal remote signal receiver and also a USB receiver connected -> plug out the USB receiver and it should work.

Wrong key assignment on your remote control: If you are used to Windows MediaCenter, you maybe would like the Home key to really go to the XBMC home screen, and not only one step back, etc. You can correct the remote control behaviour with a custom remote.xml. In my case with the remote of the Zotac AD10 mini, these files worked perfectly. Also have a look at this thread.

If you need special CAM modules on your server, you need MDAPI to use them. Note: MDAPI and the “sub” modules are not officially supported by MediaPortal. Of course, you need to make sure you have a valid license to access protected channels.

Centralizing / optimizing more XBMC / Openelec items (not all tested yet):

Copying settings to other hardware

  1. Basically, all you need to do is to backup the folders “userdata” and “configfiles” via SMB network share.
  2. Install Openelec on the destination device. You should use the same Openelec version you used before, but it might also work with different versions.
  3. When installed, check the IP address on the new system. From the PC where you backed up your files, access the new IP and copy both backed up folders over the existing ones on the device.
  4. Power down the Openelec device (e.g. disconnect power directly). Note: Don’t do a regularly shutdown at this time, because the shutdown process might overwrite some of the copied files.
  5. Start the device again – you should have all your settings restored. If you cloned your settings from another system and both systems are running now, make sure you set different IPs (when in Static IP mode).

Other References:

http://forum.team-mediaportal.com/threads/how-to-install-mediaportal-on-windows-2008-r2-x64-only.81774/

UPDATE

After some weeks of testing and being tired of various hangups, non-fixable problems (SMB, standby, ..) etc, I decided to switch to Windows 8 Media Center using DVBLink Client / Server solution.

UPDATE 2

Seems to be working fine now, with an SMB workaround. View post.