How Hauppauge’s MediaMVP married Beyond TV

September 26th, 2006 at 10:47 am by Rakesh

Guest blog posting by Jack Romano (romanoj)

The MediaMVP from Hauppauge is this great little device that lets you get photos, music and videos off of your PC and onto your television. And it’s cheap – only $100. As Tom wrote about here, without any extra work, you can use it to playback recordings made with Beyond TV. All you have to do is just point to the recorded shows directory. The MediaMVP will play your MPEG2 or Divx files. But it’s a less than ideal experience for lots of reasons:

  • You can only see titles of the video files and you can’t view information like show description, original airdate, etc.
  • You can’t watch live TV
  • You can’t delete a show that you’ve already watched
  • You can’t schedule new recordings or see which recordings are scheduled

So with these limitations in mind, a team of us decided that we could create a better interface. We created the open source MediaMVP BTV interface project. With our software, you get something closer to the complete Beyond TV experience (plus some extras like weather and Music playlists!), including access to live TV, and the program guide!

In short, just download the project file. Unzip and run the setup. Re-boot the MediaMVP and voila! You have a BTV extender at no additional cost.


Screenshot of the MediaMVP Beyond TV interface


How to use the MediaMVP for Beyond TV skin

To use the MediaMVP Beyond TV Skin project with a MediaMVP (wired or wireless), here’s what you need to do.

First, you must download the project file, MVPBTV4a.zip, from sourceforge.net at https://sourceforge.net/project/showfiles.php?group_id=107497. There are other versions but this is the version that is compatible with Beyond TV 4.0 and greater. Unzip it but don’t run the setup wizard yet.

Install Hauppauge’s Media MVP Software: If you haven’t done so already, whether you have the wired or wireless version, you need to install the Hauppauge software that came with your device. Hauppauge is constantly updating their firmware so you might want to checkout the latest version of their software at their site or at the www.shspvr.com/smf forum. Sometimes, the beta releases are not as stable as the production releases but they often fix anomalies that make the beta upgrade worth it. You can try any version you want with this BTV skin but the one version that has been tested and is known to work well is version 3.0.24088. The 3.0 series and higher is required to support the wireless MediaMVP.

Upgrade your MediaMVP software (optional): If you find that you want to upgrade your MediaMVP software, then you need to do that first before installing the skin. To this, you must stop the MediaMVP services by selecting STOP in the Programs menu choice under Hauppauge MediaMVP. This stops the background services for the MediaMVP. Do a complete un-install of the Hauppauge software and then install the new version. You must un-plug you MediaMVP unit from the wall socket and then plug it back in, in order for the MediaMVP to re-boot with the new Hauppauge firmware. You may want to test out the new Hauppauge software first and convince yourself that it works well and you are happy with all the settings. For example, I normally adjust the skip interval to 30 seconds to match my use. These settings should be accessible with the BTV skin but it can’t hurt to set them up right here.

Install the MediaMVP BTV project: Next, run the setup wizard for the MediaMVP BTV project. This program automates the configuration process and copies the files it needs from the Beyond TV directory. Snapstream was kind enough to let us use their graphics and icons for the skin so this program just makes a copy of those files and puts them in the Hauppauge image directory. The setup wizard also copies the BTV skin HTML files to the appropriate directory. The setup wizard reads your Snapstream BTV license number from the registry and puts this number in the user_config.js file. The skin uses this number to access the BTV API and is why a valid license number is required.


MediaMVP BTV Skin setup wizard

Also, setup attempts to register an ActiveX DLL file called MVPMedHelp.dll. This file is used to read file information for LiveTV functionality. Therefore, you must be logged into your computer as a user who has administrator privilege (i.e. the ability to run the regsrv.exe program)

Finished! When setup is complete, you can just power on your MediaMVP and BINGO, you should now see the BTV-like screens. You now have access to Recorded Shows, LiveTV, Photos, Music, Weather, Calendar and Internet Radio.

Tips/Notes

1) You should run through the Hauppauge Settings screen first. Most, if not all, of the settings are adjustable with the BTV skin but just in case, you may want to do the settings changes with the Hauppauge software. Either way, it should remember your settings when you install the skin.

