Demand TV… we could have it today

What would it take to offer a demand video service based on local cable TV? Let’s consider how to build a bank of computers that would record and save the last week of video on each of sixty cable TV channels, then deliver any part of the recorded video on a demand basis.

First, we need video capture cards. For this example, I’ll use the Hauppauge WinTV-PVR-pci, with a retail price of $249. This card has a built-in cable tuner along with an MPEG-2 hardware encoder. After tuning to an appropriate channel, the computer has to do little more than copy bytes from the card to the hard drive. We’ll need sixty of these cards, one for each channel, a total cost of $15,000.

Next, we need hard drives to store the video. How much? DVD specifies a maximum video rate of 9.8 Mbps, but no commonly available networking technology can deliver 9.8 Mbps to an end user. Let’s use 1.5 Mbps, something we can reasonably expect to deliver over DSL. Is 1.5 Mbps reasonable? Well, I’ve personally worked with video delivered over 6 ganged ISDN B channels (384 kbps) with reasonable results, so I expect 1.5 Mbps to be satisfactory.

7 days * 24 hr/day * 60 min/hr * 60 sec/min * 1.5 Mbps / 8 bits/byte = 113.4 GB. A quick Google search reveals 750 MB Seagate drives available for around $500. Each of these drives could hold 6 channels of video (680 GB). For sixty channels, we’ll need ten of these drives, another $5,000.

How about the computers themselves? Let’s allocate one 750 GB drive and six video capture cards to each machine. We’ll need ten machines total.

What machine to choose? Well, this will be an I/O driven design, so we’re more concerned about bus speed than anything else. There’ll be six streams of 1.5 Mbps video coming off each card, for a total of 9 Mbps. Now, we need to ask, can we do a direct transfer from the card to the disk? If we can’t, that will double our bus speed requirements, since the video would have to cross the bus twice – once from the card to memory, and again from memory to the disk. Since bus mastering is one of the PCI bus’s great claims, let’s assume that we can do direct card-to-disk transfers. This will require the disk controller to be able to address the card’s memory where the recorded video is. It isn’t a huge technological leap, but we do need to be careful of this requirement – it may mean that we can’t use the WinTV-PVR-pci, but will need a different card.

So we need a machine with seven PCI slots (six for the video capture cards and one for a fast Ethernet controller) and a bus (and a disk) fast enough to handle 9 Mbps – and that’s for recording. We’ll need additional disk and bus speed for playback.

According to what I read at, it seems that 32-bit 33 MHz PCI buses are commonly available (although the PCI 2.1 standard allows for 64-bit 66 MHz buses). This multiplies out to 1056 Mbps, which should be more than enough.

What about the hard drives? Well, a standard parallel ATA attached hard drive is spec’ed at 133 MBps, or 1064 Mbps. Newer drives using the serial ATA interface can achieve transfer speeds up to 3 Gbps.

Doesn’t sound like we need very fancy computers. Let’s allocate $1,000 (no monitors) for each machine, for a total of $10,000.

I’ll write off the software as a one-time cost. If we using free software, we’ll be able to develop the software once (and a lot of it is already developed), and then download it for nothing.

We’ve got $15,000 for video capture cards, $5,000 for hard drives, $10,000 each for the computers.

So, for about $30,000, we should be able to build a bank of computers with video capture cards that continuously record 60 cable TV channels and save a week of history on each one.

Let’s assume we’re using gigabit Ethernet cards. Both the standard PCI bus and the standard ATA disk interface operate at roughly this speed, so with careful attention to details like bus mastering, we can treat 1 Gbps as a reasonable limit on how fast we can move data off a single computer. Faster bus (PCI-64) and disk (serial ATA) options exist if these become bottlenecks. We connect all of these devices together using a gigabit Ethernet switch, which I’ve seen advertised for less than $100.

At 1.5 Mbps per connection, I conclude that we should be able to support 666 simultaneous connections over our gigabit-capable design. Let’s round down to 500, and avoid the phone company (and airline) trick of over selling capacity in the expectation that it usually won’t be used. We really can support 500 simultaneous video downloads, even if they are all retrieving data off the same disk.

So our total price of $30,000, spread out across 500 users, comes to $60 each. Each of these users also has to have a DSL line on the customer side to receive the signal.

Now comes the hard part – what does it take to deliver this content over a network? Obviously we need 1.5 Mbps for every active downlink. It seems unlikely that the phone company will supply 500 DSL lines to a single location (but you never know).

I called Verizon’s wholesale division to ask what kind of connection options there would be if I wanted this speed of Internet link. The conversation lasted about 30 seconds and went like this:

    “I’m not actually buying anything, but I’m writing a paper and I want to know what kind of options I’d have for, say, a 100 Mbps Internet link.”

    “Sir, this is just a call center. We’re just here to put you in touch with our wholesale representatives.”

    “OK, well who would I talk to about a high speed Internet link?”

    “But you just said that you’re just writing a paper; that you’re not buying anything.”

    “That’s right.”

    “Then I can’t help you.”

OK, so getting a 100 Mbps-plus Internet connection may be unrealistic at the present time. But let’s say we drop our goal to 50 users. We might be able to get 50 DSL installed at a single location. Then the price per user becomes $600, plus two DSL lines (one at the customer site, and one at the server). Expensive, but in London or New York or Silicon Valley there are probably enough people with money to burn to make such a thing viable.

The biggest stumbling block, of course, is the legal issue. It is probably illegal to construct such a system, and we can expect the cable companies to fight to the fifteenth round to keep it that way, unless, of course, they could provide such a service themselves. Back in 1999, several Canadian startup companies tried to offer live streaming video service by copying broadcast TV. One company, went ahead with their project only to be stopped by a court order shortly before going out of business. Another company, JumpTV, sought permission from the broadcasters, was denied permission and then asked the Canadian government to rule on whether permission was needed. In a 2003 ruling, Canadian regulators agreed with the broadcasters.

Overall, the network capacity probably isn’t there (yet) to make this a viable option for service providers, but for the price of a new computer anyone could have such a system… except for the law.

One Response to “Demand TV… we could have it today”

  1. cosine says:

    An easy testbed for this idea would be a hotel. No need to deliver 100 Mbps to the Internet; you can do it with a private network. Add an extra $25,000 to put a $500 computer in each of 500 rooms (to decode the video stream). So you could probably equip a hotel with demand video for about $60,000.

Leave a Reply