I suspected this may happen, but I had always hoped that Boxee would eventually make good on their empty promises and fix the issues. If not fix it, then release an updated hardware platform that corrects the problems that plagued the first version, and I’d still be willing to pay for it.

I am one of the many users that is plagued by the HD audio playback dropout issues introduced in a firmware update almost two years ago. A problem Boxee blamed on the Intel CE4100 SDK, and promised to fix in March, but then backtracked saying that fixing it would incur too much testing overhead. Yes, break a feature that worked, then claim it is Intel’s fault, but refuse to correct it because it is too much trouble to test.

The Boxee Box will get a last update to fix an issue with Flash playback, but the HD audio issue will not be fixed.

I have already transitioned one of my Boxee Boxes to XBMC based OpenELEC 2.0 running on a Zotac ZBOX Nano XS ID11 Plus. It still has a few rough edges, but XBMC is actively being developed for a variety of exciting platforms.

The one thing about Boxee I will miss the most is the standalone D-Link DSM-22 Boxee remote, best remote for XBMC ever. If I had known they will be discontinued, and impossible to buy, I would have bought a couple spares. If you know where to buy DSM-22’s, please let me know.

I currently have three D-Link Boxee Boxes in my house, the D-Link Boxee Box does have problems, but so far it is the best I’ve found. The following are some of the most annoying problems:

The form factor is unique, but also impractical, it looks odd, uses too much vertical space, and does not fit in with the rest of the media components.

The fan gets loud and is audible in a quiet room. Covering the SD slot suppresses the sound somewhat.

There is no low power standby, it is always using full power even when not in use. Apparently this is a shortcoming of the Intel CE4110 SOC platform.

Every time Boxee releases a firmware update they break something that used to work. The most frustrating was the recent 1.2 firmware update that broke SMB network authentication and resulted in poor performance causing constant network re-buffering. In the end I had to install NFS on my Windows Server 2008 R2 box to get things working again. To make it worse, there is no option to opt-out of firmware updates, even a manual install of an older version just gets auto-updated again. I don’t mind auto updating functionality in products, but I do mind if the update breaks something that used to work, and there is no way back.

When using a HDMI switch, and the HDMI switch is already powered on when the Boxee powers on, there is no sound. The HDMI switch must be powered off when the Boxee powers on, then the HDMI switch can be powered on. This bug has been around since I bought the first Boxee, and the same switch works flawlessly with a variety of other hardware, including a Motorola HD-DVR, Motorola HD-STB, XBox 360, PS3, Roku 2 XS, Panasonic BD player, and a Sony DVD player, so it is not the switch, it is the Boxee.

Even after switching to NFS for networking, I still get network re-buffering and HD audio dropouts when watching certain high bitrate BD MKV movies.

Unlike XBMC, there is no separation between TV series and movies in Boxee, this makes it very difficult to find or watch TV shows, and Boxee rarely gets the metadata associations for TV shows right. XBMC does a much better job of treating TV shows as shows, with discrete seasons and episodes.

The metadata scrapers are incapable of correctly identifying titles from file and directory names that contain a “;” instead of a “:”. In NTFS a “:” is not a legal character for use in file or directory names, so when a show title contains a “:”, I substitute it for a “;” in the filename and directory name. This issue is not unique to Boxee, and I don’t understand why scrapers can’t do common substitutions or removal of punctuation when performing a search.

Even with all these issues, the Boxee Box still works most of the time for most content.

When the Iomega TV With Boxee was announced, one thing that stood out was the 1Gbps network port vs. the 100Mbps port on the D-Link. Theoretically 100Mbps is fast enough for BD content playback, but given the network re-buffering and HD audio dropouts on high bitrate content I was experiencing, I hoped it may help. I could not find official sources of hardware specs for the D-Link or the Iomega, but an ifixit teardown and a Wikipedia article on Boxee shows the devices may have similar processor specs, with the Iomega having gigabit networking and analog video output.

The Iomega Boxee is not available in the US, but I around the end of November I pre-ordered an import from Expansys USA. The box arrived a few days ago, end of December, and I started setting it up by replacing one of my D-Link Boxee’s.

The box comes with very little documentation, as an example, there are no instructions on how to open the remote to insert the batteries. It took me a few minutes to figure out where the battery compartments, yes there are two, were on the remote, and how to open them, i.e. press on the little arrows, apply lots of force, and slide the lids off.

The power supply is 12V 2A, 110V to 220V, with EU/UK power plugs supplied, I used a universal adapter to plug it into a US 110V outlet. The box itself does not include WiFi capabilities, but Iomega supplies a WiFi USB dongle with the kit.

The form factor of the Iomega box is much more practical compared to the D-Link, it fits in nicely with the rest of my AV equipment. Iomega does supply a stand to mount the device vertically if you want it that way.

The Iomega remote is a bit larger than the D-Link, but it also includes some handy buttons missing on the D-Link remote.

