Passage to India

A couple of hours from now I’ll be on my way to India for a couple of weeks, my first foreign trip since I went to New York in 2009. I don’t think I’ll be going on a tour of the major locations from Temple of Doom or anything, but you never know. In any case, a trip like this is long overdue.

And it better be good, considering how many injections, visa applications and unexpected expenses I suffered for this jaunt.

I’m doing without my computer and phone, so my connectivity will depend on Internet cafes and my ability to remember my 30-character gibberish logins without 1Password, so don’t expect what updates I make to be particularly verbose. But I do plan to take a lot of photos and video, having finally replaced old faithful with another Lumix, and will post them here and on Twitter. I don’t often test WordPress’s gallery functionality, but when I do, I do it during altitude acclimatisation in the Himalayas.

Converting Blu-ray HD audio to FLAC

As I mentioned in my first look at ripping Blu-rays, converting uncompressed PCM and lossless Dolby TrueHD and DTS-HD Master Audio to FLAC for use in XBMC carries a number of benefits.

  • It’s also lossless, so no quality difference.
  • FLAC is an open, well-documented format and so you’re not reliant on reverse-engineered implementations.
  • XBMC can decode FLAC to PCM and output it over HDMI, whereas it currently can’t for DTS-HD.
  • Hard drive space savings can be significant, especially for PCM soundtracks.

There’s little penalty in terms of the time taken to rip the disc either, as it’s unlikely that your BD drive can copy data from the disc fast enough for the conversion process to become a bottleneck.

What you need

This process still uses MakeMKV, with the feature enabled in by checking the advanced options box in the settings. TrueHD decoding is built in, but you’ll need to find a separate DTS module and point MakeMKV to that.

MakeMKV

All you then need to do it choose the ‘FLAC’ preset when ripping a disc. Otherwise the process is identical.

File sizes

I picked three movies representing the three HD audio formats supported on BD. All were ripped to an MKV file containing only the main video, the lossless main audio track, and no subtitles; file size recorded; then passed through MakeMKV again to convert the audio to FLAC. After conversion, MediaInfo was used to verify that the number of channels, sampling rate and bit depth (some versions of the DTS decoder have a bug that will change 24-bit audio to 16-bit, hence the use of 24-bit audio tracks below) were unaffected.

Movie Audio Original size New size Delta
2001: A Space Odyssey PCM 5.1 (48kHz, 24-bit) 20.10GB 16.38GB 3.72GB (18.5%)
Blade Runner Dolby TrueHD 5.1 (48kHz, 24-bit) 18.22GB 18.08GB 0.14GB (0.8%)
The Bourne Identity DTS-HD Master Audio 5.1 (48kHz, 24-bit) 25.96GB 25.42GB 0.54GB (2.1%)

I noted a few more, with all the data recorded in this spreadsheet. The range of formats reflects the predominance of DTS-HD on Blu-ray these days, but there’s a clear 2-3% gain on substituting FLAC there. It doesn’t sound like much, but it’s half a gig when you’re talking about files of 20GB and up.

Conclusion

According to my unscientific tests, then, converting to FLAC delivers a saving in file size over the untouched original track across the board, with a minimal reduction for TrueHD and a handy half-gig saved on DTS-HD. Obviously, since the others are already losslessly compressed, the biggest gains come over PCM, where FLAC can shave 3.72GB off the size of the 2001 MKV – enough for another couple of DVD rips on my HTPC’s hard drive.

Some notes on ripping Blu-rays

Owing to my current HTPC project, about which a more comprehensive post is on the way, I’ve spent many hours over the last week delving into the murky, unexplored realm of ripping Blu-rays. This being a more niche format, requiring more unusual hardware and scads of hard drive space, the tools required aren’t quite as polished and straightforward as ripping a DVD, but a bit of trial and error has taught me a few tricks.

Tools

The most important tool is MakeMKV, which is free while it’s in beta. It’s a great app that does one thing and does it very well: rips DVDs and Blu-rays from the disc to an MKV file. No conversion or compression – except for one exception, which I’ll come to shortly. DVDs get run through HandBrake since a heavily compressed source isn’t going to suffer too much and the file size can be cut by ~60%, but I want my BDs in their full glory.

MakeMKV

File sizes that this approach result in range wildly, but a single file with one HD audio track results in a 20-40GB file. Hope you have a lot of HDD space.

As far as Blu-ray hardware goes, I spent £39 on a Panasonic UJ-260 on eBay, which is a USB drive that can read and write Blu-rays all the way up to the 100GB BD-R XL discs. It can rip most movies in 40 minutes or so. A very decent no-frills BD drive that works fine on both my Mac and the HTPC.

Handling HD audio

One minefield in putting together an HTPC is that the capabilities of HDMI hardware vary wildly depending on hardware and driver support. A particular difficulty comes in the ability (or not) to output Dolby TrueHD and DTS-HD Master Audio as a bitstream, which allows an AV receiver to handle the decoding and processing. Most HTPC software can decode internally to some extent, however, but my choice uses a reverse-engineered open-source implementation, and I can’t help but suspect that it’s not going to do as good a job as my Denon.

As it happens, bitstreaming HD audio on AMD hardware in Linux is a new addition and doesn’t yet work reliably on my setup. TrueHD can be decoded to uncompressed PCM in XBMC, but DTS-HD leaves me only with the compressed DTS ‘core’, which is barely better than DVD. That won’t do.

