SageTV Add-In Feature: #2 MediaShrink
Transcoding. The bane of the HTPC users existence. In my write-up about why I use SageTV on my Windows Home Server box, I talked about how I like to avoid transcoding gymnastics. One of the reasons I chose SageTV is because I like my content to not have to go through a bunch of transcodes or re-containering to be playable on my TV. With Sage, I’m able to play a wide variety of codecs and container formats whether I’m using the main program, a client, or the HD-200 extender.
Just because I can play all of the formats under the sun doesn’t mean that from time to time I may want to transcode something or change the file format for one reason or another. One of the more popular things that people do is archive their DVD collections for playback on their HTPCs. Personally, I could care less about the previews, foreign languages or extras. I want the main movie, the main audio track and the director’s commentary if available. To go through with Handbrake and make that happen can be a huge pain in the neck. You have to go into the audio streams, identify which ones you want, choose the codec to go into the container and all of this other stuff that makes archiving DVDs more of a chore than a joy.
Instead of having all of this work to do, wouldn’t it be easier if you could drag and drop your VIDEO_TS folder onto an icon, have it search through the folder, find those audio tracks, pull them out, re-encode to an MKV with H.264, AC3 audio tracks with the main and commentary tracks and drop the file in the original folder for you automatically? I think it isn’t a bad idea. This is where MediaShrink comes to the rescue.
MediaShrink is a wrapper for multiple programs that does a great job of analyzing whatever input video you give it, making judgments on what to do with the file based on parameters you set up, and taking care of all the encoding and recontainering you need. With it, you can leverage the power of Handbrake, ffmpeg, eac3to and some other programs to encode video to meet some conditions you set forth.
For example, I can take an mpeg2 file that SageTV creates when I record something over-the-air and convert it to a MKV. It’s as easy as dragging and dropping the file (or using a folder monitoring tool to execute the conversion using MediaShrink’s command line interface, but we’ll have more on that in Add-In Feature #3) and MediaShrink gives me a file that is approximately 25% of the original file size with no loss in perceivable visual quality. What is best about that scenario is that as long as SageTV can play the file format, if you keep the original file name with the only change being the extension, you can archive and compress recorded TV and Sage treats the files the same way.
All of this, but I have yet to discuss the best feature of MediaShrink. You like apples?
How about I take a DVD of a TV Series, rip it, and drag the resulting VIDEO_TS folder onto MediaShrink and have it parse out the individual episodes and spit out MKV files of those individual episodes?
How ‘bout them apples?
Yeah, this is the killer function of this piece of software. As much as I’m not a big fan of extras and menus in a movie, they drive me nuts in a TV series DVD. I would much rather have the shows expose themselves individually in the Sage UI instead of needing to go to a DVD menu to move from show to show. Mediashrink has built in logic to be able to figure out if your DVD is a bunch of TV shows. It will then give you individual files of each of the episodes in the output folder.
I could go on and on about how great MediaShrink is, but you should really check it out yourself. There is a support thread over at the SageTV forums. You can also download the software at the project site. The developer of this program, evilpenguin, has really made an extremely useful piece of software.
Next time, I’m going to talk about how I can leverage my favorite SageTV add-in to use MediaShrink to monitor files and automatically encode them.