The Iomega powered on and displays IO on the screen while booting, unlike D-Link that plays a startup animation, the Iomega box has no startup animation. As with the D-Link, the first thing I had to do was calibrate the screen overscan.

The next step was to login to my Boxee account, and this is where things started going wrong. I could not get the remote to work correctly, it would not respond, or it would enter the wrong characters. The keyboard on the remote has a little button that needs to be pushed to activate the keyboard, once activated, you can enter keys using the keypad. Pressing the button again deactivates the keypad, and you can use the navigation buttons on the front. I tried using the navigation buttons and the on-screen keyboard, the cursor would either not move, or jump way over to the wrong location, or start entering characters when I press navigation buttons. I tried the keyboard, and it would enter a few characters fine, and then just stop working, I could never get the backspace key to work.

I did some general troubleshooting by replacing the batteries, and power cycling the device, but still the same issues. I found a few user reports of similar troubles with the remote. Since my Iomega is an import, there is no chance for local support, but given the general complaints about the remote, I am not going to bother trying to replace it.

The Iomega remote is an IR remote, while the D-Link remote is an RF remote. When I first started using the D-Link RF remote I found it a bit of an inconvenience to switch between my Harmony One universal IR remote, and the dedicated D-Link RF remote, but I must say for fast accurate navigation, the RF remote works great. In fact, I wish there was a standard for RF remotes, so that something like a RF Harmony One can be built, this would alleviate the annoyance and frustration of having to aim at IR devices.

I had a spare D-Link RF remote with a USB dongle, and I eventually plugged that into the Iomega, it worked fine, and I could login to my account, and configure the Iomega.

As I was configuring the device, I noticed that the Iomega was running firmware version 1.2.1.20452, while the D-Link was running 1.2.2.20482. Manually running an update said that 1.2.1 was the latest firmware for the Iomega. Strangely, the Iomega support site lists a firmware version 1.3061, but the version number format does not follow the typical Boxee a.b.c.d formatting. I tried to install the 1.3061 firmware using the manual USB update procedure, but the firmware install never completes, and a hard power cycle is required to boot back up. So I really don’t know what this 1.3061 firmware is supposed to be or do.

While applying the firmware, I noticed that there is a mouse cursor on the screen, and I noticed that the Iomega IR remote acts like a trackpad, as I slide my finger over the directional buttons, the mouse cursor moves around the screen. I did not try it out, but this may be useful for web browser navigation, if the remote actually works.

US content providers like Hulu, Vudu, and Netflix were not available on the Iomega, or at least I could not find them in any obvious way. I don’t know if this is because of regional targeting differences, or because the Iomega has analog video output and content provider DRM requirements may prohibit such content on this device. The lack of content providers is not a big deal for me, as I only use the Boxee for local content playback. For Netflix and Amazon Instant Video I use a Roku 2 XS. Boxee does not offer Amazon Instant Video, and the Roku’s Netflix experience is far superior to the Boxee’s.

The next difference seemed rather weird, the D-Link has HDMI audio passthrough support for DTS-HD and Dolby TrueHD, but the Iomega does not list any HD audio formats. When I tried to play a MKV file with TrueHD and AC3 tracks, the Iomega automatically selected the AC3 track. When I manually selected the TrueHD track, there was no audio.

I configured the Iomega the same way I configured the D-Link, using NFS, I added my music, movies, and TV series, hosted on a Windows server 2008 R2 server, accessed via gigabit Ethernet. Just like the D-Link, it took a while to catalog all the content, and just like the D-Link, the device is less than responsive while cataloging content.

Once the activity light stopped flashing, and the device appeared idle, I started playing some movies that suffer from network re-buffering and audio dropouts on the D-Link. The Iomega played all content perfectly, no re-buffering, and no audio dropouts. Unfortunately this is not really a meaningful test, as the more problematic content contains HD audio tracks, and the Iomega can’t play HD audio.

I will leave the Iomega connected to get some more airtime with it, but unfortunately the lack of HD audio is a deal breaker, not because I need HD audio, but because many of my BD MKV rips only have an HD audio stream. So either the Iomega needs to decode and play HD audio, or it needs to do bitstream passthrough. I doubt this is a hardware limitation, so hopefully a future firmware update adds HD audio passthrough support.

I am about two thirds done archiving my entire CD, DVD, and BD collection to network storage. I have been ripping on a part time basis for about 5 months, and so far I’ve ripped over 700 discs.

I have considered archiving my media collection for some time, but just never got around to it. Recently our toddler discovered how to open discs and use them as toys, so storing the discs safely quickly became a priority. I’d like to give you some insight into what I’ve learned and what process I follow.

After ripping, I store the discs in aluminum storage cases that hold 600 discs in hanging sleeves. There are similar cases with a larger capacity, but the dimensions of the 600-disc case allows for easy manipulation and storage in my garage. I download or scan the cover images as part of the ripping process, so I had no need to keep them, and I, reluctantly, threw them away. If I could I would have kept the covers, but I found no convenient way to store them.

Below is a picture of the storage case:

