O'Reilly    
 Published on O'Reilly (http://oreilly.com/)
 See this if you're having trouble printing code examples


Open source is alive and well in the realm of digital video recording and HDTV--that is, unless the broadcast flag becomes a reality. This compelling interview with Jack Kelliher provides insight about the broadcast flag and illustrates the value of preserving open source coding in digital media.

Computers are no longer just computers. CPUs are now so powerful that computers can be customized to do almost anything. Even though a TiVo is a highly specialized Linux-based computer, very few users think of it that way. Open source software is a big part of the trend because it provides a solid foundation to build on. Nobody invents a custom operating system for a new device; they build on top of Linux or BSD.

Open source projects are free to build on the same base as well. MythTV, a DVR application for Linux, is the best-known open source alternative to TiVo. For users willing to put up with system administration, an open source DVR is attractive. Rather than depend on a single product to meet all your needs, you can customize a DVR to meet your own needs. Multiple tuners, more disk space, and network connectivity can all be designed in, or added after the fact. Tuners can also be upgraded from standard-definition TV to high-definition. The best-known high-definition capture card for Linux is made by Utah-based pcHDTV.

As in many other technical areas, the commercial products such as TiVo are challenged by an open source alternative. For those who run MythTV, the only practical capture card for high-definition video streams is made by pcHDTV. On a recent trip to Utah I was fortunate enough to sit down with Jack Kelliher, the founder and CEO of pcHDTV, to have a conversation about pcHDTV, its products, and the future of digital TV. The tone for our conversation was set as I walked up to meet him, and saw that each car in the driveway sported an Electronic Frontier Foundation "Coding Is Not a Crime" bumper sticker.

FIGURE 1: Coding is not a crime bumper sticker photo Figure 1. EFF's ubiquitous bumper sticker

Matthew Gast: Many observers would probably question your business plan, which seems to be based on adoption of open source software. What made you decide to start pcHDTV?

Jack Kelliher: Just before starting pcHDTV, I was working at Evans & Sutherland. [Note: E&S is one of the oldest computer graphics companies in existence, founded in 1968 by two University of Utah computer science professors.] At the time, E&S had three divisions: commercial aircraft, military aircraft, and a chip/component division that supplied the other two. I was in the component division working on a high-performance computer graphics board when the commercial airline industry cratered. Rather than wait for things to come back, I decided to start my own company so that I could be my own boss.

At E&S, I was turned on to Linux. I'd used it many years ago in the 1.0 time frame. Back then, it was interesting, but not really usable by most people. I set it aside and forgot about it until E&S a few years ago, where one of my colleagues was a serious Linux user. I looked around and saw that all the "missing" components were now available. With the new windowing environments and StarOffice, I could get rid of Windows completely.

Part of the reason that I picked up Linux again is that around the same time, I had purchased an early video capture card from Telemann. It cost $400, and it only ran on Linux. It was a great card, but it was really expensive. I realized that I could build a card that only had the "front end" capture, and I could use the new accelerated video cards from nVidia for the back end display. I put together a business plan, and I realized it wouldn't take a whole lot of up-front capital.

So, I decided to design the card. It wasn't that difficult. I selected a couple of chips that were already well-supported by Linux, and did the basic prototype design. It took some doing to get everything working correctly, but I remember the first day that I got it running. There really was a business here! All I had to do was find it.

Matthew Gast: When did the card take off?

Jack Kelliher: It was in the middle of selling our first product, the HD-2000. We got slashdotted three times: once when we announced the card went on sale, another time three days later when we sold out, and then again when we announced the HD-3000. It was a total surprise to us that we could sell out our inventory in three days.

Matthew Gast: Why did you choose to target Linux? Most companies look to target Windows or Mac OS because of the potential size of the market. I can't think of too many cards that have Linux support but not Windows or Mac OS.

Jack Kelliher: Early on, we decided we weren't big enough to do Windows. I've written tons of drivers for Windows 2000, but I'm tired of it. I would have to learn a whole new API for Windows XP, and I don't want to learn Windows XP now. The only reason I need to use Windows right now is for the UPS shipping application!

Our market isn't really the mass market. We were always targeting early adopters: videophiles, hobbyists, and students. Those groups already use Linux, and those are our customers.

Matthew Gast: The sort of people who buy Linksys APs to hack on the firmware?

Jack Kelliher: Exactly.

