I can hear you thinking it. i have my Pi hooked up a TV already, why would I want to watch TV through the Pi? isn’t that a bit redundant?The short answer is, yes it is redundant if you just set it up to receive TV, but you can also use the Pi as a DVR simply by attaching an external Hard Drive
If you want to set up your Pi as a DVR you will also need the following1.An external USB Drive2.A Powered USB hubNote: If you are using a 2.5” hard drive which draws it’s power from USB DO NOT PLUG IT INTO THE PI!The Raspberry Pi does not provide enough current to power an external hard drive and you may permanently damage the Pi.Update: If you have a Rapsberryi Pi 2 or 3 then you should be alright, the power management circuitry on these boards are greatly improved sop the risk of damage is much lower, however you may not be able to draw enough power through the USB to power the drive on.Also, most powered hubs marketed for the Pi do not provide enough current per port to power an external hard drive. Plugging your Hard drive into one of these hubs will not damage your Pi but you will probably find it will not power on.A list of verified powered hubs can be found here.
First we need to install the TV stick and make sure that the Pi can recognize it.1.Plug the TV stick into the Pi or an attached USB hub2.Log into the Pi using PuTTy or similar terminal program username: osmc, Password: osmc)3.type lsusb 4.In the output you should see a line identifying your TV stick, e.g. 'Bus 001 Device 010: ID 2304:0237 Pinnacle Systems, Inc. PCTV 73e [DiBcom DiB7000PC]' This shows the Pi has detected the stick 5.Type dmesg | grep dvb6.You will probably see a line saying that a firmware file cannot be found, in my case it was looking for a file called 'dvb-usb-dib0700.fw'7.Google is your friend. Do a search for the filename, you should be able to find it available for download somewhere, I found mine at http://linuxtv.org/downloads/firmware/ 8.Once you have found a link to the firmware file, right click on it and select Copy Shortcut9.On your terminal session type cd /lib/firmware and press enter10.now type sudo wget and then paste the shortcut (in PuTTy a simple right click will do the paste for you) and press enter.11.The firmware file should now download to the firmware directory.12.Unplug the USB TV Stick and plug it back in again, or alternatively reboot the Pi.13.Type dmesg | grep dvb and press enter again. You should see output similar to this:dvb-usb: found a 'Pinnacle PCTV 73e' in warm state.dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.dvb-usb: schedule remote query interval to 50 msecs.dvb-usb: Pinnacle PCTV 73e successfully initialized and connected.usbcore: registered new interface driver dvb_usb_dib0700dvb_hdhomerun: module is from the staging directory, the quality is unknown, you have been warned.
Now that the Pi can recognize and talk to the TV stick, we need to configure RaspBMC to use it.1.Select System>My OSMC Settings2.Select Pi Config3.Enter your MPEG2 licence key under Advanced System Settings4.Go back to the main menu5.Now go to the App Store and select TVHeadend6.It will take a couple of minutes to install.7.Go to your PC and open a browser window8.in the address bar fo the browser, go to http://<address of Pi>:9981 e.g. http://192.168.1.99:99819.You should see the TVHeadend configuration page10.Go to the Configuration Tab, then Select DVB Inputs11.In the TV Adapters drop down, you should see your adapter listed. Select it and make sure that Enabled is checked12.You now have two choices. You can either click 'Add DVB Network by location" and select your country and nearest transmitter but the information on the available muxes is probably out of date (it was for me) so you can choose to add the Multiplexes manually by clicking the 'Multiplex' tab and then clicking "Add Multiplex manually'13.Information on UK multiplexes can be found at http://www.ukfree.tv/closedown.php. Find your nearest transmitter and select the TV option to see a list of multiplexes.14.In our Manual box you will need to enter the frequency in KHz the information give is in MHz so multiply by 1000. In the example above the frequency is given as 670 MHz so we would be entering it as 67400015.Bandwidth is 8MHz16.Constellation is given in the info as QAM6417.Transmission mode is given in the info above as 8K18.Guard Interval for the UK is 1/32.19.Hierarchy is 'None'20.FEC Hi is given in the info as 2/321.FEC Lo for the UK is 'None'22.Click Add.23.Once you have added the first Mux, TVHeadend should automatically detect the rest.24.TVHeadend will now scan for channels, this will take a few moments but it should find all the services in your area. If it can;t find anything, check your antenna connection.25.Now you need to click "Map DVB Services by area' to map the channels and start pulling down EPG info26.On the XBMC interface we now need to enable the Live TV Service. Go to System and select Settings27.Go to the Live TV entry and set it to Enabled28.You will get a prompt that no PVR Client Add-on is enabled and then taken to a list of available add-ons29.Install the TVheadend Client add-on, you shouldn't need to change any settings.30.Congratulations. On the menu bar you should see Live TV from where you can view TV. it may take a few minutes for the Channels to add themselves in and the EPG data to become available.
Configuring for Recording
Finally, if you are setting up the Pi to record TV, you go to the configuration tab again and select the Recording tab.The Recording system path is where you point the Pi to where you want your recordings saved. in RaspBMC, external drives can be found under /media/External then whatever subdirectory, if any, you want.in my case, my drive has a sub-folder called Recordings.