All the ripped content is saved on my home server, and the files are accessible over wired Gigabit Ethernet and 802.11n Wireless. My server setup is probably excessive, but it serves a purpose. I run a Windows 2008 R2 Hyper-V Server. In the Hyper-V host I run two W2K8R2 guests, one being a Domain Controller, DHCP server, and DNS Server, and the other being a File Server. The file server storage is provided by 2 x QNAP TS-859 ProiSCSI targets, each with 8 x 2TB drives in RAID6. This gives the file server about 24TB of usable disk space.

24TB may sound like a lot of storage, but considering that I store my documents, my pictures of which most are RAW, my home movies of which most are HD, and all my ripped media in uncompressed format, I really need that much storage.

I am currently using Boxee Boxes for media playback. The Boxee Box does not have all the features of XBMC, and I sometimes have to hard boot it to become operational again, but it plays most file types, it runs the Netflix app, and is reasonably maintenance free.

Although Boxee is derived from XBMC, I really miss some of the XBMC features, specifically the ability to set the type of content in a directory, and to sort by media meta-data. Like XBMC, Boxee expects directories and video files to be named a specific way, and the naming is used to lookup the content details. Unlike XBMC, Boxee treats all media sources the same way, so when I add a folder with TV episodes and another folder with movies Boxee often incorrectly classifies the content, and I have to spend time correcting the meta-data. What makes it worse is that I have to apply the same corrections on each individual Boxee Box, it would have been much more convenient if my Boxee account allowed my different Boxee Boxes to share configurations.

Ripping and storing the discs is part of the intake process, but I also need a searchable catalog of the disc information, where the ripped files are stored, and where the physical disc is stored. I use Music Collector and Movie Collector to catalog and record the disc information. Unlike other tools I’ve tested, the Music Collector Connect and Movie Collector Connect online services allow access my catalog content anywhere using a web browser. The Connect service does allow you to add content online, theoretically negating the need for the desktop products, but I found the desktop products to be much more effective to use for intake, and then export the content online.

To catalog a CD I take the following steps: I start the automatic add feature, that computes the disc fingerprint and uses the fingerprint to lookup the disc details online. In most cases the disc is correctly identified, including album, artist, track names, etc. In many cases the front disc cover image is available, but it is rare that both the front and back covers are available. If either cover is not available, I scan my own covers, and add them to the record. I found that many of the barcode numbers (UPC) do not match the barcode of my version of the discs, if they do not match, I scan my barcode and update the record. If I made any corrections, or added missing covers, I submit the updated data, so that other users can benefit from my corrections and additions.

To catalog a DVD or BD I take the following steps: I start the automatic add feature, I use a barcode scanner and I scan in the barcode, the barcode is used to lookup the disc details online. In most cases the disc is correctly identified, including name, release year, etc. In some cases my discs do not have barcodes, this is especially true for box sets where the box may have a barcode but the individual movies in the box does not, or where I threw away the part of the box that had the barcode.

Since I buy most of my movies from Amazon, I can use my order history to find the Amazon ASIN number of the item I purchased. I then use IMDB to lookup the UPC code associated with the ASIN number. To do this search for the movie by name in IMDB, then click on the “dvd details” dropdown in the “quick links” section, then search the page for the ASIN number, and copy and paste the associated UPC code. Alternatively you can just use Google and search for the “[ASIN number] UPC”, this is sometimes successful. I don’t know why Amazon, who owns IMDB, does not display UPC codes on the product details page?

If I still do not have a UPC code, I search for the movie by name, look at the results, and pick the movie with the cover matching my disc. In most cases the disc front and back cover is available. If either cover is not available, I scan my own covers, and add them to the record. If I made any corrections, or added missing covers, I submit the updated data, so that other users can benefit from my corrections and additions.

Below are screenshots of Music Collector and Music Collector Online:

Below are screenshots of Movie Collector and Movie Collector Online:

In terms of the ripping process, ripping CD’s is really the most problematic and time consuming. Unlike BD’s that are very resilient, CD’s scratch easily resulting in read errors. Sometimes I had to re-rip the same disc multiple times, between multiple drives, before all tracks ripped accurately. I want accurate and complete meta-data for the ripped files. Sometimes automatic meta detection did not work and I had to manually find and enter the artist, album, song title, etc. This is especially problematic when there are multiple variants, such as pressings and regional track content or track order, of the same logical disc, and I have to match the online meta-data against my particular version of the disc. BD’s and DVD’s typically have only one movie per disc, where each CD has multiple tracks, and the correct metadata has to be set for the album and each track. So although a CD may physically rip much faster compared to a BD, it takes a lot more time and manual effort to accurately rip, tag, and catalog a CD.

