Ever since the Raspberry Pi was released I thought it would make a great Media Center device, its cheap, flexible and tiny enough for it to be the ideal device to tinker with. Since the release of the MPEG-2 codec for the Pi I have been trying different configurations to see if I could make it a Media Center Extender.
Obviously there is no Extender option from Microsoft but they are other 3rd party solutions. I have already tested watching live TV via a HDHomeRun and a Raspberry Pi which worked very well so the next test was to try using DVBLogic’s DVBLink addin for XBMC.
The DVBLink software network enables TV tuners with support for scheduling recordings, EPG support, streaming live and recorded TV and there are clients for Windows Media Center, Android, iOS and Windows Phone. Recently DVBLogic added XBMC support and this is what I used on the Raspberry Pi.
My Media Center machine is running Windows 8, DVBLink Connect server and is connected to a HDHomeRun TV tuner. On the Raspberry Pi I used the latest version of Raspbmc (an XBMC based distribution for the Raspberry Pi) , installed the DVBLink addin for XBMC and I installed the mpeg-2 decoder option on the Pi.
My Media Center machine DVBLink setup was already up and running so the first step was to install and configure DVBLink on XBMC. To do this I downloaded the DVBLink addin and copied it to a USB drive which I plugged into the Raspberry Pi and from the XBMC I went to Settings, Add ons and used the Install Addin from Zip file option, browsed to the USB drive, picked on the DVBLink addin and that installed the option.
Then from the Programs section of XBMC I selected the DVBLink addin and in the settings section entered the IP address of my Media Center PC, once that is done DVBLink is ready to go.
So what do you get with the addin install, well you get Live TV, a full EPG to browse, the option to record a TV show and stream recorded TV to the Pi. The EPG screen as a familiar blue look to it when you can view all the TV and radio channels and you can browse the programme guide. You can also schedule recordings and see what you have scheduled, it works very well with the only issue I had was with the time it took to load the EPG screen (it took about 20-30 seconds). Also anything you record can be streamed to other DVBLink clients including other Raspberry Pis and Media Center machines.
With Live TV you can do most of the things you do on a Media Center PC such as pause live TV and enable subtitles. The TV Recordings screen shows your recorded TV shows where you can play them back on the Raspberry Pi which worked great. There is also an EPG search feature where you can search for keywords in the schedule and schedule them to record.
So with DVBLink installed you can use the Raspberry Pi as a Media Center extender and it has to be one of the cheapest way of getting a distributed Media Center system running. I know its not exactly Windows Media Center but the combination of XBMC and the TV features of DVBLink make for a great solution, you could buy a few Raspberry Pis and stick them to the back of a TV and you have a great whole home Media Center setup. The main cost is the DVBLink software but you only need to buy that for the server and all the client are free.
14 thoughts on “Using DVBLink to turn the Raspberry Pi into a Media Center Extender”
I’m really excited about the potential of DVBLogic with XBMC. I’ve tried their add-in, and it’s not too bad, but I’d say it’s not quite there yet. The EPG is dreadful compared to media center. If that’s the best that they can do on XBMC, that’s a problem. However, I hope they stick at it and can do a nicer EPG, because then I think media center would have a true replacement.
I am really looking forward to see a video with how live TV performs (both SD and HD TV please). DVBLogic says that the Raspberry Pi is too slow for live tv, but I guess they love to be proved otherwise.
The one thing, that is preventing my from trying to put DVBLink on the Pi, is the low CPU Power and Memory. The switching between Channels takes about 3-5 Seconds on my Atom-based Media Center. So how fast can you switch between the TV channels on the Pi?
Ian – are you recording within Media Center, or using the DVB Link Recorder instead? (In otherwords is XBMC on the Pi looking at .wtv files recorded in Media Center and parsing the metadata in them – or is it using .ts files or similar? I guess the latter – as I’m not sure you’d see scheduled recordings in the EPG otherwise?)
When I click on Live TV or any other buttons i get the following Error Message “Error Connecting to the DVBLink server”
could anybody help me to get it started?
i am very interested in how you got this working. Can you do a tutorial ?Also the server software you bought , which one or a link ? Also you can view all your recordings on your main windows media center and stream it ? Is the pi connect with ethernet cable or wifi ?
What about video quality, HD LiveTV is usually 1080i and XBMC is not able to output native 1080i to the TV, so only 1080p is used. If your LiveTV stream is 1080i you then see artifacts (horizontal lines) during fast movements. Unless you enable de-interlacing which I don’t know if its possible on the Pi or not?
{"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}
I’m really excited about the potential of DVBLogic with XBMC. I’ve tried their add-in, and it’s not too bad, but I’d say it’s not quite there yet. The EPG is dreadful compared to media center. If that’s the best that they can do on XBMC, that’s a problem. However, I hope they stick at it and can do a nicer EPG, because then I think media center would have a true replacement.
I am really looking forward to see a video with how live TV performs (both SD and HD TV please). DVBLogic says that the Raspberry Pi is too slow for live tv, but I guess they love to be proved otherwise.
The one thing, that is preventing my from trying to put DVBLink on the Pi, is the low CPU Power and Memory. The switching between Channels takes about 3-5 Seconds on my Atom-based Media Center. So how fast can you switch between the TV channels on the Pi?
will give it a try, it does take about 20 seconds to load the EPG
Hi Ian, The scheduled recoreded tv, is it recorded on the client or the server?
recorded on the server but you can play it back on any client
Ian – are you recording within Media Center, or using the DVB Link Recorder instead? (In otherwords is XBMC on the Pi looking at .wtv files recorded in Media Center and parsing the metadata in them – or is it using .ts files or similar? I guess the latter – as I’m not sure you’d see scheduled recordings in the EPG otherwise?)
I am usingDVBLink’s recorder, they do show up in Media Center via the DVBLink addin
When I click on Live TV or any other buttons i get the following Error Message “Error Connecting to the DVBLink server”
could anybody help me to get it started?
i am very interested in how you got this working. Can you do a tutorial ?Also the server software you bought , which one or a link ? Also you can view all your recordings on your main windows media center and stream it ? Is the pi connect with ethernet cable or wifi ?
Does this work with CableCARDs, and does it support Copy Once encrypted channels?
It will not work with DRM and CableCARD’s encryption
Interesting setup. I have a similar setup, I am just using my Qnap with Dvblink to feed my Pi. EPG and recording works great, and Live too 🙂
Hi,
What about video quality, HD LiveTV is usually 1080i and XBMC is not able to output native 1080i to the TV, so only 1080p is used. If your LiveTV stream is 1080i you then see artifacts (horizontal lines) during fast movements. Unless you enable de-interlacing which I don’t know if its possible on the Pi or not?