2) Using the BTV skin, go through the Configuration screen. Select your weather zip code, your animated satellite image and select your default media folders.

3) There’s a file called “user_config.js� that contains user specific settings. You can edit this file using any text editor. In there, you can change your license number, password, directory info and more. You don’t need to change anything to make the skin work. The wizard sets up this file automatically.

4) To watch LiveTV, you must select the TV channel and show from the program guide. Select the show by pressing the Okay button. Then select “Watch this Show� menu option. If the selected show is in the future, you will be given an option to record the show instead of watch now option. Recording setup should work. Let us know if it doesn’t.

5) The LiveTV activity is really using a “watch this episode or show� function from the BTV API. As a result, when the show is over, the LiveTV session will stop. You must then select another show to watch to resume LiveTV.

6) Some people reported problems with LiveTV giving an Automation error message. If this happens to you, then the registration of the ActiveX dll file was not successful and you need to manual register the file. You can register the file using the following command at the DOS prompt:
regsvr.exe “c:\program files\Hauppauge MediaMVP\MVPMedHelp.dll�. Don’t forget the quotes around the filename and path.

7) LiveTV makes use of BeyondTV’s buffer file. As a result, there’s some setup time that is required before the skin can read and start playing this file. You might need to adjust the wait time by changing the following line in your User_config.js file:
var nWaitForLiveTV = 5*1000

Change it to be equal to 15*1000 or something like that. (15*1000 tells the software to wait 15 seconds)

8) When the MediaMVP is turned on, there’s a delay of up to several seconds. This is due to the skin logging into the BTV web service. Most of the time, it is fast but sometimes, it takes a few seconds. During that log in period, the MVP won’t respond to your remote control inputs. (It will catch up, however, so don’t press too many buttons)

9) The response time to your remote control inputs should be anywhere from near instant to up to 1 second.

10) You can delete a show from a menu option in the Recorded Show Details screen. *** Warning!! *** If you delete a show, this will delete the file completely from your computer. (That’s what you want but some people thought it was just deleting it from the menu choice).

11) You can change the Font of the menus and other screen text. You do this by editing the font size numbers in the “style.css� file. Don’t be afraid to edit and experiment with this file. Make a backup copy of it and try different sizes to find the perfect fit for you.

12) Read about this project and other BTV projects at Snapstream’s forum at http://forums.snapstream.com/vb/forumdisplay.php?f=41

13) Report problems at our Sourceforge.net project site. https://sourceforge.net/projects/mvpbtv/ or join the team and help program the fix. You only need to know HTML and JavaScript programming to help out.

History of the Open Source MediaMVP BTV Skin Project

There’s a saying that it takes a village to raise a child. Well, the MediaMVP from Hauppauge was like a child when it was first introduced. When it came out, it had an awkward user interface and it didn’t look like the other media players. However, it had two IMPORTANT things going for it at the start, 1) it was inexpensive and 2) it was customizable.


MediaMVP’s opening screen

Whether it was intentional or not, the MediaMVP screens could easily be modified. I think Hauppauge realized this and have allowed people to create custom screens for their MediaMVP without recourse. With the price of the unit just over $100, people could buy one to experiment with. The way the MediaMVP works is simple. Menus for the TV set are created via HTML on the PC and sent over the network to the MediaMVP for display on the TV. Remote control inputs are received by the MediaMVP and sent back to the PC server. The PC acts upon the request and sends a new HTML screen, streams a video or audio file or serves the photos to MediaMVP.

