Tuesday, December 25, 2007

speedtest...

My $6.25/mo DSL internet connection :)

This was at peak usage times. Have seen this go up to 1.9 at night. Never had it go down since I started using it. How much ever anyone may whip BSNL for their customer service, this is a terrific deal.

Saturday, December 15, 2007

PIF!

Something different if you will be in chennai next weekend...

Saturday, December 08, 2007

GPL and patents...

I have been reading up a bit on GPL and patents and it makes interesting reading. What happens when someone writes patented code under a GPL license? GPL mandates that the code and any modifications to it should be made freely available with any binary distributions. But if that were to be done, then the code distribution can be a patent violation! To complicate matters, GPL is universal while patents are enforced locally within the regions where that patent has been granted. So this seems like GPL and patent laws are like oil and water. Recognizing this seeming contradiction, GPL3 has some points that relate to this.

If you are someone who is interested in open source and commercializing products based on open source, this must make interesting reading...

Copyright and Linux, GPL patent issues

Tuesday, December 04, 2007

DVR for India

My last few posts have been a unusually technical considering what I have been posting on these blogs before... My passion for DVRs though started first at bschool where TiVO was popular case study in marketing. TiVo is an interesting example of a product that caught on so well with its adopters that they literally refused to part with it, once they started using it, but still a product that struggled to find mass appeal. It was not a product that was adopted by the technically oriented. Even its early customers included those without a technical background. Tivo in fact has always done an excellent job with its user interface, so that the complexities of a DVR are presented in a simple and easy to understand manner. Even the remote control and the interaction model were way ahead of their time and pretty much set the benchmark for such TV based applications. Despite all these positives and almost a cult following, a la the following that say Harley Davidson bikes enjoy, TiVO always found it tough to make it big in the market. It was a classical case where word of mouth somehow did not seem to work. Their advertisement campaign's came up short when it came to making the average TV viewer understand the concept. Though the concept was not very different from that of a VCR, somehow TiVO never took off.

I still believe a DVR like TiVO has excellent potential in a country like India, especially if a service provider were to introduce the service. I say that because, if a company were to introduce standalone DVRs like TiVO, they will face challenges like, how does the device fetch program guide data. TiVO acheived this by asking customers to hook up their broadband or phone line to the device. That may be very clumsy or unacceptable in most indian urban homes. A service provider will have the advantage of owning the network that will deliver guide data to a DVR. I can hear some people say, a DVR is still good without guide data but having sampled many DVRs personally, I can tell you that the addictive experience of a DVR completely depends on the quality of program guide data. The lack of good programming guide data available in the electronic form is a dampner in India. I had a tough time getting my MythTV DVR to scrape website to source guide data. A service provider again will have the advantage, especially if its a Tata Sky or Dish given they already seem to have guide data.

I only wish one of these service providers offered me the option to rent or buy a DVR that will work with their service. That alone will be compelling reason for me and my family to switch. Imagine this... TV Serials, especially the "K" ones in the hindi belt and the Sun Network channels in the south are so popular. If every housewife had an easy option to search or see program listing on their TV and could schedule recordings of these programs, would they not pay for it. I think they would.

That made me wonder why no one has ever thought of introducing these in India. I remember Dish did offer a DVR for a few months sometime back but it was priced so high that no one looked at it. I also imagine that Tata Sky and Dish wont want to introduce a DVR. Given they are indirectly owned by the content providers like Star and Zee, they sure don't want their customers to be recording and skipping ADs.

Windows Media Center or MythTV are the only options left for the average Tv viewer in India. Neither satisfies the need, given PC penetration is low and more importantly, no one wants to put their computer next to their TV or leave it on forever.

Monday, December 03, 2007

MythTV - video and mythweb

Here is the video of my Myth DVR :)




And here is a screenshot of the mythWeb interface for program guide. I must say that the web interface is so easy to schedule recordings that I end up using is a lot.

Sunday, December 02, 2007

MythTV... I am impressed

So, I managed to finally get myth TV up and running... Took a while to get the hang of the configuration options but eventually figured that its not that tough a task at all. and I must say. I am impressed... This is exactly everything I wanted in my first DVR experience... and mythweb simply blows it all away.

Installation was of course a breeze with ubuntu. Simply installed the mythTV packages through the synaptic package manager. The fact that I had got tvtime working had already validated that my tv tuner card was working fine, taking out any possible issues related to that. I followed the configuration instructions on the ubuntu help website for fiesty fawn: https://help.ubuntu.com/community/MythTV.

That should pretty much take you through the basic mythtv backend settings with of course a few deviations for India. This is for my analog cable connection. I am yet to venture into how to get my set top box to work with mythTV, which is my next task.

In the mythtv backend setup, you have 5 options: General, Capture cards, Video Sources, Input Connections, Channel Editor.



