MHP & OCAP Application Development - Getting Started

Important note: References to any products in this tutorial should not be taken as recommendations for or against those products. There are a lot of suitable products in this area, and you should choose the ones that suit you best.

Many of you will be reading this site because you are developing MHP or OCAP applications. A number of you may be wondering how you start developing these applications, and this tutorial will hopefully give you some indications of where to start. We will look at the entire process of developing an application and running it, and actually compiling your app is a fairly small part of this process. Since it's also the part that is covered fairly well elsewhere, we will spent more time looking at the other parts of developing applications such as generating a transport stream that contains an application and playing that transport stream out to an STB.

The entire process may seem daunting if you don't know much about developing digital TV applications, but as long as you follow the right steps it's not too hard. The most important things to remember are:

  1. Read the documentation carefully. Some items may not be completely obvious at first. Check that what you want to do is possible. This includes the documentation for any equipment that you have, as well as the MHP/OCAP specifications and API documentation.
  2. If something isn't working, double-check your settings. This is especially true if you're working with a transport stream: there are a lot of parameters that may screw up your transport stream if they are not set correctly, and many different pieces of equipment or software to check. Luckily, checking things is usually a question of being methodical rather than anything else.
  3. Try the simple case before moving on to the complex scenarios, because the simple case is usually far easier to test. Adding complexity one piece at a time will probably save you a lot of pain in the long run. This may mean starting to develop applications on an emulator rather than a real STB - it may not behave exactly the same, but it will let you get used to MHP application development.
  4. Don't make assumptions. Unless you've already proved that something is working correctly (either a piece of your application or a piece of equipment) don't assume that the problem is elsewhere. Similarly, if you have proved that something is working correctly, then assume that piece of equipment is not the problem.
  5. Don't make assumptions. I mean it. Really. I have spent several hours checking the firmware in an STB, modulation parameters, cabling, and everything else when I couldn't get a lock on a test signal from a satellite that I was working with. Eventually, someone thought to check with the network operator in question that they were actually still transmitting the signal. They weren't - the bandwidth was needed elsewhere, so the test signal had been disabled for a few hours. This is not what you want to hear after several hours of swearing and tearing your hair out.
  6. You don't need to be an expert in digital TV to build MHP applications, but it will be easier if you understand the basics. Luckily for you, this tutorial will help teach you how to do that.

In the rest of this tutorial, and in the other 'getting started' tutorials, we will hopefully help to get you over the initial learning curve and on to some productive application development.