By allowing the user community to innovate and customize Hauppauge picked up new customer/developers like myself. I first learned about the customizations by reading the forum at the www.shspvr.com/smf website. I read about how one person created this modification, while another created that HTML page, while another wrote something else. People were pouring in with ideas and changes. In January 2004, what hooked me for good was a skin project called MVPBTVjr by the website moderator himself, codename SHS, (link: http://www.shspvr.com/smf/index.php?topic=3949.0)


Beyond MVP3jr skin by SHS

Beyond MVP3jr was a primitive skin which used HTML pages for each menu choices but it worked and gave the user a way to get easy access to Beyond TV videos on the MediaMVP. He also introduced the notion of playing LiveTV on the device. Back then, Snapstream’s Beyond TV was not as sophisticated as it is today. To play LiveTV, you just had to get the Hauppauge to play the LiveTV buffer file named tsbuffer.dat. Sometime around then, a new skin project was formed by Splint. This project was approaching the skin differently. They wanted to make use of JavaScript. JavaScript is a programming language that can be embedded in HTML to make web pages do cool stuff. Since the MediaMVP used HTML, it could use JavaScript. Splint, Jason, Keith and others were coming up with JavaScript code that allowed menu selections to happen dynamically and it gave access to functions that basic HTML didn’t provide. The true BTV skin was born and MediaMVP child was beginning to grow. Since this was an open source project, it exposed all of its files for everyone to see and manipulate. Being a Beyond TV user and a hobbyist programmer myself, I started to experiment with the code. I officially joined the developer’s team and started posting some code. For my first task, I created a way for the user to enter text via the remote control. In this case, you would use the letter entry function to search for a show.


My first contribution to the open source project was the search page

I started spending some serious time on the project. In order to convince my wife to let me spend time programming at night (yes, I have a day job :-) ), I had to create functionality that she cared about. You see, my wife is a weather nut. She loves keeping track of the upcoming weather. She wanted the MediaMVP to display weather info, radar and Satellite maps. I found the best way to get the MediaMVP to display web snippets of data like what was needed for the weather page was to use an RSS feed. RSS sites return data in XML format, which can be easily parsed using HTML JavaScript code. The mission was accomplished.


The weather page thanks to rssweather.com and weather.yahoo.com

With the necessary good will from my wife to continue working on the MediaMVP, I re-focused my efforts and got back to building on the Beyond TV theme. I started adding stuff to the Upcoming Recordings screen and more. A couple versions of the skin came out but we were still missing some features that would make the skin a complete media extender for Beyond TV. About that time, David joined our group and started doing some amazing things. He introduced the TV Program guide graphics to the project.


Access to LiveTV is through the TV Guide screen (thanks to David)

He built the graphics but had come across some trouble getting the LiveTV part to work with BTV 4.0. Snapstream was just about to release BTV 4.0. It was going to be a significant change to the way we communicated with BTV. With David’s effort, he showed me how easy it is to connect to the new web services. He re-wrote the code to use common function and web service calls.

A web service is nothing more than a background task running on a computer that serves clients across a network with a well-defined protocol. Beyond TV made information on the shows, TV guide and programming selections all available in its Beyond TV web services SDK.

Anyhow, since I was part of Snapstream’s beta program, I was able to experiment with BTV 4.0 before it was released. Coincidently, SnapStream had a big push to get programmers to use their software development kit (SDK). This project was using their SDK but we were using from JavaScript. Other projects that used the SDK can be found on the BTV downloads page http://forums.snapstream.com/vb/forumdisplay.php?f=41. We were trying to get LiveTV working with BTV 4.0 prior to the official release of BTV 4.0 by Snapstream. We thought it would cool to release a new version of our skin as Snapstream released BTV 4.0. The trick to getting LiveTV to work with BTV 4.x was to recognize that the concept was similar to BTV 3.7. Basically, an MPEG2 file is created by BTV and grows in size as long as the LiveTV remains “alive�. The trick was to get the MediaMVP to log in, start the LiveTV and request the LiveTV service remain active. The start up filename had to be decoded out of a header file. This required JavaScript for the MediaMVP to read from a file. But for security purposes, JavaScript was designed to have file I/O limitations. It wasn’t allowed to have native access to random files. Fortunately, those limitations could be overcome with Microsoft’s ActiveX functionality. To make a long story short, someone on the open source project team figured out early on that we could create ActiveX DLLs to add functions to the JavaScript used by the MediaMVP. That discovery was huge and allowed us the freedom to do things like read from any file, create a file and other things. (In fact, a new feature that I’m adding, Shoutcast Internet Radio selection, makes use of this functionality). The only trouble is that you have to get the DLL registered and tell the PC that it’s “safe�. These ActiveX DLLs are not harmful but some PCs will restrict the ActiveX and give error messages. I’m sure you’ve seen that dialog when you visit a site and a popup says, “Do you want to download this ActiveX DLL?�…Etc. That’s what we have here except that here we know we are safe.