Unlike data CD’s, audio CD track data cannot be read 100% accurately using a data CD drive. If the CD drive reads a data track and encounters a read failure, it reports the failure to the reading software. If the CD drive reads an audio track and encounters a read failure, it may ignore the error, it may interpolate the data, or it may replace the data with silence, all without telling the reading software that there was an error. As a result the saved file may contain pops, inaccurate data, or silence. In order to rip a CD track accurately, the ripping software needs to read the the same track several times, and compare the results, and keep on re-reading the track until the same result has been obtained a number of times. This makes ripping CD’s accurately a very time consuming process. Even if you do get the same results with every read, you are still not guaranteed the what you read is accurate, you may just have read the same bad data multiple times. You can read more about the technicalities of ripping audio CD’s accurately here.

AccurateRip solves this problem by creating an online database of disc and track fingerprints. A track is read at full speed, the track’s fingerprint is computed, and compared against the online database of similar tracks, if the fingerprint matches, the track is known to be good, and there is no need to re-read the track. This allows CD’s to be ripped very fast and very accurately.

Just like a CD track can be identified using a fingerprint, an entire CD can also be identified using a fingerprint. When the same CD is manufactured in different batches, or different factories, it results in different track fingerprints for the same logical CD. The same logical CD may also contain different tracks or track orders when released in different regions, also resulting in a different CD fingerprints. CDDB ID is the classic fingerprint, but with uniqueness problems, the more modern Disc ID algorithm does not suffer from such problems, and allows very unique fingerprints to be created by just looking at the track layout, i.e. no need to read the track data.

CD meta-data providers match CD fingerprints against logical album details. Some of this information is freely available, such as freeDB, Discogs, and MusicBrainz, and some information is commercially available, such as Gracenote, GD3, and AMG. Free providers are typically community driven, while commercial providers may have more accurate data.

PerfectMeta makes the tagging process easy, fast, detailed, and accurate. By integrating with a variety of different meta-data providers, including commercial GD3 and AMG, the track meta-data will automatically be selected based on the most reliable provider, or the most consistent data.

Below are screenshots of dBpoweramp ripping a CD, and reviewing the meta-data:

I use MakeMKV for ripping DVD’s and BD’s, it is fast and easy to use, and supports extracting multiple audio, subtitle, and video tracks to a single output file.

MakeMKV creates Matroska Media Container (MKV) format output files. MKV supports multiple media streams and meta-data in the same file. MKV is not a compression format, it is just a container file, inside the container can be any type of media stream such as an AVC video stream, a DTS-HD audio stream, a PGS subtitle stream, chapter markers, etc. MKV playback is by default not supported by WMP or Windows Media Center (WMC). One solution is to install codec packs such as the K-Lite Codec Pack, but I prefer to use standalone players such as Boxee, XBMC, or MPC-HC.

MakeMKV does not perform any recompression of the streams found on the DVD or BD, it simply reads them from the source and writes them to the MKV file. This means that the playback quality is unaltered and equivalent to that of the source material. This also means that the MKV file is normally the same size as the original DVD or BD disc, typically 7GB for a DVD and 35GB for a BD.

I hate starting a BD or DVD, and I have to sit there watching one trailer after the next, especially when the disc prohibits skipping the clip and the kids are getting impatient. I paid good money for the disc, why am I forced to watch advertising on a disc I own? MakeMKV solves this problem by allowing me to rip only the main movie, and when I start playing the MKV file, I immediately see the main movie start. The downside to ripping only the main movie is that disc extras are not available, and the downside to ripping in general is that BD+ interaction is also not available. Some people prefer to rip a disc to an ISO, and then play the ISO with a software player that still allows menu navigation, I have no such need, and ripping only the main movie satisfies my requirements.

When I make my stream selection I pick the main movie, the main English audio track, the English subtitles, and the English forced subtitles. If a movie contains an HD audio track, such as DTS-HD, TrueHD, or LPCM, I also select the non-HD audio track. I do this in case the playback hardware device does not support HD audio, or the player software cannot down-convert the HD audio to a format supported by the playback hardware. On some discs an HD audio and a non-HD audio track is included, but if not, MakeMKV can automatically extract DTS from DTS-HD and can extract AC3 from TrueHD.

On some discs where there are many subtitle streams of the same language, selection gets very complicated, this is especially true when the disc contains forced subtitles. Forced subtitles are the subtitles that are displayed when there is dialog in a language other than the main audio langue, such as when aliens are talking to each other, but when people talk there are no subtitles. On DVD’s the forced subtitles are normally in a separate subtitle stream, on BD’s the subtitle stream includes a forced-bit for specific sentences. MakeMKV can automatically extract forced subtitles as a separate stream from a subtitle stream that contains normal and forced subtitles. When I encounter a disc where I cannot make out which video, audio, or subtitle streams to extract, I use EAC3TO to extract the individual tracks, view, listen, or read them, and then decide which tracks to select in MakeMKV.