Most of the time, you should be ok just picking the default configuration, except for a few deviations for India, which I will detail.

Under General, pick whatever is already selected as default. In the second screen, you need to pick where you will store your recordings. The default value is /var/lib/mythtv/recordings. You may want to modify this to say a USB hard drive you may have to store your recordings. In the third screen, when you hit the global backend setup, you will need to pick a channel frequency table. There is of course no channel frequency table for India. So, to proceed, I picked europe-west. We will anyway override this later on. Pick "PAL" as the TV format. Pick the default option for the rest of the settings in this category.



Under capture cards, when you hit "add new capture card", you should see your tv tuner capture card listed, especially if you got tvtime up and running, this should not be a problem at all.



Next comes the video source. Video source is where your program guide data comes from. There is no India specific video source preconfigured in mythTV since there are no known credible providers of EPG data for India (to the best of my knowledge). So for now, name the video source as "India" and pick "No grabber" under the XMLTV listings grabber options. We will use an alternate method to get guide data which I will explain later on. Pick the frequency table as "europe-west" though this should not have any anyway.



The next setting will be a bit confusing but you will get it as you read on. Under input connections, hook up your television input to the India video source we just created. You will see an option to do a "channel scan" and also you will have an option to specify the "Starting channel". The problem here is, since we do not have a known frequency table for India, a channel scan will be useless. If you use it, you will end up scanning for frequencies in the "europe-west" frequency table. There need be no match between these and the frequencies used by your cable operator in India. So for now, do a channel scan and specify one of the resultant channels as the starting channel, but all this will change in the next step.



Channel editor will be your most important step, one that took me the longest time to figure out. The channel editor allows you to pretty much set up your custom frequency table for India. To be able to do that, you will need to know the frequencies at which your analog cable connection is receiving your various channels. This is where tvtime comes in handy. If you get tvtime-scanner to run on your terminal, it will generate a file in the .tvtime directory inside your home directory called stationlist.xml. The stationlist.xml file will have all the frequencies of all the channels. This frequency is also displayed by tvtime when you flip channels after running the scanner. See screenshots in my previous blog entry. For example: KTV is on 210.5 MHz, Kalaignar TV is on 175.5 Mhz and DD National is being broadcast on 2 frequencies, 182.75 Mhz and 242.5 Mhz.

After noting down the channel names and their frequencies, you would need to add each channel manually through the channel editor. First delete all channels that may have been created by any channel scan you ran before. Then hit "new channel" on the channel editor and start adding channels. For my test run, I picked some Sun Network channels. Example screenshots of the parameters needed to add a channel will look like the following:



Some points to note here. The channel number can be any number that you want to assign. The XMLTV ID is an important parameter as it will help us when we get guide data. For now, follow a simple convention to fill up this field, by just adding a .in to the channel name. For example Sun TV's xmltv id will be suntv.in. In the second screen, note that the frequency is to be entered in KHz and not MHz. So 203.5 Mhz will be entered as 203500.

Enter all your channels and your backend configuration is done and dusted. Exit the backend configuration and you will be asked if you want to run mythfilldatabase. Say yes, so that all the data you entered and the config parameters are stored in the backend mysql database.

Now, you are ready to start the mythtv frontend and begin flipping channels. But we want guide data so that we can exploit mythTV's DVR capabilities to the full dont we? So read on...

The only way that I know of being able to get guide data is by screen scraping websites of channels for this information. Given that mythTV can read the XMLTV format for guide info, we need to generate a xmltv file with guide info for India. Given there is no known grabber (an my knowledge of perl is zero), the best option is to use TVXB. There is a wonderful write up on how to use TVXB for automatic nightly updates of guide data, generation of xmltv files and filling up the mythtv database with updated program guide data every night at http://www.mythtv.org/wiki/index.php/TVxb. So without repeating what's in there, I suggest you follow this HowTO and you should be done.

The most important file you will need is the tvxb config file for India. While there are a few at the tvxb website, some of the entries for the channels dont work any more. Since the Sun Network channels worked great, I took them alone and deleted the rest of the channels for my trial run. One very important point to note is that, there is a xmltv ID for each channel in the ini file and this should match the xmltv id that you entered in the channel editor previously. For example, for sun TV, if you entered suntv.in as the xmltv id in the channel editor for sun tv, the ini file entry for suntv would look like this:

[suntv.in]
name=Sun TV
name=78
url=http://www.sunnetwork.org/tvschedules/schedule.asp?passdate=[day=m/dd/yyyy]&tv=sun
start=1
title=2

The channel number here is 78 but of course, you enter the same number you entered for suntv in the channel editor. So voila, you are done. Once you complete all the steps in the howto for TVXB, you should have everything in place for mythTV to see your program guide data. Here is how my mythTV looks :). I will upload a video soon.