Thankfully MakeMKV has the ability to convert the HD formats to the open-source FLAC, which is open and far better documented. What’s more, it actually creates smaller files, while still remaining lossless. And it’s a handy option for those releases with only PCM audio, as that can account for 8GB of audio alone.

There’s a separate post coming on this issue, complete with file size comparisons.

Subtitles

BD handles these slightly differently to DVD. Whereas DVD would have a separate, hidden subtitles for ‘forced’ subs (e.g. scenes in a foreign language in otherwise English movies), BD simply marks the appropriate lines in the main subtitle track as forced, meaning they should be shown even if subtitles are turned off.

MakeMKV has the ability to only add these forced subs to the output, but you still need to work out which track is the correct one – a movie can have separate English subtitle tracks for closed captions, commentaries, dubs vs original tracks (e.g. a direct transcription of the English dub and a more literal translation of the original audio, as on some anime releases), trivia, and more.

Handily, the community as AVS Forum has put together a spreadsheet that lists the correct subtitle tracks for various releases. It’s not comprehensive, but it has a lot of common movies. Worth bookmarking if you’re going to be doing a lot of this. Simply tick the ‘forced only’ box for the one you need.

More to come…

These are the results of my early experimentations. I’ve got a spreadsheet – when I say I’m experimenting, I mean it – on the go with the compression rates achieved by the above FLAC conversions and will share that data when I’ve converted my initial batch. Also, once this whole HTPC project is in a stable state, I’ll put together my tips on how one can be assembled for around £200. In the meantime, get a load of this…

XBMC movie library

Isn’t it beautiful?

Running classic PC games on a Mac with Wineskin

I’m in love with Good Old Games. They distribute classic PC titles, getting them running on modern operating systems, bundled with extras, and all without DRM.

What I like most about it, though, is that GOG is up there with Valve in its efforts to make Mac gaming less of a wasteland. When it comes to retro computer games, DOS isn’t too much of a hurdle because the hardware requirements are trivial and apps like Boxer make emulation simple, but the Windows ultra-dominance of the late 90s through late 2000s are a dark spot. If you have fond memories of a PC game of that era and it’s not from Blizzard or id, odds are it didn’t get a Mac release.

I recently noticed that GOG was offering Mac versions of PC-only Black Isle RPGs like Planescape: Torment. My curiosity over what witchcraft was enabling this led me to Wineskin, which now has me running stuff like RollerCoaster Tycoon natively in OS X. And it works with basically anything short of the latest and greatest. Here’s how it’s done.

You will need…
  • Your PC game
  • Wineskin Winery (download)
  • Enough hard drive space for the install plus about 150MB
A little background

I’m going to be doing this with the GOG version of RollerCoaster Tycoon. GOG makes it easier because the games are mostly a single installer and have no DRM to worry about, but disc-based games can be done too by copying the contents of the disc to a folder on your computer, so do that first. As long as the game doesn’t require anything newer than DirectX 9.0 or host particularly invasive DRM (e.g. StarForce), chances are it’ll work.

This all works using Wine, with Wineskin bundling the installed game and a Wine compatibility layer in one Mac app. It’s not emulation, strictly speaking, so what you’re getting is a Windows game running at native speed on OS X.

Wineskin WineryGetting started

Fire up Wineskin Winery. You’ll first need to download an appropriate engine for the game you’re running, but thankfully people will have done the legwork for you. The Wine Application Database is where users document their experiences of running software with different Wine engines, and its entry on Rollercoaster Tycoon notes that the GOG version runs with platinum compatibility (“flawlessly”) on 1.6.2. Therefore that’s the version I’m going to download.

With that downloaded and the latest wrapper downloaded, hit the ‘Create New Blank Wrapper’ button and give your new app a name. In this case, I creatively opt for ‘Rollercoaster Tycoon’.

Let the process run. It may ask you to download a version of Mono and/or the Gecko engine. Old games will almost certainly not need Mono but may use Gecko; use your own judgement, or just go ahead and install them since it’ll ensure a trouble-free conversion.

When it’s finished, click ‘Show Wrapper in Finder’ and you’ll be presented with a generic Wineskin app, ready to be turned into your chosen game.

Installation

Run this new app to be presented with the following window.

Wineskin

Click ‘Install Software’, then ‘Choose Setup Executable’, and point it at the installer from GOG. This is where things start to look interesting.

Wineskin installation

That looks suspiciously like a Windows installer on a Mac, doesn’t it?

Once the installation process is complete, resist the temptation to play the game for now and click ‘Exit’. You’ll see the following window, which lets you tell your Wineskin which executable it should run on launch. In this case it’s correct and I’ve never seen it need changing, so go ahead and click OK.

Wineskin executable

Wineskin iconThe Advanced menu that you can see mentioned can be accessed by right-clicking the newly created app in the Finder, clicking ‘Show Package Contents’, and then double-clicking the Wineskin icon in the resulting folder. Among other things, this allows you to change the app icon; find an appropriate ICNS file from a site like VeryIcon and select it in there to get things looking more official (see right).

Rollercoaster Tycoon on a Mac

Isn’t that a beautiful sight? You end up with a self-contained OS X app (by default located at ~/Applications/Wineskin), created through a process that works on basically any game. No fiddling with Boot Camp or Parallels to run an old favourite that hasn’t been ported, and none of the performance penalty that comes from emulation. Lovely.