Technically, we did have the skin ready when BTV 4.0 was released but our team was losing steam. Just as I finished adding a new playlist viewer and player for the music menu, the team was falling. (Yeah, after I created a really cool ability to create a Music song playlist on the fly and view the list. It was an awesome addition). Splint had left to pursue job opportunities and David was getting busy with school, I believe. Others had dropped off. I was left holding the bag. By that time, I had increased my MediaMVP ownership by two for a total of three MediaMVPs. I had bought one on Ebay and one at Radioshack when Radioshack was clearing out their MediaMVP inventory and were selling them for $59.

Anyway, the project became dormant for several months. What sparked the re-birth was the introduction of the wireless MediaMVP. As I mentioned before, my wife’s acceptance of the technology was very important to me. Besides weather, she really wanted to watch a Beyond TV show in the kitchen. She asked me to come up with a way to this. The kitchen presented a challenge. It was very far away from the Beyond TV computer. I couldn’t run wires like I did for the bedroom MediaMVP. Wireless was the only way to go. But…video demands a lot of bandwidth and speed. The new wireless MediaMVP uses the 802.11G protocol and claimed to support standard definition MPEG2 streaming. Could this wireless MediaMVP really handle video wirelessly?


MediaMVP’s opening screen

Before I purchased it, I had asked around and found out the wireless version would respond and behave the same way as the wired version. It would continue to use the HTML server-client style functionality. This means the BTV skin should work. With that, I ordered one and crossed my fingers. When it came in, I quickly wanted to see if it would accept the BTV skin. The problem was the new wireless version wanted a new Hauppauge software drivers and services. This meant I had to do a clean install on my PC. To ensure a good out of the box experience, I had to remove all of the custom files from the BTV skin. I installed their software and was back with the old familiar Hauppauge main menu as was shown at the beginning of this blog. I then realized that our installer for the BTV skin from our project was not complete. Some BTV image files were missing and were not copied, there was also a manual step of entering your BTV license number, and there was also the step of entering weather location and more. It was a pain to re-install. That’s when I decided I needed to make this better. So I dusted off the project files and created a new installer. I wanted an installer that would take care of everything for you so that it would be a one stop shopping experience. I created that installer and posted it at http://forums.snapstream.com/vb/showthread.php?t=20856&page=20&pp=15. The installer brought back attention to the LiveTV function for Beyond TV users. It also brought forth other changes that were quietly made to the project in the past. Suddenly, LiveTV was cool again and a lot of people were happy to see it. As for my wife, she was happy to have BTV in the kitchen. Imagine this, thanks the Beyond TV, MediaMVP and the skin, she can watch a recorded show in the kitchen while doing the dishes, then turn the MediaMVP off, head upstairs and turn on the MediaMVP there and RESUME watching the show in the bedroom right where she left off. All of that while she enjoys the familiar BTV screens we have on our PC.


My Wireless MediaMVP setup exposed in the kitchen

In our Pentium 4, 2.4 Ghz, BTV computer, we have two tuners (PVR-250 and PVR-150) installed. This computer runs BTV and runs the MediaMVP software. In fact, we are able to watch a show on the MediaMVP at the same time the PC records two shows at once. Try to make your TIVO do that! Life is good. The MediaMVP has definitely grown up. You might say it even married Beyond TV. The MediaMVP was no longer a child thanks to the community.

A little more about me

My name is Jack Romano. I have been an avid Beyond TV user and Beta tester since June 2003. I’m a full time electrical engineer working for the Department of Defense. During my spare time at home, I am a hobbyist programmer. I love to write code to make my life easier, whether it’s at home or at work. If the computer or device can’t do something, I’m in there tinkering with it. Many years ago, before there was Beyond TV, I had written my own PVR software. It was primitive but just like all of my projects, it made the computer do what I wanted. (I wrote XML weather programs, Jingo, and others). Thank goodness for Beyond TV. When I discovered it, it brought the TV functionality that I was looking for from my computer. However, I’m always looking ahead to the next step.