Ripping television series on DVD or BD has its own challenges. In order for players like Boxee and XBMC to correctly identify the shows, the files and folders must be properly organized and named. A disc typically contains a few episodes of the series, and some discs contain extras. When you make the track selections you need to include the episodes but exclude the extras. MakeMKV creates a folder for every disc, and names each file according to its track number on that disc. This results in multiple folders, one per disc, with duplicate file names in each folder. In order to re-assemble the series in one folder, you need to rename the episodes from each folder according to the correct season and episode number, such as S01E01.mkv, then move all the files to one folder. What makes this very complicated is when the episode order on disc is different to the aired episode order. The TV scrapers use community television series websites, such as TheTVDB and TVRage, to retrieve show information. The season number and show number must match the aired episode number, not the disc order number. It is a real pain to manually match the disc to aired episode numbers, and I don’t know why discs would use a different show order compared to the aired order? Once you have your episodes named, such as S01E01.mkv, it is very easy to correctly name the file and folder by using an application called TVRename. Point TVRename to your ripped television show folder, it will try to automatically match show names to the TheTVDB show names, you can manually search and correct mappings, it will then automatically rename the show, season, and filenames, according to your preference, and in a format that Boxee and XBMC recognizes.

Below are screenshots of MakeMKV with the stream selection screen for a DVD and a BD:

When I started ripping my collection I had no idea it would take this long. If I were to dedicate my time to ripping and ripping only, I would have been done a long time ago, but I typically rip only a few discs per week, in between regular work activities; get to the office, insert disc, start working, swap disc, continue working, swap disc, go to meeting, rip a few discs while having lunch at my desk, rip a few discs during the weekend, repeat. The time it takes to rip a disc is important when you stare at the screen, but less so when you have other things to do.

Over the months I’ve used a variety of BD readers, some worked well for BD’s, but were really bad for CD’s, some were fast and some were slow. To illustrate the performance, I selected a BD, a DVD, and a CD, and I ripped them all using the same settings, on the same machine, but using a variety of drive models.

Some drive models incorporate a feature called riplocking, that limits the read speed when reading video discs in order to reduce drive noise. A riplocked drive will read a video BD or DVD much slower than a data BD or DVD, and this results in slow rip times. I used an application called Media Code Speed Edit (MCSE) to remove the riplock restriction on some of the drives.

All drives include Regional Playback Control (RPC) that restricts the media than can be played in that drive by region. There are different regions for DVD and BD discs. RPC-1 drives allow software to enforce the region protection, RPC-2 drives perform the region protection in drive hardware. Most new drives are RPC-2 drives. Drive region protection is not an issue for MakeMKV, and it can rip any region disc on any region drive. RPC-1 versions of firmware is available for many drives at the RPC-1 Database.

I measured the rip speed in Mbps, as computed by dividing the output file size by the rip time in seconds. The file size is the size of the MKV file for DVD’s and BD’s, and the size of all files in the album folder for CD’s. The rip time is computed by subtracting the file create time from the file modified time. The test methodology is not a standard test, and the results should not be used in absolute comparisons, but are very valid in relative comparisons. For more standard testing and reviews visit CDFreaks.

Test results:

From the results we can see that the Sony BD-5300S (a rebranded Lite-On iHBS112) and the Lite-On iHBS212 drives are the fastest overall ripping drives, the fastest BD ripping drives, the fastest DVD dripping drives, but second slowest CD ripping drives. It is further interesting to note that the stock Lite-On drives were still faster than the riplock removed LG drives. The Lite-On drives also have the smallest AccurateRipdrive correction offsets of all the drives.

I still have quite a way to go before all my discs are ripped, but at least I have the process down; rip, swap, repeat.

I am not an expert in how these things work, but I have a basic understanding of video playback on Windows platforms, so let’s start with the file format; an MKV file is a Matroska Media Container file. A MKV file can contain multiple audio-, video-, subtitle-, and other, streams. A MKV file is not a video or audio compression format, it is just a container.

To play the contents of a MKV file, you need a de-multiplexer or splitter, the splitter understands the container format, and produces separate output streams.

The stream output is processed by the stream decoders, typically known as DirectShow filters. The stream filters need to understand the stream contents, e.g. H.264 video, DTS audio, subtitles, etc.

Lastly there are the renderers, the renderer produces the final output such as video display or audio output.

In case of DXVA, the video decoder and the video renderer have a close relationship, the DXVA decoded content can be directly rendered from GPU memory. In comparison, the CoreCodecCoreAVC codec supports GPU hardware acceleration, but it uses the NVIDIA CUDA platform for mathematical processing. The CUDA decoded content needs to be copied to GPU memory, resulting in higher CPU utilization.

I spent quite a bit of time getting the right versions of the right software installed, and on two occasions new versions were released during my testing, and I had to test again. I started by using the K-Lite Codec Pack. But, I know not everybody installs codec packs, and not everybody uses K-Lite, so I wanted to find the minimum set of components required for playback without the use of a codec pack.

In my testing Windows and CoreCodec CoreAVC were the only commercial products, the remainder are free, and of the free products, only Haali Media Splitter is not open source.

I tested by letting the system idle, then playing a one minute, 1080p, MKV, H.264, DTS, subtitles, video clip, full screen, on a 1920×1200 display, then back to idle. Where possible the player was set to auto repeat and play for ten minutes, where the player did not support auto-repeat, I manually played the clip three times. While playing, I recorded the CPU utilization using Windows Task Manager, the GPU utilization using GPU-Z, and the fan speed, CPU and GPU temperature using CPUID Hardware Monitor Pro.