The funny thing is that we completely underestimated the size of the market. When we were starting up the company, we went to the local Linux LUG and found out how many people were interested in video capture. Only about 2 percent were interested in video on Linux, so we thought we could sell 2,000 cards. [Laughs.] We've moved way beyond that!

Matthew Gast: Your board is only one component of a full DVR. As a system component, you depend on the health of the entire ecosystem. How much do you contribute to the other open source projects?

Jack Kelliher: One of our shareholders does a lot of work with MythTV. I did the original xvmc extension to xine, which has been moved all over.

Matthew Gast: What are the differences between the older HD-2000 card and the HD-3000 card?

Jack Kelliher: The HD-2000 was always a time-limited card. It uses older chips that we could get quickly and prototype quickly. The funny thing is that the general economic slowdown has been good to us. Prior to the crash, component manufacturers didn't talk to small companies like us. If you weren't ready to buy 10,000 units, they didn't want to hear from you. After the slowdown, they started talking to us. Well, all but one started talking to us!

For the HD-2000, we picked chips that already had open source support so that we could get it finished quickly. We worked with Oren [Semiconductor] and Conexant. There was a ton of open source support for the Conexant chip. With both Oren and Conexant, we could get the quantity we needed and get the board out the door quickly. The chips were not the most recent, so we had to move quickly. The manufacturers told us that they had end-of-lifed the chips, so we knew the board was time limited.

As it turns out, we had bigger problems than chipset availability. We use tuners made by Philips. They had a fire at the factory in Asia that makes the tuners, and they decided to end-of-life the tuner we used in the 2000. We'd sold out the cards in just a few days, and we couldn't get more parts!

The HD-3000 is a very similar board. We had to adopt newer chips, but that wasn't really a problem. The new chips perform better, especially the chips from Oren. As it turns out, ATSC [the digital TV broadcasting standard in the United States] is a lousy standard! It has huge problems with multipath. You will never be able to watch ATSC broadcasts in your car, because the multipath is too big a problem. The European standard [DVB] is much better. The main improvement in the new Oren chipset is that it handles multipath problems much better than the old one. The HD-3000 also has more inputs.

Matthew Gast: How hard would it be do to do QAM [Quadrature Amplitude Modulation, a standard widely used for digital cable]?

Jack Kelliher: The hardware is capable of QAM. In fact, we just put out a DVB driver with QAM support. I tried it out, and I can get a couple of stations on our local system. While we could do better QAM support, it's really not worth it for two reasons.

One is that QAM is actually a couple of different standards. Older cable equipment uses the older QAM standard, which we can't demodulate. In most large metro areas, that shouldn't be a problem, since most of the big cable operators have upgraded their equipment to the newer standard.

The bigger problem for us is that digital cable is often encrypted, so you run in to the same problems as with the broadcast flag. We considered licensing CableCard support, but it doesn't really fit our open source mind-set. It might work for another OEM, but we want to sell the capture board, not a complete system.

Matthew Gast: Other than a pcHDTV card, what kind of hardware do you recommend for building a MythTV system for HDTV?

Jack Kelliher: It varies a lot. Many people are happy with a 2.0- to 2.4GHz system with an accelerated card by nVidia, so that's a good baseline. I had a system with an FX5200 card from nVidia for a long time, and I had a great frame rate. For some people, though, they need to go with a higher-speed CPU, sometimes up to 3GHz, to get pristine deinterlacing without using the video card.

Matthew Gast: What sort of DVR do you have?

Jack Kelliher: I have an AMD64 running at 3GHz, but I'm not totally happy with it. The graphics layer used to do 32-bit emulation, which was very slow. When the nVidia video system went to a 64-bit layer and emulation was no longer needed, there was a huge boost in performance. Graphics performance is a lot better now--maybe five times as fast! I'm not sure if ATI is 64-bit now, or if they're still doing the slower emulation. I just bought a Via board, but I haven't tried it out yet. According to the specs, it should be capable of doing HD, and I'm interested in seeing whether it really is capable.

Matthew Gast: If I could shift gears a little bit, I'd like to talk about the legal aspects of what you're doing. pcHDTV has an interesting blend of technological prowess and social activism. It's not often that you purchase a product that comes with an exhortation to get a membership in a civil rights organization like the EFF. What's the source of, for lack of a better term, the conscience or social activism?

Related Reading

TiVo Hacks
100 Industrial-Strength Tips & Tools
By Raffi Krikorian

