Thought I would post my first attempt to build an all-in one XBMC LiveTV and PVR running Raspbmc and TVHeadend. Credit is given to Quonith for his awesome tutorial upon which this is based: http://forum.stmlabs.com/showthread.php?tid=2648.
This particular tutorial is using the Digital Now TinyUSB2 DVB-T with TVHeadend as the TV server. I am looking to do away with my power hungry Windows 7 Media Centre PC and this is more od a proof of concept more than anything. At this point in time, I still prefer Windows MCE as it 'just works' and is very intuitive for the user (most important of all). None the less, this was good fun.
You can view a video of my setup here: https://www.youtube.com/watch?v=UdHmASKxPIk
Specs for this setup:
- RPi Model B
- Digital Now TinyUSB2 DVB-T (aka Beetle) - plugged straight into Pi (no USB hub)
- iPad charger as PSU (2A @ 5V DC) with a micro USB cable.
- Windows Media Centre Remote Control and Keyboard
- 16GB Sandisk Class10 SDHC
- Using HDMI output into TV
2. Boot RPi with SD Card and allow install to take place (around 20-30min).
3. Install nightly PVR build: In XBMC, go to Programs → Raspbmc Settings → Nightly Build Configuration
4. Add Codec licenses (optional). I believe this was required in my case (for Australian free-to-air TV). You can buy them here for next to nothing: http://www.raspberrypi.com/
5. SSH to RPi and setup the locales etc (prompted at first SSH session).
6. Now, download and install the TinyUSB2 Firmware by typing:
Code: Select all
cd /lib/firmware
sudo wget http://www.linuxtv.org/downloads/firmware/dvb-usb-vp7045-01.fwcd /etc/init
Code: Select all
sudo -s
cd /
wget http://goo.gl/jFh9x -O rootfs.tar.gz
tar -xzf rootfs.tar.gz
cd /boot
wget http://goo.gl/Xj3IR -O vfat.tar.gz
tar -xzf vfat.tar.gz
reboot
Code: Select all
sudo gedit /etc/modprobe.d/dvbt.conf
Code: Select all
options dvb-usb disable_rc_polling=1
Code: Select all
sudo apt-get update
sudo apt-get install unzip libcurl4-openssl-dev pkg-config git build-essential dvb-apps
Code: Select all
cd ~
git clone https://github.com/tvheadend/tvheadend
cd tvheadend
./configure
make
sudo make install
Code: Select all
cd /etc/init
nano tvheadend.conf
Code: Select all
# TvHeadEnd Server
description "Tvheadend server"
start on xbmc-started
script
su - pi -c "/usr/local/bin/tvheadend -f"
exit 0
end script
12. Reboot Pi
Code: Select all
sudo reboot
* If you cannot get to TVHeadend, you can start it by running the following command on the Pi via SSH:
Code: Select all
tvheadend -f
- Go to configuration→ General
- Enter en for the default language
- Enter /usr/share/dvb into the ‘DVB Scan Files path.
- Go to configuration -> TV Adapters and select a TV Adapter.
- Set the "NIT-o Network ID". Apparently, you can find that in your provider's manual. I took a guess and for my TinyUSB2 I used ‘0’.
- Ensure "Autodetect muxes" and "Idle scanning" are ticked.
- Then select "Add DVB Network by location" – this will add Muxes from a known database
- Click "save"
- Tvheadend will now start to detect multiplexes and services. Wait for "Muxes awaiting initial scan" to become 0.
- Now click "Map DVB Services to channels". TVheadend will now try to open each channel and will add each channel that can be opened.
- Repeat this process for other adapters if you have them.
16. Choose ‘Tvheadend HTSP Client’ as the server and enable it. Allow the channels to be detected by XBMC and then try watching TV.
As I mentioned earlier, this was more of a PoC exercise for me. I thought it might be useful to others however as I know the TinyUSB2 is a common tuner and chances are others will have one lying around.
Ian