Media Player Classic Home Cinema is simple to use; install it, open the MKV file, and it plays, with subtitles, with MCE remote control support, no additional configuration required. MPC-HC includes all the components required for playback, and does not require any system installed components to function.

From what I read, MPC-HC was the first player to include DXVA accelerated playback. Both DSPlayer and MediaPortal include codecs based on MPC-HC code.

Below are the MPC-HC graphs for fan speed, CPU temperature, and GPU temperature:

Below are the MPC-HC graphs for CPU and GPU utilization:

Windows Media Player is included with the standard Windows installation. WMP uses the system installed DirectShow filers for playback. Even on a x64 system, WMP is still a x86 process, as such, it requires the installation of x86 filters.

I have read that it is possible to get subtitles working with WMP, but even with enabling subtitles in ffdshow, I could not get subtitles to show in WMP. I am sure it is possible, I just didn’t spend the effort to make it work.

When multiple codecs are installed, WMP player uses the preferred codec for playback. The preferred codec can be set using the Preferred Filter Tweaker for Windows 7, or it may be easier to just install one codec at a time:

Haali Media Splitter provides an alternative way of forcing video decoding using ffdshow, HMS can change the video output type to a format that is only registered for decoding by ffdshow. This is accomplished by using the [Use custom media type for H.264]. This allows you to easily switch between the Windows default ([No]), and ffdshow ([Yes]):

In order to use hardware acceleration in ffdshow, the ffdshow DXVA codec needs to be configured for H.264 hardware acceleration:

You may also need to change the DirectShow control options in ffdshow to allow the filter to be used in your player’s process space:

Below are the WMP with Microsoft DTV-DVD Video Decoder graphs for CPU and GPU utilization:

Below are the WMP with CoreAVC graphs for fan speed, CPU and GPU temperature:

Below are the WMP with CoreAVC graphs for CPU and GPU utilization:

Below are the WMP with ffdshow DXVA graphs for fan speed, CPU and GPU temperature:

Below are the WMP with ffdshow DXVA graphs for CPU and GPU utilization:

Windows Media Center is included with the Premier and Ultimate editions of Windows. MCE does not use DirectShow for playback, instead it uses Windows Media Foundation. In order to use DirectShow filters in MCE, either the media type is not natively supported by WMF but is supported by DS, or the WMF media type is disabled using e.g. Preferred Filter Tweaker for Windows 7. MCE runs as a x64 process on a x64 system, as such, it requires the installation of x64 filters.

As with WMP, MCE also requires the Haali Media Splitter to open MKV files. And to use ffdshow instead of the default WMF decoders, set the HMS [Use custom media type for H.264] option to [Yes].

I have read that it is possible to get subtitles working with MCE, but even with enabling subtitles in ffdshow, I could not get subtitles to show in WMP. I also tried the Media Control plugin that is supposed to enable remote control support for ffdshow subtitles, but I could not get it to work. As with WMP, I am sure it is possible, I just didn’t spend the effort to make it work.

I could not find a way to loop playback in MCE, or in MediaPortal, or in XBMC, so instead I manually played the video three times in a row. The resulting fan speed, CPU and GPU temperature graphs are not very interesting, so I am only including the CPU and GPU utilization graphs.

Below are the MCE with Microsoft DTV-DVD Video Decoder graphs for CPU and GPU utilization:

Below are the MCE with ffdshow DXVA graphs for CPU and GPU utilization:

MediaPortal is a Home Theater PC frontend, similar to Windows Media Center, but open source. Like WMP, MP uses DirectShow for playback, but unlike WMP, or MCE, MP allows for explicit filter configuration, including which filters to use for which media types:

Below are the MP with Microsoft DTV-DVD Video Decoder graphs for CPU and GPU utilization:

Below are the MP with ffdshow DXVA graphs for CPU and GPU utilization:

XBMC is a Home Theater PC frontend, similar to Windows Media Center, but like MediaPortal, it is open source. Unlike MediaPortal, that just supports Windows, XBMC also supports Mac, Linux, and XBox. XBMC has its roots in the XBox, but XBox support has just been suspended. In order to support DXVA on Windows, a Windows only DirectShow port of XBMC was created called DSPlayer.

In order to switch between codecs used in XBMC DSPlayer, you have to edit a configuration file. Details of the process can be found here.

I read that DXVA2 support will be natively supported in future XBMC builds. The DSPlayer build of XBMC is much newer than the latest released XBMC. This build of XBMC included native support for DXVA2 without the need to use DSPlayer. The DXVA2 option is in the system menu. I did notice that the first few seconds of playback produced screen artifacts, hopefully this will be corrected when this functionality is released.

I tested playback with three different video decoders; built in DXVA2, DSPlayer MPC codec, and DSPlayer ffdshow tryouts.

Below are the XBMC with DXVA2 graphs for CPU and GPU utilization:

