HDTV to DVD: Capture HD on your PC (and HD-5500)


Back in this thread, I mentioned the HD-3000 from pcHDTV. That was over six months ago, I've never really gotten around to explaining much more about it. Today, I'll explain basic hardware and software a bit more.

As I was writing this, I observed that pcHDTV must have recently (within the past week or so) announced a new card, the HD-5500. I still recommend their product. It looks as though the new card will be compatible with the guidelines I'll explain below.

pcHDTV ships their own in-house Linux drivers and modified version of Xine. However, based on Forum messages at pcHDTV's website, it looks like the tendency is to use V4L/DVB apps (drivers are built into the kernel as of 2.6.12).

There's plenty of information about the specifics available via the web. Penlug.org has a good reference on the specific subject. Here are some important notes.

  1. Use a recent kernel.  Most recent distributions should be fine.  Not all may have the DVB drivers enabled however, and each may have their own issues.  Fedora Core is a solid choice.
  2. Download the dvb-apps from linuxtv.org
  3. Download the firmware from pchdtv.com
  4. Figure out if you're going to be using an antenna or cable (see number 8).
  5. Install your hardware.  (You'll have to power-down for this obviously).
  6. Modprobe your drivers: (In my experience, only inserting cx88-dvb is needed):

    modprobe -rv cx88_blackbird
    modprobe -rv cx88-dvb
    modprobe -rv cx8800
    modprobe -v cx88-dvb
     
  7. Create a configuration file.  Peter Knaggs at Penlug.org explains this in good detail.  Essentially, this lets you name a frequency for tuning. 
  8. Issue the tuning command

    azap -r channel-name

    Note that you leave this process running.  The '-r' option pipes output to the 'dvr' sub-device so you can easily capture content.  While the Penlug.org website explains over-the-air transmissions, reception via cable is possible.
  9. You can then pipe the output of /dev/dvb/adapter0/dvr0 to mplayer or gmplayer
  10. Alternatively, you can

    cat /dev/dvb/adapter0/dvr0 > capture.ts

    to save the transport stream to a file.  You can then demux, transcode, etc, to almost any format you want.  (DVD, MP3, Xvid, etc).

 

That's the overview. Each step has its own detail. Once you're comfortable with the dvb-apps way of doing things, I also recommend taking a look at Inkling's pcHDTVR. I use it heavily. You can also build MythTV around this card, but to me - it's really not a must. But that's probably just because of the way I use it.

I'd recommend you get familiar with the dvb-apps, download and compile and play with them. Check out AntennaWeb.org, you'll find a good listing of over the air channels in your area.

QAM (Cable) is a bit more tricky. You'll only get the unprotected channels, like the local channels. A good cable azap.conf file used to be available at http://www.digitalregime. com/patches/channels.conf-qam-correct, but I couldn't get into that site. You can download my modified version of it here. Look at the bottom of the file, you'll see how I have my local Phoenix cable configured. Note the extra field at the end of the ones I have configured; you'll need to get this value from dvbscan. You'll have to browse this forum at AVSForum.com to find out where your local cable company is placing the locals in the tuning spectrum. While your cable company may label your local channel 12 as "712" - it's actually located somewhere else.

The trick is to be patient and use your dvb-apps. It's quite simple, use 'azap' to tune a channel out of your configuration file and then use some of the other tools too see what is all going on inside this channel. Often, either over the air or cable, you'll see other streams or channels that you didn't even know were available. Be patient, it's actually a fun process to learn - you'll learn a lot of technical information about broadcasting or cablecasting HDTV.