RECORD HDTV CONTENT WITH FREEVO
Feed broadcast and cable signals into your personal video recorder and feast later with the Freevo home theater application.
Feed broadcast and cable signals into your personal video recorder and feast later with the Freevo home theater application.I like to own whatever I record. I don’t like the idea of my TV recordings being held hostage inside some digi- tal video recorder (DVR) only to end up getting deleted to make room for more captive recordings. That is why I build my own setup instead of using commer- cial DVRs like Tivo. Until recently, how- ever, I could only record over-the-air HDTV and a very few non-encrypted, ca- ble-provided QAM channels. Then, in June 2008, Hauppauge introduced the HD PVR 1212 device . The Hauppauge HD PVR 1212 is able to record HD from the component cables connected to a cable box, thus taking ad- vantage of the so-called “analog hole.” This device makes it possible to record any channel from your cable box, even premium channels in HD. Fortunately, it also loops the component output through the device to the TV, so you can watch TV while it records. The HD PVR doesn’t actually do the recording – your computer does. The HD PVR simply cap- tures the component signal, converts it to AVCHD h.264 video and AAC audio, then sends the information via USB to your computer, where it is recorded. That’s where Freevo comes in. Now Showing Freevo  is an open source HTPC (Home Theater PC) application that’s been around since 2003. As most Linux home-brewed HTPC users know, how- ever, MythTV is the best known and most widely used HTPC application for Linux. Myth is very good at what it does – which is controlling nearly every media and electronic device in the home. Many people swear by it; others, like me, swore at it, after many frustrating at- tempts to configure Myth within an Ubuntu desktop environment. Myth sim- ply works better in a setup in which it is the distro, like Mythbuntu, and doesn’t need to share memory and hard drive space with anything else. That’s what at- tracted me to Freevo. Freevo isn’t an HTPC built from within like MythTV; it’s a home theater plat- form using the existing media applica- tions, like Mplayer, Xine,VLC, and Men- coder, to behave like an HTPC. For this reason, it is much lighter than Myth and runs just fine on a desktop like Ubuntu or any other distro, even while you do other things like surfing the Internet or writing articles for Ubuntu User. Freevo’s newest version is 1.90, with the much anticipated version 2.0 ex- pected within a year. The current version is built to work with Python 2.6, which is a welcome change from the previous versions built with the outdated Python 2.4 (it will also work with Python 2.5). Freevo is offered in both rpm and deb packages; however, I’ve had better luck building Freevo from source code. For some reason, the package forms of Freevo always configure incorrectly or seem to be missing something. Freevo is built on Python code, which makes it easy to compile and install both Freevo and its dependencies, most of which are also written in Python. In a terminal, simply cd to the directory you extracted to, do sudo python setup.py install, and that’s it. No ./configure, make, make in- stall necessary. Freevo’s website has a good documen- tation section that can answer most questions you might have about Freevo dependencies and configuration. It is, however, somewhat dated in its informa- tion regarding configuration for some HD cards, dongles, and devices like the HD PVR, so I highly recommend joining Freevo’s Mailing List. The mailing list provides help you can’t get anywhere else, straight from the fans of Freevo, who can provide assistance from our own shared experience. Freevo can be configured for both in- ternal recording and playback, or you can set up a remote control with a com- Feed broadcast and cable signals into your personal video recorder and feast later with the Freevo home theater application. BY PHILIP RAYMOND Record HDTV content with Freevo TV DINNER Freevo FeatureS 24 ISSUE 04 UbUntU User puter in the same room as the TV, with the TV connected to the computer’s video and audio card. I set up Freevo just for recording, and I’ll explain why by telling you about my setup for HDTV playback. While looking for a present for myself last year, I found the relatively cheap (US$ 120) WD TV HD media player by Western Digital. This device works by connecting a USB external hard drive to the media player and records HD video files (and audio, too) to your HDTV via an HDMI cable. Although I do have to transfer my Freevo recordings to the ex- ternal hard drive (a 1-hour 1080i HD re- cording takes about 2 minutes to trans- fer), the playback is always smooth and looks great, even 1080p AVCHD home video content. You can connect two hard drives to it, and it can navigate the con- tent on both drives on the on-screen menu. It plays just about any video or audio codec you can throw at it, even .flac audio within Matroska .mkv files. So, I bought two of these devices, one for each HDTV. Fast-forward a year later, and out comes the WD TV Live  – the same device, only now with an Ethernet con- nection. Now I can also use this device to play Freevo recordings from the com- puter that is recording them and also have the luxury of time-shifting, that is, watching the recording before it’s done. Personally, I like both methods, depend- ing on whether I want to archive a re- cording to an external hard drive. Freevo Setup My HD recording setup with Freevo in- volves two devices. One is a Hauppauge HVR 950 HDTV  over-the-air USB dongle connected to an indoor antenna. The other is the Hauppauge HD PVR connected via component cables from the cable box and USB cable from the HD PVR to the computer. Both devices feed into two different laptops. Each re- quires a different setup, which I will demonstrate here, to show the two most likely arrangements for those who want to try Freevo for recording HDTV. Note that, because I live in the United States, these examples are from ATSC (digital) settings. Freevo is also fully adaptable to PAL/ DVB settings for other areas; exam- ples and templates available on Freevo’s website. As I said before, Freevo’s website is lacking in some information for HDTV configuration, so my HD configuration files can act as templates for setting up Freevo to record HD from over the air or from cable. My settings for the HD PVR were an adventure in hacking. I did apply some information from the MythTV website for getting and install- ing the drivers for the HD PVR, but ev- erything else was learned through many hours of testing. The drivers for the HD PVR are now included in Linux kernel 2.6.30, the kernel used in the latest edi- tions of Ubuntu, Fedora, and many oth- ers. If you are using an older distro with a previous kernel, you will need to download and install the drivers for the HD PVR from linuxtv.org . Addition- ally, the drivers will need to be re-in- stalled for every kernel upgrade until your distro gets up to 2.6.30. Once you’ve installed Freevo success- fully, you will need to open a terminal and run sudo freevo setup, which will create the freevo.conf file. The next step is to configure Freevo for both your com- puter’s hardware and the type of TV cap- ture device you plan to use. Most cap- ture devices are supported, and many run on the v4l or the v4l2 drivers already built into the current Linux kernels, so you don’t have to worry about drivers. In regard to Freevo, the default “generic” video plugin works with v4l drivers. The user/ custom configuration file is called CONFIG_VERSION = 5.27 TV_RECORD_DIR = '/home/tvphil/Videos' TV_CHANNELS = 'Comcast','Comcast','NA3' VCR_CMD = 'cat /dev/video1> %(filename)s & sleep %(seconds)s ; kill ‑9 $!' TV_DEVICE = '/dev/video1' TV_INPUT = 1 TV_REC_SIZE = (1920, 1080) TV_RECORD_FILE_SUFFIX = '.mpg' DEBUG = 5 DEBUG_CHILDAPP = 1 Listing 1: Recording HD from Cable with the Hauppauge HD PVR Figure 1: Freevo’s splashscreen startup. Figure 2: Freevo’s main menu. FeatureS Freevo 25 ISSUE 04 UbUntU User local_conf.py. Once Freevo is installed, you need to create this file, along with a Freevo folder for it, in the etc or home directory. Channel Surfing If you are using a USB HDTV dongle for recording over-the-air HDTV, you’ll need to download and install DVBStreamer  and use the dvbstreamer-livepause pl- ugin. To capture your local channels for over-the-air digital TV reception, per- form the following steps after installing DVB Streamer. To begin, plug in the USB TV capture dongle with the antenna attached, then in a terminal, type setupdvbstreamer -A channels.conf to create a list of all possi- ble channels. Then, in the terminal, type: dvbctrl lsservices ‑‑ ‑id| grep U ‑v ^ffff.ffff. This process will take several minutes as Freevo scans all of the channels in your area, referencing against the list you cre- ated in the previous step. Next, simply copy and paste the list of captured chan- nels to Freevo’s local_conf.py file, in a format similar to the example below. Listings 1 and 2 are examples of the two types of HDTV configurations for the local_conf.py file. You might be wondering why the HD PVR has an entry of NA3 for a TV chan- nel. Here we are tricking Freevo into be- lieving there is a channel, when in fact, no channel is present or necessary. With the HD PVR, it is simply recording a stream; there is no channel tuning in- volved. If you don’t give it NA3, how- ever, Freevo won’t record, because it thinks you need a channel conf. The VCR_CMD starts and stops the stream according to the times you program. recording You can configure Freevo to start, either when you boot your computer or after, by using a command in a terminal. To start Freevo, in a terminal window, type sudo freevo recordserver start then sudo freevo, because Freevo needs to start up with root privileges. When used with the HD PVR, you need to open a second ter- minal to sudo freevo because of the false channel mentioned previously. If you’re using DVB streamer, you’ll need to start it before starting the recordserver with the command sudo dvbstreamer -d. Once CONFIG_VERSION = 5.26 TV_RECORD_DIR = '/home/tvphil/Videos' TV_CHANNELS = [('CBS2 CH','CBS2‑HD','00cf.03e7.0001'), ('NBC5‑DT','NBC5‑HD','0233.03e9.0005'), ('WLS‑DT','WLS‑DT‑7.1','02bd.03eb.0001'), ('Livwell','Livwell‑7.2','02bd.03eb.0002'), ('WLS‑SD','WLS‑SD‑7.3','02bd.03eb.0003'), ('WGN‑DT','WGN‑DT‑9.1','01f7.03ed.0003'), ('LATV','LATV‑9.2','01f7.03ed.0004'), ('WTTW‑HD','WTTW‑HD‑11.1','029f.03ef.0003'), ('WTTW‑DT','WTTW‑DT‑11.2','029f.03ef.0004'), ('WYCC HD','WYCC HD‑20.1','0203.03f1.0001'), ('WCIU‑HD','WCIU‑HD‑26.1','0227.03f3.0003'), ('MeTV','MeTV‑26.2','0227.03f3.0004'), ('WFLD DT','WFLD DT‑32.1','023f.03f5.0003'), ('WPWR‑DT','WPWR‑DT‑50.1','02b7.0459.0003') ] AUDIO_DEVICE ='hw.0,0' plugin.remove('tv.mplayer') plugin.remove('tv.generic_record') plugin_record = plugin.activate('tv.dvbstreamer.record') plugin.activate('tv.dvbstreamer.live_pause') LIVE_PAUSE_BUFFER_SIZE=(6.25, 30 * 60) LIVE_PAUSE_BUFFER_PATH='/home/tvphil/freevo/live.buf' TV_RECORD_FILE_SUFFIX='.mpg' TV_VIDEO_GROUPS = [ VideoGroup(vdev='0', group_type='dvb', desc='Watching Video Group', record_group=0) ] CHILDAPP_DEBUG = 1 Listing 2: Recording HD Over the Air with the Hauppauge 950 HVR Figure 3: Freevo’s menu list. Figure 4: Manually programming a selection. Freevo FeatureS 26 ISSUE 04 UbUntU User Freevo starts up (Figure 1), you might notice that, although Freevo’s GUI is nice to look at (Figure 2), you can’t navi- gate it with a mouse. Instead, you navi- gate with the keyboard direction arrows, spacebar, escape, and enter keys. Freevo 2.0 will finally deliver mouse navigation, but until then, you'll need the arrows. Next, choose TV Guide from the menu (Figure 3) and select the program you want to record from the guide. Or, if you’re using an over-the-air capture de- vice, navigate to Manual Record on the keyboard and use the spacebar to manu- ally program your selection (Figure 4). Manual Record is also used for the HD PVR. Because you’re recording whatever comes out of the cable box, use the cable box TV Guide (Figure 5) to preview and select programs. Then, save and leave Freevo on to record (Figure 6). You can also program Freevo to record days, weeks, and even months in advance. Even if you shut down your computer, Freevo will retain your programming. Once your program is recorded, you can watch it several different ways. If it is an HD recording, you might want to watch it on a full-size HDTV. To watch your recording on HDTV, use the WD TV Media Player with an external hard drive feeding it. Wireless N or Ethernet cable networks should have enough speed for most network media players. Another method involves a newer computer with an HDMI port. Just connect an HDMI cable between the computer and your HDTV, and your computer becomes a media player for your HDTV. Also, you can hook your HDTV to the computer video card and audio card if the card supports component out or VGA out. Aside from the WD TV’s great perfor- mance, I also like the WD TV media player because it is smaller than other HDTV playback devices (Figure 7). Both the media player and the external hard drive sit on top of a DVD player. The WD TV is also totally silent while operating. If you use this system to record on-de- mand movies and programs from your cable or satellite provider, you really don’t need a Blu Ray player – yet an- other reason to try Freevo. Conclusion The Features page at Freevo's website explains everything Freevo can do – from RSS news and weather feeds to Linux video games to support for multi- ple tuners. Although it might take some time to build your Freevo system, once you do, you’ll be able to keep all of your HDTV recordings, completely free of DRM restrictions. And, with Freevo 2.0 just around the corner, it will only get better. n Figure 5: Freevo’s channel list. Figure 6: A Freevo recording in progress. Figure 7: The media player and hard drive fit almost anywhere.  HD PVr product overview: http:// www. hauppauge. com/ site/ products/ data_hdpvr. html  Freevo homepage: http:// freevo. sourceforge. net/  WD tV: http:// www. wdc. com/ en/  WintV-HVr-950Q hybrid tV stick: http:// www. hauppauge. com/ site/ products/ data_hvr950q. html  HD PVr drivers: http:// linuxtv. org/ hg/ v4l‑dvb  DVbstreamer wiki: http:// www. dvbstreamer. org/ mediawiki/ index. php/ Main_Page INFO FeatureS Freevo 27 ISSUE 04 UbUntU User