Streaming your 1080p Blu-ray and HD-DVD content to Windows Media Center Extenders

After many evenings, I finally have a way of generating 1080p video from Blu-ray disk (aka BD) and HD-DVD that works on Linksys DMA 2100 Media Center Extenders. I’ve done conversions under both Windows XP and Windows 7 RC. I’ve tried many different formats to try to get decent 1080p that you can pause, fast forward and rewind etc, but the method described here is the only one I’ve managed to get to work consistently well.

The basis is this:

  • Decryption/copy protection removal
    • AnyDVD-HD - don’t leave home without it
  • Identify correct audio & video streams
    • EVODemux for HD-DVD
    • BDInfo for Blu-ray
  • Remux audio & video streams into a .TS container
    • Use TSMuxerGUI
      • remove any pulldown, convert to 24000/1001 fps if necessary
      • files are \HVDVD_TS\*.EVO for HD-DVD
      • files are \BDMV\STREAM\*.M2TS for Blu-ray
      • Windows XP will need a UDF 2.5 filesystem device driver to read the files from the BD: Google “udf 2.5 driver xp”
  • Extract & convert audio to 640kbps 5.1 AC3 (if not already)
    • Use TSMuxerGUI to to demux the audio
    • EAC3ToGUI to convert to AC3
      • Sometimes LPCM > 4GB, so you’ll need to split into two AC3’s and re-join when remuxing
      • Set 640kbps, and use libav settings
  • Convert video to 20Mbps CBR MPEG-2 (if not already MPEG-2)
    • Graphedit with Haali media splitter, ffdshow decoders, Sonic MPEG-2 encoder and File Writer (all DirectShow filters)
      • Set both Sonic MPEG-2 encoder settings to Progressive
      • Sonic MPEG-2 encoder is the only one I can get to work at 1080p
      • Sonic MPEG-2 encoder is part of Roxio Creator 2009 Ultimate
      • Ignore audio stream at this stage
  • Remux converted audio & video into .TS container
    • TSMuxerGUI again
  • Remux converted .TS to .DVR-MS
    • TSConverter
      • Under Vista or Windows 7, you’ll need to run this as administrator (find it in Program Files\DVBPortal, right click, Run As Administrator)

Typical size of .DVR-MS is between about 15GB and 22GB depending on size.

Speed tips

The slowest part is the video conversion (transcoding) from either VC-1 or H.264 to MPEG-2. With an i7 920 quad core hyperthreading box, I can do an H.264 to MPEG-2 conversion in 35 minutes. A VC-1 takes about 90 minutes. This is because H.264 currently has multithreaded decoders, VC-1 does not.

In comparison, my circa 2002 3.06GHz hyperthreading P4 takes about six hours to transcode! There are two reasons for this: firstly, there’s the lack of true multi core, and more importantly there’s the lack of the latest SSE instructions. My T7200 2GHz dual core laptop is about three times faster than that old P4 smoker.

When muxing/demuxing (as opposed to transcoding) the primary bottleneck is disk I/O. I know that in these days of SANs it’s not trendy to think of spndle management, but you’ll double your throughput if you read from one disk and write to another. On the i7 920 I can achieve a sustained 100MB/s using separate ESATA disks, muxing an entire BD in 3 to 4 minutes! My older PATA PCs (eg, 3.06GHz P4 HT) has a 40MB/s disk-disk thoughput. You will have big penalties (less than half the througput) if you try to do muxing/demuxing on a single disk. That is straight down to the disk contention due to the head movement that’s having to go on to support “simultaneous” reading and writing to the same disk. In contrast doing a disk to disk mux means that the disk head movement is going to be far less, in (hopefully) a much more sequential behaviour. (At this point, I may well have one or two of the serial disk defragmenter brigade getting on my case - but that, my friends, is whole other story).

Think direct attached storage (DAS) rather than NAS or USB. USB maxes out at about 20MB/s. Even gigabit NAS will be sluggish in comparison to DAS.

Leave a Reply