FXTV (BSD X TV)

Ver. 1.03 (Updated 2/12/01)

What is it?

FXTV is a BSD application that provides TV-in-a-window and image/audio/video capture capabilities for Brooktree-based tuner/capture cards. Click here for some snapshots, and be sure to check out the MPEG audio and video samples.

To use Fxtv, you need FreeBSD, NetBSD, OpenBSD, or BSDI as well as a capture card based on the Brooktree 848, 849, 878, or 879 chips. Examples include the Hauppauge Win/TV, the STV TV PCI, and the Intel Smart Video Recorder III.

  

What features are implemented?

  

Where do I get it?

Get the FreeBSD Port here: For the NetBSD port, follow this link: Installing Fxtv with the port will simplify your life ("make install" and you're done, or "make HAVE_XFREE86=NO install" for non-XFree86 folks).

But in case you prefer otherwise, here's a link to the source package it will fetch and build for you (fxtv-1.03.tgz).

You'll also need the BSD Brooktree (bktr) driver. Normally, newer driver revisions can be found at http://www.telepresence.strath.ac.uk/bt848/ or ftp://telepresence.dmem.strath.ac.uk/pub/bt848.

  

How do I build & run it?

See README for details on building, installing, and using it. The README also contains information on how to obtain utility programs that are used by and useful in combination with Fxtv.

See the BSD Brooktree driver page (http://www.telepresence.strath.ac.uk/bt848/) for further details.

  

What's it look like?

Click here to find out.
  

Cool Stuff (MPEG Samples)

<<< All clips have high-quality stereo audio, so enable this in MpegTV or your favorite MPEG player. >>>

  1. New: The first clip is a 320x240 MPEG system stream of the "Special Ops Force" intro. It was captured in IYUV on Fxtv 1.00 with CD-quality audio (44KHz 16-bit stereo). Capture rate 24fps, encode rate 24fps, two capture files on separate disks were used, and for max quality I chose to use all I-frames in the MPEG.

    For size comparison, note that for the same input data an IBPB frame pattern given to mpeg_encode squeezes the video down to a 6.4M file, and an IBPBIBPBPB pattern drops it down to 6.1M.

    Capturing this data at 15fps and encoding at 24fps (mpeg_encode's min frame speed) with IBPBIBPBPB yields a 5.9M file. So basically capturing slower doesn't buy you much for MPEGs, and you should only drop down below 24fps to avoid capture pauses from disk bandwidth saturation. In my case, 30fps capture looks real nice, but has pauses. Adding raw partition, AIO, or vinum write support in the future may help.

    Keep in mind that in all the above, the CD-quality audio was 2.9Meg of the MPEG system stream's size.

  2. Here's a 320x240 MPEG system stream captured in IYUV on Fxtv 0.72 with CD-quality audio. The source raw capture data was just over 360 Meg:

  3. Here's an older 240x180 system stream of a show teaser captured in RGB:

See the README for details on playing these clips. Play the video and system streams with an MPEG System stream-capable player like MPEG-TV.

NOTE: All of these clips were captured on standard (non-AV) EIDE drives on a Pentium motherboard. So you don't have to have a power system to capture movies -- just some average disk bandwidth.

  

Test Utilities

Utility Purpose URL
dgafbtest Test TV-relevent portion of DGA extension http://www.freebsd.org/~rhh/fxtv/dgafbtest.c
tv-dgatest Bounce TV around the desktop using DGA http://www.freebsd.org/~rhh/fxtv/tv-dgatest.c



Randall Hopper
aa8vb@nc.rr.com