Jack Kelliher: It probably started because I grew up in Wyoming. Back then, it was a very independent place, based on individual freedom. Live and let live was instilled in me early on. Encroachment of freedoms was a bad thing.

When I was in college, I always felt that programming was artwork. When decisions came out that made it illegal to write code, or patents prevented me from writing code, I felt that my ability as an artist was infringed. Joining the Linux community made me very upset with the status quo. Contributing to Linux was a way to keep my rights. Did you know, open source isn't just software, either? FPGAs [programmable logic chips] are getting so cheap now that you can build custom hardware. It's the next step for open source. Rather than relying only on software, we'll start building our own custom processing designs in hardware, which is much faster. The OpenCores project has started a repository of designs. When I started pcHDTV, I thought of it as a way to strike a blow for the rights we should have as developers, as well as TV viewers. I joined the EFF about the time I started pcHDTV, because it is an organization that is very much in line with my beliefs.

Matthew Gast: Do you have any idea how many memberships you've sold for EFF?

Jack Kelliher: No. It's not tracked. I count the emails I get. I seem to get a lot from California, especially around Hollywood. My favorite was a new member who wrote to me and said, "I'm proudly displaying the [EFF] decals as I drive down Hollywood Boulevard, just to show the studios that we value our rights!"

Matthew Gast: In addition to becoming members of the EFF, what would you advise your customers to do?

Jack Kelliher: Writing letters is particularly helpful. Even if we win on the broadcast flag, it's important to keep writing to Congress. They're enacting a lot of what I call "garbage laws"--so things like "inducement" to infringe copyright is just as bad as infringing copyright! [Note: Senator Orrin Hatch of Utah was the sponsor of the INDUCE Act.] If we make our opinion known to Congress, they won't consider passing garbage laws again.

Matthew Gast: In a stand-alone system like the TiVo, the broadcast flag just exists within it. I understand that at some point, TiVo will probably give me an upgrade that starts enforcing the broadcast flag, but I'm not quite sure what it entails. Could you break down how the broadcast flag is enforced by each component in a DVR? What is the tuner responsible for doing, and what's the application responsible for doing? What's the playback video source responsible for doing?

Jack Kelliher: Well, the broadcast flag rules are conceptually simple. After the digital signal is demodulated, the video stream must be encrypted before it goes across a "user accessible" bus. User accessible is defined in an interesting way. Essentially, it's any bus that a competent user with a soldering iron can get the data from. Video streams can only be decrypted right before the MPEG decode and playback to the monitor.

To support the broadcast flag, the video capture must have an encryptor, and the display card must have a decryptor. Because you can't send the video stream across a "user accessible" bus, the display card needs to be a full MPEG decoder as well, so that unencrypted video never has to leave the card.

Matthew Gast: So the MPEG acceleration in most new video cards really isn't really for my benefit? Is it to help the vendors comply with the broadcast flag?

Jack Kelliher: Not quite yet. Most video cards don't have a full decoder, so they can't really implement the broadcast flag. ATI and nVidia don't have full decoders yet. They depend on some software support from the operating system, so they can't really implement the broadcast flag. Via has a chipset with a full decoder, so it would be relatively easy for them to build the broadcast flag into that chipset.

One of the problems for a small company like mine is that the encryption routines are always tied up in expensive patent licensing. Or maybe there are multiple standards for encryption and decryption. How can I be sure that I pick the right one for my customers? If I pick a encryption method than Sony, my customers can record encrypted video, but they may not be able to take it to a friend's house and play it back.

Matthew Gast: When did you join the EFF's suit against the broadcast flag?

Jack Kelliher: Shortly after the broadcast flag was enacted, the EFF contacted us. Because the broadcast flag was so bad for us, we decided to have a promotion, where we'd donate $5 for every board we sold to the EFF, and we cosponsored MythTV install-fests to make sure that as many users as possible could get grandfathered in!

Matthew Gast: How did the lawsuit against the broadcast flag get started, and what is your role in it?

Jack Kelliher: The biggest problem the EFF had when the broadcast flag was being discussed is that they didn't have "standing" to sue. The broadcast flag was a bad idea, but when it was only an idea, nobody was really being hurt by it yet. Once it was enacted, there was an injury, and they could help with the legal aspects of bringing the case.