29 Responses to “How Hauppauge’s MediaMVP married Beyond TV”

  1. Get a Gravatar at gravatar.com Dave Says:

    Great post. I have a MVP but not Beyond TV. I may have to get it. The best part is the tip about satisfying the woman first…

  2. Get a Gravatar at gravatar.com matt Says:

    I finally got a wireless MVP and gave the latest version of this skin a whirl. Not only was the MVP exactly what I had hoped for (identical functionality to the wired version, just with no wires) but the skin has grown up a lot since the last time I played with it – it’s fantastic. Keep up the good work!

  3. Get a Gravatar at gravatar.com cfaslave Says:

    Jack,
    My hats off to you for bringing this project back to life. I just bought a mediamvp for an extra tv in the house and installed the skin. It works great! Cheap, small, silent and functional. I can’t thank you enough for your work on this. By the way, great write-up.

    Brent

  4. Get a Gravatar at gravatar.com Ray Says:

    Great Job RomanoJ!!!! :)

  5. Get a Gravatar at gravatar.com Craig Says:

    Very cool. But don’t you need a BTV Link license to make this work?

  6. Get a Gravatar at gravatar.com Brad Brunfelt Says:

    ok, so I’m excited about this.

    One of the persistent challenges I have had while using Beyond TV is computer resources. My wife wants to watch a recorded show, I want to game or read the web. BeyondTV uses resources (like the video card for example) to output to my TV.

    Can I assume then that Media MVP will basically just use the network card and hard drive from my computer to watch recorded shows?

    Thanks for all your effort. This looks really good.

  7. Get a Gravatar at gravatar.com Craig Says:

    Nevermind, I read the btv forums that you don’t need one.

  8. Get a Gravatar at gravatar.com AlienNathan Says:

    It’s great that this new version is compatible with BTV4.x, but I don’t see it clearly stated whether or not it will also work with 3.x. Will it? Or should I use an older release?

    Thanks.

  9. Get a Gravatar at gravatar.com Zatz Not Funny. . .»Blog Archive » Interesting News Dave Hasn’t Covered Says:

    [...] Custon BeyondTV GUI created for Hauppauge media extender. (SnapStream) [...]

  10. Get a Gravatar at gravatar.com Doubledose Says:

    I have been a user of BYTV for about 2 years. When I first put my system together I also wanted the multi TV use. At that time the mvp was the solution I came up with. I have used the skins from day 1 and was disappointed when bytv 4.0 came out and I lost some of it’s functions. I for one greatly appreciate all of your work on this project to bring it back to a very user friendly set up.
    Once again thanks for all of your hard on this project.
    Wayne

  11. Get a Gravatar at gravatar.com cosiz Says:

    Great project! I also enjoyed the excellent details and insights into the development and history!

    Cheers!
    Bryan

  12. Get a Gravatar at gravatar.com Chip Says:

    So my MediaMPV is on my server and my BTV is on my desktop PC. Any thoughts on whether/if I can make this skin work? It would be fantastic to be able to display summaries on-screen, especially when picking a recorded movie….

  13. Get a Gravatar at gravatar.com Wally Says:

    Very cool project but I have a question.

    If my BTV server is recording in HD will the MediaMPV play those files? I saw on their webnsite that it supports transport steam. I know that it will not output them in HD because it only has SV and compsite but will it play the files?

  14. Get a Gravatar at gravatar.com Wally Says:

    Sorry, that should be “transport stream”.

    Thanks

  15. Get a Gravatar at gravatar.com Michael Lomker Says:

    I just set up my wireless model and want to say THANKS! to you and the rest of the team that worked on this project. This solution is a lot cheaper than another PC but the OSD isn’t quite as nice–at least the 30-second skip works when watching recorded programs.

  16. Get a Gravatar at gravatar.com torpdude Says:

    Thanks Jack. I had really missed my MVP until now.
    Just one note to those with the Automation Error, at the cmd prompt type:

    regsvr32.exe “c:\program files\Hauppauge MediaMVP\MVPMedHelp.dll�

    vice regsvr.exe…

  17. Get a Gravatar at gravatar.com Shawn Says:

    I’ve been using the BTV skin since the early days, at least 2 or 3 years by now. MediaMVP’s are on every tv in the house. The new release of this software is really great!

    My one complaint is that the MediaMPV blue startup screen sometimes takes several minutes. Yes, minutes! But that’s not this product’s problem. Once I’m in it, it’s incredible.

    For those who have wired MVP’s but need to put them in a spot without a network port, just get yourself a cheap wireless access point. I have 2 of my MediaMVP’s set up that way and they couldn’t be happier.

  18. Get a Gravatar at gravatar.com Ryan Says:

    Now, I have a question, I doubt anyone will see this blog entry for a long time, but I’m about to take the plunge on a wireless one, I wanted to know if this skin behaves exactly like the link unit, i.e. if you choose live tv does it know if there’s a tuner available, does it allow you to login to a live tv session is there’s one available, and/or will it disrupt recording of shows, or will it behave just like the link system?

  19. Get a Gravatar at gravatar.com my weblog » Put the 120mm fan in the 3com Switch 3300. Says:

    [...] It tells how to use it with beyond TV here. [...]

  20. Get a Gravatar at gravatar.com Garry DeLozier Says:

    I just want to say I appreciate your efforts to enhance the software because I really like Beyond TV and Beyond Media and there needs to be a simple way to stream media to the TV. I think Snapstream, like Apple computer, needs to develop their own hardware set to get it right, possibly in cooperation with a hardware vendor. The average person just wants things to work and won’t spend 5 minutes to customize a device for thier own preferences, let alone read a manual. I know my sister and brother well.

  21. Get a Gravatar at gravatar.com Peter Wilcox Says:

    Why can’t we be able to stream tv just like sage TV can do?

    http://store.sagetv.com/Merchant2/merchant.mv?Screen=PROD&Store_Code=SOS&Product_Code=STVCWMVP

  22. Get a Gravatar at gravatar.com Daivd Says:

    romanoj – THANK YOU! Your work is AWESOME! I love my BTV and MVP your work has brought them together and make it a joy to use!!! Thanks a million! -

  23. Get a Gravatar at gravatar.com Marc Says:

    Maybe I’m just being greedy but have you thought about finding a way to implement the transparent overlay feature in BTV into the skin where you can watch live TV and navigate the guide at the same time?

  24. Get a Gravatar at gravatar.com Radiorara Says:

    I see that noone has posted anymore replies to this web blog. I hope the project is still continuning and not dead. I applaud people like Jack Romano and those countless others that make everyday products better, faster and more intuitative to our everyday lifestyles. I am a regular supporter of developers and projects and encourage everyone to give what they can to software tweakers if they find thier products and advancements useful. That said I am trying to add additional tv’s without wires to the house and want to know if this or the sage tv is a better option. I have FIOS so I dont know if that would be a problem. Peter Wilcox left a response that why cant we just stream tv like the sage? Is that feature available in the Beyond Tv or the BTV project? I have all standard definition tv’s for now but will be getting my 40″ Toshiba fixed and back online and then upgrade the tv in the bedroom to hi-def. CNet’s review of this product said that it could not stream HD. Is that a limitation of the hardware or is that something that could be addressed in this project? Thanks and hope to hear something soon. Keep up the great work!!!

  25. Get a Gravatar at gravatar.com Idaho Chang Says:

    Is this project still active?

  26. Get a Gravatar at gravatar.com Rene Boufford Says:

    I bought the MediaMVP wireless unit but after several days of unsuccessfully trying to connect to my wireless network I had to return it. Kept getting “connected to network successfully but unable to get IP address from router”. I really like the idea of this product just wish I knew how to get it to work. I did all the things that were suggested even closing my firewalls. Nothing worked. Thanks.

  27. Get a Gravatar at gravatar.com Bob Shapiro Says:

    I am planning to do some video experiments with the new the Hauppauge HVR 2250, we need the board not just to capture the video but also we need to capture Line 21 (Close Caption) into a .txt file with a time code.

    We are looking for s Software Development kit to be able to program at a chip level on this Hauppauge Board.

    Do you know anything about this?

    If not where we can go to accomplish what we need.

    Thank you,

    Bob Shapiro

  28. Get a Gravatar at gravatar.com Monty Says:

    Will this work with 64 bit systems?

  29. Get a Gravatar at gravatar.com Esimp Says:

    I can watch TV on the computer but when I change channels it doesn’t change. It shows that I have moved to say channel 5 but the image for channel 5 doesn’t appear unless I change the satellite box channel to 5. I thought I could change channels using beyond tv… Please advise