Introduction
At WinHEC 2002 last week, Microsoft refined and honed its Connected Home strategy.
If you ever wondered what to do with all your “stuff,” then fear no more – stick it on the network. The next step is to get the content to flow through the pipes without ending up in the refrigerator, literally.
The home network is evolving from a simple extension of what is found in a SOHO environment into one that is more in tune with the kinds of things people might like to do on a day-to-day basis. And, at the heart of it all is the television. Love it or leave it, the television and its programs dominate the home.
But, true enthusiasts are not likely to be tempted by glossy marketing hype about “rich media experiences.” However, we got a great response to our Getting The Most Out Of Your TiVo article, and thought we’d take it up a notch by looking at something for the network enthusiast.
The PVR Revolution
Watching Seinfeld on iPAQ
Most of us have heard or read about, and probably drooled over, TiVo, ReplayTV and other expensive Personal Video Recorders (PVRs), also known as Digital Video Recorders (DVRs). And most of us have probably wondered if there exists software that could run on our current PCs and accomplish the same thing for a more modest investment. After all, TV is inherently just bits, and bits can be manipulated in software. SnapStream PVS is a piece of software that aims to fill this price/performance gap, and also adds some unique features of its own.
The holy grail of TV viewing from a consumer perspective is, of course, easy-to-use time-shifting, including commercial skip — or, “If I already pay for the content stream, I should be able to do with it as I please.” This includes archiving and viewing on devices other than a TV set. Let’s see if SnapStream PVS comes anywhere close to this goal.
What Is SnapStream PVS?
So, what does the PVS in SnapStream PVS stand for? Let’s start from the beginning (i.e. post World-War II) and progress down the timeline:
VTR – video tape recorder | VTRs were magnetic tape-based, but stored on reels, not on cassettes; stored an analog video signal for repeated playback (sequentially, of course). |
VCR – video cassette recorder. | The most obvious benefits of analog VCRs are price and availability. The most obvious objection is signal degradation. An analog signal is subject to wear and tear, and will subsequently look and sound worse upon repeated viewing, not to mention after copying. |
Digital VCR | A digital VCR stores a digital signal. Although a strict definition would imply that a digital VCR is still tape-based, it is more common to define a digital VCR as any piece of software or hardware that supplies VCR-like functionality in the digital domain. Currently the most affordable hardware digital VCRs are first-generation ReplayTVs, which retail for about 200 bucks. The digital signal is not degraded, and can (in theory) be transferred or copied indefinitely. Many TV tuner cards ship with basic digital VCR software, while higher-end cards like ATI’s All-in-Wonder series contain full-featured timeshifting capabilities. |
PVR – Personal Video Recorder | A PVR is de facto, but not inherently, digital. The “Personal” in PVR means that you, the viewer, are in charge, as opposed to the media conglomerates. At least that’s what they tell us… a Personal function happens at your end of the content stream. Timeshifting is a Personal function, just like flipping channels on a remote is a Personal function. TiVo and ReplayTV are PVRs. |
DVR – Digital Video Recorder | DVR is a newer term for PVR, which stresses the digital aspect. TiVo currently has the highest mindshare among PVRs, even though ReplayTV was first. In fact, TiVo has become a verb in its own right, showing that an easy pronunciation pays off. |
PVS – Personal Video Station | This is SnapStream’s own acronym, which was probably invented so that SnapStream might stand in a category of its own. Here is SnapStream’s own explanation: Our PVS is a PVR, because it has advanced recording functions. It encodes video in a digital format, so it is also a DVR. The program gives you PTV through its personal streaming media server, which makes all of your recordings available to you wherever and whenever you can access the Web. The same built-in server programming also makes it possible for others to watch video streamed from your hard drive over the Web or a LAN – that’s the broadcasting part. We also give users the ability to configure a master/ slave network – whether there’s just one TV card on the network or several. |
Digital Good – Analog Bad
In an ideal world, unlimited bandwidth would be gratis, and a fat pipe would stream uncompressed video directly from the content provider to the coach potato’s hard disk. We’re not quite there yet, but at least we now (theoretically) have the ability to digitize whatever comes through our analog pipe.
SnapStream PVS starts by grabbing an analog signal and encoding it digitally. This means that the signal does not suffer degradation after its initial encoding. However, it may have suffered degradation in the analog domain before that, and will certainly degrade during the encoding process (pontential frame drops and certainly encoding artifacts). Currently, only the Windows Media family of codecs are supported. This is because SnapStream uses Windows Media Encoder 7 (exclusively). It is ironic that SnapStream is Windows-centric, since it focuses on network capabilities.
The supported video codecs are:
- ISO MPEG-4
- Windows MPEG-4 v3
- Windows Media Video v7 and v8
All these codecs are pretty similar in terms of performance.
Notably absent are DivX, RealVideo, and QuickTime.
The only audio codecs supported are Windows Media Audio v7 and v8. No MP3 or Ogg Vorbis, unfortunately, which would have been nice if you wanted to record audio only.
What Can You Do With SnapStream PVS?
I’ll let SnapStream’s marketing department field that question (and come back to it later):
- Never miss your favorite TV shows again: Record all of your favorite TV shows and watch them when you and your family have time.
- Take it on the road: Move your favorite TV shows to your PocketPC or laptop and enjoy them while you travel.
- Control from anywhere: Add and edit recordings using the web-based interface — from work or from another country!
- Store more TV shows with MPEG-4/Windows Media. Simply add a new hard drive for even more storage.
- Watch videos anywhere: With the built-in streaming server watch videos over the home network or the Internet.
- Import other video files into SnapStream PVS and then access them anywhere over the home network (AVI, MPEG-1).
- Getting started wizard makes it easy to configure your audio and video and start recording TV!
- Advanced scheduler: Record your favorite television show weekly, daily, or every weekday.
- Windows XP support: Advanced support for multiple users, parental control and other features under the next generation OS from Microsoft.
- Home networking technologies such as 802.11b (wireless), HomePNA (home phone line), HomeRF (wireless), and Ethernet are supported by SnapStream PVS.
- Extensive hardware support: Chances are that we support your TV tuner card or video capture card.
The Product
SnapStream PVS 2.0 retails for $49.99, which is a modest sum for a commercial software product.
In addition to the software, we need to equip our PC with TV input and output. Of note here is that the software needs to switch TV channels, so we either need a TV tuner card or a “cable pack,” which allows the PC to change channels on the set-top box, if you have one.
A stand-alone TV tuner card usually runs about $50, and many video cards, like ATI’s All-in-Wonder series, already include such functionality. However, as said earlier, your video card may already come with digital VCR software, in which case you should try that before spending money on SnapStream.
SnapStream is also sold as a bundle with a PCI TV tuner card for $89.99 + shipping, and the cable pack retails for $20 – $25. Depending on your setup, the total investment is therefore around 100 bucks, which is still significantly cheaper than a stand-alone hardware solution.
Test Setup
I used two PCs and one Pocket PC for the testing. Both PCs were set up as SnapStream hosts.
The high-end PC already had ATI All-in-Wonder Radeon installed, while the low-end PC already had ATI All-in-Wonder 128 Pro installed. I also installed the WinTV card in the low-end PC.
The PCs were connected via 100Mbps Ethernet behind an NAT firewall.
The Pocket PC was connected to the high-end PC via USB 1.1.
Notice the generous display settings for both PCs. The settings are ridiculously high compared to the SnapStream-generated output. However, in a realistic setting, one wants the best possible dispay for comfortable viewing. (Pocket PCs need not apply.)
As we shall see, the main factor involved in both capture and viewing is CPU horsepower, therefore some irrelevant specs are not listed in the interest of brevity.
High-end PC | |
Mainboard | MSI K7T266 Pro2-RU |
CPU | AMD Athlon XP 1500+ |
Memory | 256 MB KingMax PC2700 DDR SDRAM |
Graphics | ATI All-in-Wonder Radeon AGP |
Sound | Creative SoundBlaster Audigy MP3+ |
Display | 20″ viewable CRT; 32-bit color; 1152×864; .21 mm dot pitch; 100 Hz refresh rate |
OS | Microsoft Windows XP Professional |
Media Player | Microsoft Windows Media Player 8 |
Pocket PC Synchronization | Microsoft ActiveSync 3.5 |
Low-end PC | |
Mainboard | Abit BP6 |
CPU | Dual Intel Celeron 400 MHz |
Memory | 512 MB Kingston ValueRAM PC133 SDRAM |
Graphics | ATI All-in-Wonder 128 Pro AGP; Hauppauge WinTV PCI |
Sound | Creative SoundBlaster AWE64 ISA |
Display | 20″ viewable CRT; 32-bit color; 1152×864; .21 mm dot pitch; 100 Hz refresh rate |
OS | Microsoft Windows XP Professional |
Media Player | Microsoft Windows Media Player 8 |
Note 1: None of the PCs were overclocked. Note 2: The 2nd Celeron processor is used by Windows Media Encoder, but not by Windows Media Player. |
|
Pocket PC | |
Model | Compaq iPAQ Pocket PC H3630 |
CPU | 206 MHz Intel StrongARM SA-1110 32-bit RISC Processor |
Memory | 32MB RAM; 16MB Flash (ROM) |
PC Card Expansion pack | Toshiba 2 GB PC card hard drive |
Display | 3.77″ TFT; 12-bit color; 240×320; .24 mm dot pitch |
OS | Microsoft Windows CE for Pocket PC 3.0 |
Media Player | Microsoft Windows Media Player 7.1 for Pocket PC |
Hardware Setup
The only hardware that wasn’t already installed was the WinTV PCI card. The installation was straightforward, however — note how the audio cable goes from the WinTV line out to the SoundBlaster line in. If you don’t hear sound in your recordings, make sure you have connected this cable. Also note that the cable TV has been connected.
Software Setup
Accompanying software
The review kit I was sent contained three CDs: SnapStream PVS, SnapStream PocketPVS and WinTV. However, you can buy SnapStream and download it directly from their website, while the WinTV drivers and software are freely available on Hauppauge’s website.
SnapStream PVS install splash screen
The first thing you should do after installing all software is run the SnapStream hardware wizard, which tries to set up a “source” setting for the installed hardware.
Note how the channels are exactly 6 MHz apart.
Recording and Scheduling
Record page
Probably the first thing you want to do is run a diagnostic test from the configure page. If both audio and video seem OK, you can then graduate to a manual recording test (choose the “Record Now” task on the “Record” page). Set your default quality to something reasonable for your computer. I recommend opening up your task manager at the same time and looking at peak CPU usage. If the peak is around 90%, you’re probably losing frames.
Manual record page
SnapStream PVS gives you two ways to schedule a recording: manually, or through the Program Guide. SnapStream has partnered with TitanTV for the Program Guide.
TitanTV is a little like the TV Guide channel, but it’s web-based.
TitanTV splash screen
TitanTV TV listing page
Recording and Scheduling, Continued
Basically, it means that you can go to TitanTV.com, select a program and click a hyperlink, which schedules the program to be recorded (once).
TitanTV PVR Control
Unfortunately, this also means that you cannot schedule a recording on a remote machine using the Program Guide, since the hyperlink will try to launch a program on the local machine. However, you could browse TitanTV locally, and then set up manual recordings for the remote SnapStream server. TitanTV does, to its credit, have a search page.
TitanTV Programming Search
SnapStream/ TitanTV is not as advanced as TiVo, which can be set to record all TV shows of a particular name. Basically, SnapStream allows you to automatically record your favorite show, which is not a bad thing. However, once you have a scheduled recording, it can be repeated daily, weekly, or on weekdays only, which covers most TV shows (but not all, as we shall see).
One advanced recording setting to be aware of is the “Create fixed content” setting.
If this flag is set, any shows recorded by this job will not be auto-expired. So, in my case, I set “The Simpsons” and “Seinfeld” to not auto-expire, while “The Daily Show” does auto-expire. This allows me to accumulate a library of “The Simpsons” and “Seinfeld,” while not wasting hard disk space on old episodes of “The Daily Show.” One request for SnapStream: instead of basing the file name on the title and air time, why don’t you add the option of basing the file name on the title and the episode description? This would be very useful in avoiding duplicates of a particular TV show, especially for out-of-order reruns.
Encoding For Streaming Over Localnet
High-bitrate Seinfeld
If you paid attention during the setup, you’d notice that SnapStream installs Windows Media Encoder 7. SnapStream uses Windows Media Encoder (exclusively) to encode audio and video. SnapStream encapsulates access to the encoder, so let’s go straight to the source to see if we can find out more about it. Just for fun, I downloaded version 7.1 and installed it. Surprisingly, no settings change as a result, but when you choose Video v8, you automatically record audio v8.
SnapStream settings page
SnapStream comes with a lot of (undocumented) settings. I had to go to Microsoft’s web site to find out exactly what the profile settings actually control.
Quality Profiles
SnapStream’s “Configure” screen has a link to “Quality Profiles.” Quality Profiles is just a front-end for Microsoft Media Encoder’s profile manager. You can edit most of the current profiles, or add your own. This is the place to experiment until you find the best possible quality for your particular setup. There are two main values of which you should be aware: CPU load during encoding and CPU load during playback. I will go through each setting, as there are very few comments provided by SnapStream.
Audio
- Compression/ Format – this is always Windows Media Audio 7, unless you install WME 7.1 and select Windows Media Video 8.
- Audio/ Parameters – this is the audio bitrate and should be set as high as your output device can handle. For some reason, it tops out at 160, not 192 kpbs.
Video Input
- Use Output Settings – presumably this overrides any input settings.
- Dimensions – size of picture in pixels.
- Video Input FPKS – this means frames per second, see below.
Video Output
- Compression Format – Currently, there are four (Microsoft) formats to choose from: WMV 7 or 8, ISO MPEG-4, or MS MPEG-4. As far as I could tell, there is no real difference between the codecs from a user perspective.
- Dimensions – output size in pixels.
- Frames per second – this one is crucial to the output quality — set it as high as you can without dropping frames.
- Video Bitrates – all codecs are fixed bitrate.
- Quality scale – this should be set as high as possible without dropping frames.
- Encoding Window – client’s buffer size — I recommend as large a buffer size as your client (player) can handle.
- Keyframe Interval – this is an MPEG-4 setting that specifies the number of seconds between key frames. I recommend experimenting with this setting for various types of content.
Video Transformations
- Deinterlace – Check this setting if you want to deinterlace a video source. I always use this setting.
- Inverse Telecine – Only check this setting if you want To Convert Film-Based Content From 30 FPS to 24 FPS. You may want to create a special profile with this setting enabled for recording shot-on-film movies.
Is SnapStream’s Server Secure?
One of SnapStream’s highly touted capabilities is its network accessibility.
If you only want to use SnapStream on your home network, you’ll be safe behind your NAT firewall. However, if you want to access SnapStream over the Internet, you need to tweak your firewall.
SnapStream runs a webserver on a port of your choice. In addition, SnapStream will automatically forward to port 80 if no other web server runs there already.
If you want to stream, you also need to open the streaming server port, which defaults to port 1755.
Streaming server settings
SnapStream uses two levels of password protection to access pages on its web server, one password for config pages, and another for all pages. Unfortunately, there is no SSL- or other encryption, so you could use a brute force attack to gain entry.
SnapStream login page
Compaq iPAQ & SnapStream PocketPVS
PocketPVS splash screen
Pocket PVS is an application that allows you to view your SnapStream files on your Pocket PC.
Due to the limited hardware resources of a Pocket PC, you must transcode the files before you transfer/ sync with your Pocket PC.
A transcode is essentially a recompress to a lower-bitrate profile, e.g. iPAQ High.
Unfortunately, the transcoding step is very time consuming, and that is why you can set up PocketPVS to do auto synchronization and auto convert only during a certain time interval (i.e. at night). On a side note, you could use a Pocket PC profile for streaming over the Internet as well, since the bitrates are similar.
Pocket PVS Installation
The iPAQ I borrowed from SnapStream came loaded with CE 3.0 and Windows Media Player 4.1.
Since 4.1 does not play video, I also installed Windows Media Player 7.1.
Unfortunately, there was no way to uninstall version 4.1, and the file associations are not updated when 7.1 is installed. When you launch Pocket PVS, you get a splash screen. The splash screen leads to an Internet Explorer window that lists all current recordings.
Unfortunately, since there is no file association, the hyperlinks do not open Windows Media Player, but instead displays some markup language.
After consulting with SnapStream and looking on Microsoft’s web site, I found the following explaination:
“If you installed an earlier version of Windows Media Player on your portable device, it is stored in random access memory (RAM). Before you install this version of the Player, you must use Remove Programs on your device to uninstall earlier versions of the Player that are stored in RAM.
Note If Windows Media Player was installed on your portable device when you purchased it, the Player is stored in read-only memory (ROM). You cannot uninstall an earlier version of the Player that is stored in ROM.
I asked Snapstream about this issue, and they suggested that to overcome the problem with file association, you should instal Windows Media Version Tech Preview 2, even if version 6.4 is already installed: re-installing will reset the file associations. However, I am hesitant about recommending the installation of a “Tech Preview” from Microsoft. Some people may not have a problem with this, but it is up to the individual. Instead, I was forced to open files directly from Windows Media Player.
Encoding For Pocket PC playback
Low-bitrate Seinfeld
The screen size of a Pocket PC is 320 X 240 pixels. If you use Windows Media Player 7.1, you can view in landscape mode, i.e. full screen, otherwise you must view in skin mode (208 X 160 pixels). The most annoying thing about viewing in full screen mode on a Pocket PC is that you cannot fast-forward (i.e. skip commercials). You can, however, assign mute to a hardware button, for minimal relief. In fact, I wish SnapStream could remove the commercials altogether, and thereby have file sizes of almost 1/3 of the original sizes. Watching TV on a Pocket PC is a lesson in compromises. You should set the frame rate at 10 or 15 fps, set the audio at 20 kbps, 20 kHz, mono, and set the video at 150-200 kbps. You should expect lots of frame drops no matter how low your framerate is when viewing on a Pocket PC. However, the picture quality is OK, while the audio quality is metallic sounding.
Windows Media Player settings
Watching
Low-bitrate Seinfeld
High-bitrate Seinfeld
After this involved setup, I was ready to enjoy some “quality time” by the computer. After all is said and done, it is surprisingly convenient to sit in front of the monitor watching last night’s episode of Seinfeld. What is not so convenient is realizing that the TV schedule changed, and what you thought was “Seinfeld” is actually “ABC News.” After you have found some quality profiles you can live with, you can sit back and enjoy without messing around with two-hour videotapes.
As for the PocketPVS module, I can’t say that it’s worth the CPU time for regular viewing. There are too many variables, including battery life, adverse viewing conditions, and generally bad video quality. However, it would make a nice optional (read: free) feature that may interest frequent travelers. I think the same applies to Internet streaming for most broadband users with limited upstream bandwidth.
However, downloading over the Internet is a better idea, and is probably the way to go if you decide to open your firewall.
The home network streaming works perfectly, and comes highly recommended if you also have a home network server.
TV anywhere? Maybe not anywhere, but certainly here and there.
Conclusion
SnapStream is an interesting product, and I expect SnapStream-like functionality to become as common in the future as streaming audio is today.
However, there are several things that can be improved from version 2.0. In particular, I would like to see support for codecs other than Windows Media, more extensive documentation, and tighter security. Most of all, however, I would like to see a better and more versatile Program Guide.
SnapStream gobbles up both storage space and CPU cycles, and if you already have a capable PC and/ or Pocket PC, you might very well be satisifed with SnapStream’s big bang-for-the-buck. If not, it’s not worth upgrading the computer, instead look for SonicBlue or TiVo’s latest products.