Right now I'm doing an affidavit that describes how the broadcast flag injures me and pcHDTV. It hurts me as a programmer and my investment in the company, and it causes all sorts of problems for the code base in the open source community. Everything is lost when the rule takes effect.

The flag removes us from the market for video capture cards. We're too small to contribute to the encryption standards to store video streams, and we can't afford to license the patent rights. We can't compete against giants the size of nVidia and ATI. We're essentially out of the market, and I believe that less competition is bad for the consumer.

Matthew Gast: I think most of us can understand how less competition is generally bad for consumers, and I for one want to see you continue to make cards. But I don't think either of those are the crux of why the broadcast flag is bad.

Jack Kelliher: Exactly! A lot of the innovation in the open source community comes from having access to the video stream. For example, you could build an automatic caption translator. Take the words in one language, and translate them into another. We can't do that because the whole program is encrypted, and we don't have access to the captions. You could also try doing speech-to-text recognition to create captions where none exist. We can't do that either because we won't have access to the audio stream.

My father has macular degeneration, and his eyesight is going. It would be great for him to have an adaptive zoom that would automatically home in on the action in a scene, so he can see it better. Without access to the raw video stream, we have to wait for a company to believe that it makes sense to develop an adaptive zoom for the visually impaired, rather than build it ourselves.

Matthew Gast: There's an interesting parallel here with localization. It's easier to adopt technology that speaks your language. If your native tongue is Swahili, there's an advantage to being able to localize it yourself, as the Kilinux project has, and it will happen much faster than a commercial company can decide it's a good idea, hire the programmers, and get the project done. I'm sensing the same motivation here for you--open source is a way to customize products for very small markets, even as small as one, and the broadcast flag gets in the way.

Jack Kelliher: Yes, but it's not even that. The broadcast flag can even take away rights that we already have. We're prevented from doing very simple things that already exist. We can't take two video streams and create a picture-in-picture setup, because we need to decrypt two video streams and create a single composite stream. We can't do split-screen video for the same reason. There are TVs on the market that do picture-in-picture today, but we can't build that function into a DVR once the broadcast flag takes effect.

Matthew Gast: So, it's that it stops you from tinkering?

Jack Kelliher: Well, it won't stop me! I can continue to tinker as much as I want. It stops innovation, though, because I can't sell what I come up with. I can't even give it away. I can think of tons of cool projects that require access to the video stream that will all be stopped dead.

When I grew up, I started tinkering with electronics and building my own radios from Heathkits. At that time, the Cold War was going very strong and it really permeated the country's thinking. In school, I was taught that the "bad guys" didn't let their citizens have radio because it was too much of a risk. That's what I learned in school: bad governments imprison people for tinkering because they need to have control.

Matthew Gast: What happens to your customers on July 1 if their cards break?

Jack Kelliher: We're planning to keep inventory. The law just prevents us from manufacturing or importing. We can sell inventory. We will hold enough cards to ensure that we can service warranties.

Matthew Gast: What do you think about the future of digital TV? You're well connected to the hobbyist community, and close to a lot of the innovation that's happening outside corporate research labs.

Jack Kelliher: Well, a lot depends on what happens with the broadcast flag. If it stays in effect, we'll see lots of video products that are interesting but may not be ATSC receivers. Things like university-type video distribution. Look, Apple is Apple today because they practically gave their computers to education. We're going to get Linux into the same position. Getting products, or projects, entrenched in the university--that's what makes a base, and building a base defends what I call our "current freedoms" against encroachment by big business and government. Our company is based on niche markets like this. We don't think there will be a lot of companies going into this market.

Matthew Gast: If the broadcast flag stays in effect, is July 1 the end of the line for pcHDTV?

Jack Kelliher: Absolutely not. We'll support the HD-3000 for a year after July 1. We're going to release another card that will complement our existing card by allowing users to have access to high-definition content in the future. We also hope to create a whole new line of products, not just cards.

What we have on our side is that even if you try, you can't keep technology under wraps. Back at the university, I worked on an early form of high-definition TV. It wasn't HDTV as we know it today, but it was a video system that had better quality than the standard television broadcasting technology of the day. It took about 25 years to get to market. About 15 of those were dealing with the legal system, but we eventually made it, and we'll do it again.

Matthew Gast is the director of product management at Aerohive Networks responsible for the software that powers Aerohive's networking devices.


Return to digitalmedia.oreilly.com

Copyright © 2009 O'Reilly Media, Inc.