I have been using my Media Center PC as a TV server for a few years, it sits there running 24×7 churning away using lots of power and it probably isn’t the most energy efficient system. So this week I moved over my TV server to a much more efficient Raspberry Pi setup. The benefit of using Raspberry Pi are multiple, it’s very lower powered, small and much cheaper than a PC (£29!).
To use the Raspberry Pi as TV server I used DVBLogic’s DVBLink system which has clients for many platforms including iOS, Windows Phone, Android, Windows Store and works via the browser. You can also install it on a Windows Media Center machine and then access the server tuners from Media Center. Another option is to use another Raspberry Pi running XBMC as a client. With the low price of the Raspberry Pi you could afford to get a few XBMC machines up and running as a whole home solution. So by installing the tuner on the Pi you can watch live TV on virtually any device and also watch and record TV shows.
I use a HD Homerun tuner which is a network enabled DVB-T tuner but you could also use a USB tuner plugged into the Raspberry Pi. So you need a TV tuner and the DVBLink Server software (there is a free trial available) and a Raspberry Pi. DVBLink runs on Raspbian distribution so the first step is to get your Raspberry Pi up and running with Rasbpian and once you Pi is up and running you can do everything remotely via SSH.
Now you need to get the DVBLink install files. You will find the server file on DVBLogic.com, download the file and then extract the deb file from the GZ file. I downloaded the file and extracted the file on the Raspberry Pi via VNC session. At the time of writing the version is 4.6.0 so to install it go to the command line on the Raspberry Pi and execute: sudo dpkg -i dvblink-server_4.6.0_armhf_wheezy.deb
The installer will install DVBLink Server and add a server daemon to the system startup to run DVBLink automatically. Don’t worry if you are using OpenELEC on your Pi, just follow the instructions on DVBLogic.com.
The rest of the setup can be done from the browser. If you are setting it up on the Raspberry Pi desktop go to http://localhost:39876 or from a remote machine go to the IP address of the server e.g. http://192.168.1.2:39876
From the products screen you will need to add a TV source, click on the Install button and select a TV Source. You will then need to activate it to work, select DVBLink TV Source and click on Activate, you can use a free trial which and purchase it later if it works for you.
Next you can add the TV Tuners, on my system it detected my dual HD Homerun Tuners, add the tuner and then get it to scan for channels by clicking on the Channels tab and selecting Scan.
You can pick which channels you want to show via DVBLink, so you could add them all but you may want to clean up the list (remove unsuitable channels, pay TV channels etc), and you can do this in the Channel list.
You can also change the file locations in the TV and Media Library setting so you could store recorded TV on USB attached storage rather than the Raspberry Pi’s SD Card .
DVBLink have some tips for optimising the setup on the Pi:
Make sure you have good a power supply for your Raspberry Pi
Hi speed SD card with the capacity of at least 4GB is required
If using a USB TV Tuner you may need additional powered USB hub for it to function properly
It is advisable to (moderately) overclock Raspberry Pi to get acceptable performance with TV function.
It is advisable to set gpu_mem=96 in config.txt to avoid killing xbmc or dvblink processes on low memory.
Now you have it up and running you can install the DVBLink app on your devices and connect to the server, you will be able to watch live TV and record TV shows from the device with the back end being performed by the Raspberry Pi.
Playback works very well, I watched live TV on my iPad and my Surface and it downloaded the EPG data over the air so I had 14 days of EPG data. You can also install XMLTV so it could work with multiple EPG sources.
The Raspberry Pi works very well as a TV server, I have it sat on top of my HD Homerun in a cupboard with it talking very little power and no keyboard or monitor plugged in, all in all its a very efficient and elegant solution. I haven’t tried any HD channels yet as my only HD tuner is PCIe which will not work with the Raspberry Pi. I would be interested to hear how others are getting on with the Pi as a TV Server.
{"id":null,"mode":"button","open_style":"in_place","currency_code":"GBP","currency_symbol":"\u00a3","currency_type":"decimal","blank_flag_url":"https:\/\/thedigitallifestyle.com\/w\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/thedigitallifestyle.com\/w\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":500,"top_media_type":"none","featured_image_url":false,"featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Leave a tip","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"TheDigitalLifestyle.com","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"TheDigitalLifestyle.com","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for being a supporter!","payment_confirmation_title":"TheDigitalLifestyle.com","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}
RT @isdixon: Using a @Raspberry_Pi as a TV server with DVBLink: http://t.co/xpSQGEJBaY @dvblogic
RT @TheDigitalLifeS: Using a @Raspberry_Pi as a TV server with DVBLink: http://t.co/4OUg2BCqys @dvblogic
RT @TheDigitalLifeS: Using a @Raspberry_Pi as a TV server with DVBLink: http://t.co/4OUg2BCqys @dvblogic
Hi Ian, pound for pound how does this fair against the traditional use of TV in MCE?
Thanks