I recently took up a challenge to build a media center PC for a friend. Having scoured Ebay I found what I thought looked like a really nice case for not too much money. It was also a Barebones system coming with DVD, Floppy and Motherboard. The motherboard only supported a Pentium III up to 800mhz but I decided that I could always upgrade this.
When I received it the case lived up to expectations and was pretty small. So small that on opening it up I found my upgrade options were limited. The case comes with a BookPC BKI810 3.3 motherboard (really tiny and would make a great basis for a Car PC) This is a custom BabyATX design based on the Intel 810 chipset and supports Pentium III processors up to 800mhz with a 100mhz front side bus. There are no PCI expansion ports but it does have on-board video (with TV-out), Audio (with SP-Dif out), Ethernet, Modem, COm, Game Port, Printer and USB (1.0) ports.
Whilst this would have run MCE 2005 it wasn’t going to cut the mustard for my friends Hi-def vista media center so I went to plan B for that (more on that in a later post). I guess I could have gone with upgrading the BookPC a Pico-ITX Motherboard buy they are a bit too pricey.
All was not lost with this case however, I had been meaning to look into the prospect of building a Media Extender to work with the uPNP capabilities of Windows Media Player 11 in vista.
Note I say Media Extender – not Media center Extender – I wasn’t intending to stream Live TV or even watch Recorded TV in native DVRMS format but I already transcode my Recorded TV to WMV files and Media Player 11 can share them via its built in uPNP media server.
uPNP stands for Universal Plug and Play a set of standards for Network devices to talk to each other. Windows Media Player 11 implements what used to be called Windows Media Connect and is a uPNP AV server. Basically this can be contacted by any uPNP AV client to access any Music, Pictures or Video in your Media Player Library.
I added a 800Mhz processor, hetsink, fan, 512mb Ram and a 20Gb hards drive to the motherboard. Checked it all out and it booted to BIOS fine. Got as bit of a shock when my 800mhz procssor was shown as 600mhz but then realised that the processor was 133mhz FSB so on a 100Mhz FSB board it scaled down to 600mhz. Not a problem it should be plenty fast enough for what I wanted.
So all I needed was a uPNP client. I also wanted something that could use the inbuilt DVD player to play audio/dvds.
I decided to keep costs down and experiment with using Linux. I heard of Myth so tried that first. To cut things short I’m not a Linux guru and I struggled with Myth. I first tried KnopMyth which I just couldn’t get to play CD’s or DVD’s. I then found MythDora which was a much more straightforward install and did play CD and DVD but I couldn’t work out how to configure it for uPNP – if even that was possible.
I was about to give up on the Linux route when I made a great discovery GeeXboX. This is a Live CD(basically Linux which boots from a CD and doen’t need a hard disk) designed for playing Media and it has a uPNP client.
I downloaded the CD image (it comes in .iso format) and burnt it to CD. Put it in the HTPC Dvd Drive booted and, after a few seconds of Linux boot messages) up popped the menu including an open option. Selecting this gave me a uPNP option and selecting this gave me my media center as a uPNP server. I was stuck here for a few seconds as it wouldn’t display a list of contents form my Media Center, until I realised, stupidly, that I hadn’t gome to my media center pc and allowed the new device to access. (In Vista this is really easy as a toolbox popup appears on the PC as soon as a new device is detected)
Hey presto I had access to all the Music, Photos and Videos on my media center. I choose a Video (which happened to be a divx avi) and it played instantly and smoothly. This was great but alas my next choice a WMV file failed to play.
Codecs! I thought as one does (quick aside in the Media Center world I wonder if the word Codecs should now be added to swear word filters)
Scouring the excellent GeeXboX web site I found I was right the WMV codecs were not included by default and I would have to build my own custom ISO distribution. That sounded horrible – I really didn’t want to get into Linux toolchains. Fortunately GeeXboX had that covered and supply a very user friendly ISO builder. It even went as far as downloading the codecs for me. Excellent. One more button press and it built me a new Iso and a quick burn later I had a functioning GeeXboX streaming video from my Media Center. It even managed a WMV HD file albeit a bit broken up.
Streaming Audio was just as easy and my new custom build also gave me shoutcast radio. To top things off DVD’s play well as do CD audio (although I do have a problem with a couple stuttering on the first track)
So in summary for around 100 pounds you can pick up all the components for a decent media streaming extender and if you do not fancy building it yourself the kit I used here, with the configured GeeXboX disk, will be up on eBay shortly. I’ll post the link here.
{"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}