Below are the XBMC DSPlayer MPC graphs for CPU and GPU utilization:

Below are the XBMC DSPlayer ffdshow DXVA graphs for CPU and GPU utilization:

I used the Beta BIOS for testing. I let the system sit idle, placed it under load, then back to idle, while I recorded the fan speed and temperatures. The ambient temperature was 21C / 70F.

Below are the CPU temperature and fan speed graphs for an open case:

Below are the CPU temperature and fan speed graphs for a vertical case:

Below are the CPU temperature and fan speed graphs for a horizontal case:

Summary:

Case Placement

Max CPU Temp

Max Fan Speed

Open Lid

55C

1700RPM

Vertical

59C

2350RPM

Horizontal

66C

3300RPM

From the data we can see that the fan does not appear to have sufficient ventilation, and that in the horizontal position the air flow appears to be severely restricted.

I am tempted to mod the case to allow for better airflow, maybe cut a larger opening for the intake, or replace the centrifugal blower fan with a conventional fan, something like the Scythe KAZE JYU SLIM.

In a previous post I measured the fan speed and noise under load, and I found it to be unacceptably high. Zotac support notified me that a new Beta BIOS is available that address the issue. In this post I measure the difference between the release BIOS and the Beta BIOS.

As with the 4GB BIOS update, the update tools included in the Zip file do not work on Windows 7 x64. I downloaded the latest BIOS update tools from the AMI site, and used the AFUWinx64.exe application to update the BIOS.

Below are two screenshots of the BIOS, first the Beta BIOS, then the current BIOS:

The new [CPUFAN Mode] Setting is called [SMART Mode]. Several of the parameters changed, and the fan ratio settings are no longer 0-255, but a percentage value.

I ran a series of tests to determine what the minimum fan speed is in relation to the [CPUFAN Lowest Value] setting: 20% = No value reported by BIOS. 30% = 1000RPM 40% = 1800RPM 50% = 2500RPM

At 20% the BIOS did not report a fan speed. Visual inspection showed the fan was spinning, but very slow. I think too slow for such a small fan, so I set the value to 30%.

At idle the CPU runs at or just below 50C, so I set the [Smart FAN start Temperature] to 50C.

I left the [CPUFAN Tolerance Value] and the [CPUFAN Step Value] values at the BIOS defaults of 2C and 4%.

I placed the system under load with the [CPUFAN Maximum Value] value at 90% and 100%, but in both cases the maximum fan speed never exceeded 3300RPM, so it appears as if the 90% throttling value was not reached in my tests. To be on the safe side I set the [CPUFAN Maximum Value] at 100%.

As in my previous test, I let the system sit idle, placed it under load, then back to idle, while I recorded the fan speed and temperatures.

Below are two graphs showing fan speed under load, first the Beta BIOS, then the current BIOS:

Comparing the graphs, the Beta BIOS maximum fans speed is around 2400RPM, while the current BIOS maximum fan speed is around 5300RPM. The Beta BIOS made a significant improvement in reducing fan speed and noise.

Below are two graphs showing CPU temperature under load, first the Beta BIOS, then the current BIOS:

Comparing the graphs, the Beta BIOS lets the CPU temperature reach around 65C, while the current BIOS limits the CPU temperature to around 50C. In the Beta BIOS the [Smart FAN start Temperature] is set to 50C, and in the current BIOS the [CPUFAN TargetTemp Value] was set to 50C. The 50C [CPUFAN TargetTemp Value] was the value recommended by Zotac support. I wonder if the value was set to 65C if the fan would have been comparable to the Beta BIOS?

This is my first post created using Windows Live Writer. I used to create my posts using Google Docs, but a recent upgrade to Google Docs removed the ability to publish docs to Blogger. Ironic that I am now using a Microsoft product to post to Google 😉

Summary: – 4GB is supported after upgrading the BIOS. – BIOS has to be updated using less than 4GB, else ID11 fails to post.

[Update: 20 May 2010] After writing this post, the machine started bluescreen / BSOD crashing. Mostly MEMORY_MANAGEMENT / 0x0000001A errors, with occasional 0x000000BE and 0x0000003B crashes. When I initially installed the 4GB RAM, I ran memtest for one cycle, and the RAM tested fine. I just reran memtest, and it is reporting that the memory as bad. I replaced the memory with a new stick, I ran memtest overnight, and everything seems back to normal. I hope it was just a bad stick, and not the ID11 that killed the memory.

When I ordered my ID11, I also ordered a 4GB Kingston SODIM RAM stick. When I received the ID11, the specs said 2GB only, and after contacting Zotac support, and posting in their support forum, they confirmed that 4GB is not supported. I reverted to using a 2GB Kingston SODIM RAM stick.

The BIOS changes are described as follows: Version 05/11/10 .Added support on 4GB memory modules .Added CMOS selection on Logo LED

