The Mac mini as a DVR

In April of last year, the FCC mandated that all cable boxes must come with a FireWire port if requested by the consumer. The ruling came based on an interpretation of Section 304 of the Telecommunications Act of 1996. The ruling is also affected by another FCC mandate, in which all electronic devices capable of recording content must recognize and respect a broadcast bit that determines how the content can be shared across multiple devices.


FireWire ports are now on most cable boxes.

With this capability on modern day cable boxes, you would think that it would be fairly easy to record content, including HD content, on your computer using a simple FireWire cable. Unfortunately, it's not that easy. Despite the fact that support has been around for almost a year now, software to take advantage of the FCC mandated FireWire ports on cable boxes is still in a very infant stage. What is even more interesting is that an interface to FireWire enabled cable boxes is actually provided by Apple through their FireWire SDK. And although PCs have more recently been given a similar type of application, the support was first given to Macs.

The application included in Apple's FireWire SDK is called Virtual D-VHS, which as the name implies, allows your Mac to act as a Virtual D-VHS recorder fully capable of recording both standard and High Definition content over your cable box's FireWire port.

Before we get to the details of implementation, the first thing that must be noted and understood is that the Virtual D-VHS application is not a full-blown DVR nor was it designed to be. As a part of the FireWire SDK, the Virtual D-VHS application is more of a proof of concept or an enabling tool for developers to go out and make something interesting out of it - not to use as a turnkey DVR solution.

In many ways, this article isn't about using the Mac mini as a HTPC, but rather, its viability of being used as one if certain elements fall into place. At this point, your best bet for a polished HTPC with DVR functionality is something running Windows XP Media Center Edition. But for those who are interested in using the Mac mini as a HTPC, here's what can be done today.

The installation and setup of your cable box is extremely simple. We had a Motorola 6200 unit at our disposal, which made things even easier as you'll soon see. All you need is a 6-pin to 6-pin FireWire cable, plug one end into the cable box and the other end into your Mac mini and you're done.

The Motorola 6200 cable box is recognized automatically. The same applies to most cable boxes with FireWire ports.

The next step is to fire up the Virtual D-VHS application and here you have a couple of options. You can use the Virtual D-VHS application provided in Apple's FireWire SDK, but there are some alternatives. The first alternative is Patrick Edson's AV/C Browser Enhanced, a modified version of the AV/C browser that also comes with Apple's FireWire SDK. The AV/C browser is necessary to connect to some cable boxes, but Patrick's modified version eliminates the need to have two applications - it integrates the functionality of Virtual D-VHS (recording and channel tuning) into the AV/C application.

Patrick's AV/C Browser Enhanced will let you change the channels on your cable box over FireWire, so you can do away with your remote. The only requirement is that you have to connect to your cable box first, which involves nothing more than setting your cable box (using your remote) to a channel below 63 (0 or 1 are the easiest) and doing the same in the AV/C application, then telling it to connect.

Then you can use the AV/C Browser to tune to whatever channel you want, hit record and it will start recording. Now, what you're recording is effectively a MPEG-2 transport stream. As such, the file size is quite large - most HD content recorded off of cable is between 15 and 19Mbps, translating into 6-9GB of storage required for each hour of recorded content. Standard definition content is a little more manageable, at 3 - 13Mbps (1 - 6GB/hr).

While there are many limitations of the AV/C Browser, some of them are solved through another program by Patrick Edson called iRecord.

The iRecord program is interesting as it takes the functionality of the AV/C Browser, but puts it in a much simpler interface with one clear purpose - scheduled recording of shows.

To add a show, simply click the + button and fill out the necessary information, including the channel from which you want to record. An unfortunate limitation here is that you can't set the name of the file to which it records, regardless of what you input as the title of the recording in iRecord.

At the time of publication, the latest version of iRecord was 0.2.6 and the program still has a long way to go before it is anything that can be used without frustrating crashes or missing shows. Currently, iRecord only supports changing channels on the Motorola 6200, which works well for us, since that was our test platform, but not so well for others who will then be left with either changing the channel manually on their cable box or with AV/C Browser.


Recording the State of the Union address in 720p proved to be a success using iRecord.

When it does work, however, it works quite well. We had no problems using it (or the AV/C Browser Enhanced) to record both SD and HD channels. To playback the MPEG-2 transport streams, you'll need a program that can obviously read the streams. For that, we used the OS X port of VLC.

The Mac mini as a Video Editor Limitations of iRecord & AV/C Browser
Comments Locked

39 Comments

View All Comments

  • unithom - Wednesday, February 16, 2005 - link

    In case my profile doesn't show my link, my diagram of my setup is at: http://www.unithom.com/avstuff/

    Apparently Apple has access to the hardware based MPEG decoding routines in the GPU but doesn't make those publicly available to folks like ElGato. So their DVD player works smoothly but EyeTV hits the CPU pretty hard. Note: it uses /tmp to store the cache as it processes, so keeping your EyeTV library on an external drive should help; less conflicting read/writes when on two separate disks.

    I borrowed a friend's 1.25 Mac mini to try out with my EyeTV 200 (analog) and EyeTV 500 (digital). The 200 worked fine. The 500 recorded okay, and played back 'fullscreen' (my 37" Sharp Aquos is at something like 1344 x 768 via DVI, dot for dot mode) pretty well .. maybe a dropped frame here or there, but nothing that made me freak out. Even if I wasn't happy with playback I could always use the Virtual DVHS app mentioned in the article; it played back the LOTR clip available on BitTorrent just fine, recorded and played back fine, and I also recorded from the EyeTV 500, edited out commercials, and played back the stream via VDVHS. All worked fine.

    I too was bummed that Apple didn't think to include a digital out like they did on their AirTunes-enabled Airport Express. But for now, I'm ordering the M-Audio Sonica Theatre with coax 7.1 output.

    re: storage space, my solution is fairly simple. Two 400 GB firewire drives. (One backs the other one up periodically, straight mirroring - but only once a day or whatever). I'm paranoid about losing data ever since I dropped a 250 GB external and DriveSavers pronounced it DOA...

    Re: remote controls. Watching live TV, even HD TV using EyeTV is a real pleasure. It has an IR remote. It lets you do 7 second instant replay and 30 second commercial skip just like TiVo, timeshifting your TV. People like myself are petitioning ElGato to include access to IR codes received via the SDK, e.g. the ability to map specific signals to run applescripts, shell scripts, and so forth. One guy on AVSForum wants to use an IR remote to output serial commands to his tuner and TV. There is already the IRTrans and iRed software available to do this as well.

    More eyeTV goodness: You can watch and record at the same time. There is an easy to use editor for removing commercials and then you can 'compact' your show (typically 1 hr -> 42 mins) to save space and junk the commercials. EyeTV 500 doesn't respect broadcast flag as long as you buy before June whatever-it-is. (And good thing, too. Screw them.)

    Originally I used the EyeHome, which is a sort of thin client; it browses pages served by a (sadly, closed) Tomcat server running on the Mac. It serves eyeTV recordings, ripped movies, iPhoto Library slide shows, iTunes songs/playlists, and lets you browse webpages on screen. But network latency makes it fall off. No on-screen 'time elapsed/remaining'. Can't get back to where you were easily if a program dies (happens WAY too often especially when trying to ffwd/rew, then hit play again... zoop, dies.) The interface is fairly hard to navigate.

    So I'm eschewing the eyeHome for a Mac mini. With a bluetooth module, and a wireless keyboard/mouse bundle, that's a far better remote IMO for doing other stuff besides EyeTV playback.
    (I already have wireless mouse/kbd and BT for an iMac G5 and though there is a slight wake-up delay and slight mouse-moving delay -- can't be helped, it's still really nice for a more clutter-free experience. For the living room, it'll be essential.)

    I found myself missing iTunes for playing music, iPhoto for doing slide shows, Safari for web browsing -- you get the point. So, having an actual computer in place of eyeHome will be nice.

    People keep saying that some kind of breakout box for the Mac mini needs to happen. IMO it's already here, it's the EyeTV. That plus external drives, and i.Link support -- just make sure all your devices have two ports (eyeTV does; other world computing sells the Mercury external enclosures with 2) or that you have a firewire hub, etc.

    Happy HTPCing!
  • mlittl3 - Wednesday, February 16, 2005 - link

    Thanks #20. That would work perfectly and not take up too much space or add more noise.

    I was thinking about harddrive space with regards to size and noise. I guess you could buy a 100 GB 2.5" drive from a third party and install it. That would be pretty cool.
  • T8000 - Wednesday, February 16, 2005 - link

    When viewing interlaced content on a PC, I usually do not use de-interlacing, as the slight resolution improvement is not worth the artefacts.

    Can the Mac also play DVD's without de-interlacing? And does that solve all artefacts?

    Also, with mpeg4, you are not unlikely to fit over 100 movies in VHS quality on a 80 GB PC/MAC.
  • sprockkets - Wednesday, February 16, 2005 - link

    Interesting. I didn't know HD recording was possible. You can get an HD tuner card for a computer, but is limited to over the air broadcasts, so big deal.

    It seeems that there is a way then to record from firewire, but then again, with bull encryption. Like someone is going to pirate a 10 GIGABYTE recording over the internet!
  • HardwareD00d - Wednesday, February 16, 2005 - link

    So what kind of software is available to let me record video through my cable box's firewire connector for the PC? Anyone?

    How much disk space will a 2 hr HD video stream take up? I'm guessing around 8-16 GB?

  • Doormat - Wednesday, February 16, 2005 - link

    My thoughts:

    -as poseted by #20, use m-audio USB TOSLINK out to surround sound reciever. Works fine with the Apple DVD player.
    -Wait until video core upgrade comes along in v2. I wont buy it unless it handles 1920x1080P/30 flawlessly (yes, 1080P will be available on HDTVs this year, no content available but available as an input). That would require something like a 9600 with 64MB vram.
    -use the Mac Mini as a HTPC client box, having a server someone else in the house with many video capture cards and some sort of remote scheduling front end (doesnt MythTV or one of those have a OSX front end available?). Also, the large server could also handle the massive storage requirements needed for HD.

    I personally want to use it as a client for a Kalidescape-style system, plus to surf the web and play MP3s on my 61" DLP TV. I'm hoping apple does a refresh for the Fall/back-to-school time (with more video horsepower, even if I have to pay extra for it).
  • paulbeers - Wednesday, February 16, 2005 - link

    bob661 -

    Yes true you can get an external hd. One can also get external TV Tuners. One can also get...yadda yadda...but all of these devises require more space and will generate more noise and more cables and more plug ins...etc. I even own an external drive enclosure. What Myth TV now will do for you is allow you to set a box wherever (close or office or bathroom if you would like) and that will do all the recording and can have all the loud 7200 rpm hard drives spinning away and it will never interfere with your enjoyment (if you have ever had an htpc in your living room that isn't virtually silent which I have) you know how annoying that proc fan can get reaallllyyy annoying.
  • michael2k - Wednesday, February 16, 2005 - link

    You want something like this, mlittl3?
    http://www.m-audio.com/products/en_us/SonicaTheate...
  • mlittl3 - Wednesday, February 16, 2005 - link

    Since the Mac Mini has USB 2.0, are there any external USB audio solutions from any of the sound card manufacturers like Creative that supports Mac OS X? If so, this would be a way to get 5.1 and 7.1 audio onto the Mac Mini. However, this would require a little more space. You would have to stack the device on top of the mini.

    I can't possible see hard drive space being a problem. Just get an external firewire or USB 2.0 drive like #18 said.

    Lastly, Anand, it would be cool if you could make a section on your website for people to send in photos and solutions on how they set up their Mac Mini as an HTPC. There are a lot of combinations and externals that could be used and it would be interesting to see what people come up with. The comments section to these reviews is just not enough.
  • bob661 - Wednesday, February 16, 2005 - link

    #14
    Since the mini has USB ports just connect an external hard drive to the ports. You can get hard drive enclosures for $30-$40 and install any hard drive you want in there. No need for a server.

Log in

Don't have an account? Sign up now