oreilly.comSafari Books Online.Conferences.


AddThis Social Bookmark Button

Stream Live HDTV from Your Mac

by Erica Sadun

EyeTV-compatible tuners, like those offered by Elgato and Miglia, are the television tuners of choice for the Macintosh. These tuners provide analog and digital, standard and high definition solutions for Mac TV-watching. You can sit in front of your Mac and watch your shows as they record. But say you want to watch a show in your living room or bedroom? Sure you can wait for the show to finish recording, copy it over your local network, and then watch it. Or you can put on your hacker's cap and stream it in real time.

This article shows you how to combine a little OS X trickery with Video Lan Client's (VLC) built-in streaming. Not only can you watch your streamed standard- and high-def TV on a remote computer, but you'll be able to control the playback from that remote computer as well. Here's how.

Getting Started with Mac Video Streaming

The equipment and software requirements for this project are fairly straightforward. You're basically sending video from one computer to another over your already-existing network connection. Here's a quick checklist of all the items you'll need on hand to make this happen:

A fairly recent Mac (sending). Your computer needs to be powerful enough to record video and stream it out at the same time. Neither of these are particularly demanding tasks processor-wise, but they do take a toll on your system. Yes, you can stream from a 733 G4 (and I have), but it's really not powerful enough to record video while exporting a steady video stream without constant breaks and interruptions.

A VLC-compatible networked computer (receiving). Any computer that runs VLC (Mac, Windows, or Linux) can receive the EyeTV recordings you stream over the network. The instructions in this article are for the Macintosh, but you can easily adapt them for other platforms. Also, while the receiving computer can be far less powered than the sending computer, the network itself has to be high-speed. (Wired or high-speed wireless is recommended.)

An EyeTV-compatible tuner with EyeTV software. The instructions in this article are limited to EyeTV-supported tuners, like the ElGato EyeTV Hybrid and the Miglia TVMini HD. These tuners, like all EyeTV-compatible tuners, record MPEG-2 streams from your cable or antenna connections. Although some compatible tuners (Plextor PX-402 and Elgato EyeTV 200) can optionally record MPEG-4, you need to use MPEG-2 streaming for this project. You can find a list of EyeTV compatible tuners here.

VLC. Install copies of Video Lan Client on both the sending and receiving computers.

Step 1: Create an Alias that Points to Your EyeTV Recordings

EyeTV stores its video in bundles, OS X folders that look and act like individual files. They really are folders with data stored in them, but they look like a file in Finder. Fortunately, you can use standard OS X commands to open these bundles and reveal the data inside. The bundles, which use an .eyetv extension, can be seen in Figure 1.

EyeTV Bundles
Figure 1. EyeTV uses bundles with the .eyetv extension to store video data. Both Heroes.eyetv and Live TV Buffer.eyetv contain hidden video and other files.

Open the EyeTV Bundle

To open an EyeTV video bundle, whether recording or already recorded, control-click (or right-click) the EyeTV file and select Show Package Contents from the contextual pop-up menu (Figure 2). A new window opens showing the bundle contents. The files will include several EyeTV management files, a thumbnail (the TIFF file), and an MPEG file (using the .mpg extension). EyeTV uses this file to store its video data.

Show Package ContentsContents revealed
Figure 2. Use Show Package Contents to open an EyeTV video bundle (left) and reveal the underlying MPEG video (right).

You cannot open this MPEG file in QuickTime, even if you have purchased an optional QuickTime MPEG-2 component. EyeTV stores video using what's called an MPEG transport stream, the raw data transmitted by broadcasters.

Even though QuickTime won't handle this MPEG video, VLC has no problem playing it back. If you like, you can drag the MPEG file onto your VLC icon and it will open and start playing. For this project, you'll make an alias to the MPEG file instead, so you can open it directly using a standard file selection dialog.

Create an Alias of the MPEG File

Control-click (or right-click) the MPEG file and select Make Alias from the contextual pop-up. A new OS X alias will appear and display a small arrow in its lefthand corner. Drag this alias out of the bundle and onto the desktop. By opening the alias in VLC, the program points to the recording file even as it grows.

Step 2: Preemptively Deal with Your Firewall

Your sending computer will use UDP port 1234 to stream video. Make sure your receiving computer will not block that port by adjusting its firewall settings. Open System Preferences -> Sharing. Click Firewall and then choose New. Set your Port Name to Other from the pop-up menu and enter 1234 as the UDP port number. Enter a description (like "VLC Streaming Video") so you'll be able to remember what this exception does (Figure 3). Click OK. The new item appears at the bottom of your "Allow" list. You may quit System Preferences on the receiving machine.

Figure 3. To receive streaming video, you may need to create an "Allow" rule for your firewall.

Pages: 1, 2

Next Pagearrow