I downloaded the BIOS update, extracted the contents, and tried running the AFUWIN AMI BIOS update utility. After a warning message appeared telling me to not run other apps and not to power down, on clicking ok, nothing happened. I tried again this time running AFUWIN.exe as administrator, still nothing.

I went to the AMI site, and downloaded their latest Windows BIOS update utility. Since I was running Windows 7 Ultimate x64, I ran AFUWINx64.exe, this binary automatically UAC prompted for elevated access, and presented this warning:

I opened the A140PA19.rom file, and the information tab showed the following:

Summary: – High fan speed and noise while under load. – Fan never returns to silent operation after load is removed. – Need DXVA capable player for video playback.

[Update: 26 May 2010] I tested the Beta BIOS, and produced significantly better results. Effectively the new BIOS runs the CPU at 65C vs. 50C, as such you may be able to achieve the same results with the current BIOS by simply changing the CPU temperature threshold to 65C.

Last time I tried Lavalys EVEREST and SpeedFan to measure the CPU/GPU temperature and fan speed, but neither application was able to detect the fan, and both applications produced questionable results for the CPU temperature. A Media-Portal forum reader responded, and said I should try CPUID Hardware Monitor, which I did, and it works. Actually, I used CPUID Hardware Monitor Pro, this way I can capture values over time, and easily produce graphs.

Below is a picture of the hardware detected as a Winbond W83627DHG: My test methodology is to measure from power on, idle, under load, and back to idle.

I let the ID11 reach room temperature (73F / 23C), I cold booted, and after logging in, immediately started Hardware Monitor Pro (HWMP). I let the ID11 sit idle for a few minutes. The fan remained very slow and very quiet, almost impossible to hear. The idle fan speed is around 180RPM.

Next I launched EVEREST system stability test, this placed the CPU under load, I ran this for a few minutes. Almost immediately the fan speed increased, and became very loud. The high fan speed is around 5300RPM. The case reached a temperature of 112F / 44C.

After stopping the system stability test, I let the system idle for a few minutes. The fan speed reduced, but never returned to the initial very low speed. At this speed the fan is audible, about the same noise level as a spinning hard drive. The return to idle fan speed is around 1400RPM.

Below are graphs showing CPU, GPU, and fan speed over time during the stability test:

I expected the fan to go back to the initial very low speed, but it didn’t. I was not sure if I should let the system idle for longer, so I repeated the test.

But, instead of using EVEREST, I used XBMC 9.11 using all default options. I chose to play a 39GB DTS H264 MKV file, this file is a very high bit rate Blu-Ray rip, and I know that my netbook stutters when playing this file, while my workstation has no problems playing it.

Immediately after starting playback the fan speed increased, and became very loud, same as during the stability test. The high fan speed is around 5300RPM. The case reached a temperature of 108F / 42C.

As before, the fan never went back to super quiet, even after sitting idle for a very long time. The return to idle fan speed is around 2000RPM.

This behavior may be a BIOS problem, or it may be the thermal characteristics of the ID11.

Below are graphs showing CPU, GPU, and fan speed over time during movie playback:

Although I was not focusing on video performance, it was clear that the video stuttered, and this was confirmed by looking at the on screen playback statistics. There was a very high frame drop count, and the frame rate was around 13fps, far from the 24fps target.

The default XBMC does not work on the ID11. A little bit of searching revealed that the internal decoders used by XBMC do not support GPU acceleration, and instead relies on the CPU to the rendering. There is a Windows specific port of XBMC using DirectShow codecs that do support DirectX Video Hardware Acceleration (DXVA), called DSPlayer.

When I do a more elaborate video performance test I will use only DXVA capable players.

The ID11 is supposed to be used as a HTPC, and as such it needs to be very quiet.

At boot the fan is quiet but during normal operation the fan gets louder, and under load the fan gets very loud. The small physical size of the fan probably contributes to the high pitch of the fan noise and makes it more noticeable.

I contacted Zotac support about the noise, and they recommended that I change the BIOS settings as follows:

[Advanced][PC Health Monitor][CPUFAN TargetTemp Value] = 50

[Advanced][PC Health Monitor][CPUFAN Tolerance Value] = 3

The default value for [CPUFAN TargetTemp Value] is 45C.

In the BIOS, with the CPU doing nothing, the temperature is 47C, and the fan speed is 6490RPM.

I changed the value of [CPUFAN TargetTemp Value] from 45C to 50C. In the BIOS, with the CPU doing nothing, the temperature is 51C, and the fan speed is 5273RPM.

The fan is quieter, but not quite, and the case is getting hotter.

It seems that the fan is not very effective at cooling, and still does not run as quiet as I would like even at the higher thresholds.

I also noticed that EVEREST reported the CPU temperatures much higher compared to SpeedFan, the SpeedFan measurements seemed closer to what the BIOS reported, so it may be a problem with EVEREST.

I will contact Zotac and Lavalys support to find out if the hardware is supposed to support fan speed monitoring, and what the correct temperature measurement is supposed to be, will report back later on my findings.

Below is a picture of the GPU and CPU temperatures in EVEREST Ultimate Edition: