Friday, December 30, 2016

Backup your DVD and Blu-ray Libraries with HandBrake on Windows

I've been using Plex for several years now and love it! If you haven't heard of Plex, you must go check it out ( as it basically allows you to create your own personal Netflix with all your own content. However, my biggest issue with Plex was not having an easy way to "backup" my physical DVD/Blu-ray library for use in Plex... A hurdle I only recently overcame. In my research I never found an article/tutorial/walk-through that fully covered the use of Handbrake on Windows for both DVD and Blu-ray. Thus the reason I thought this would be an excellent walk-through to share. I believe the following process can also be done on Mac and Linux, but my instructions are assuming you're running 64-bit Windows 7, 8.1, or 10. So here goes...

1) Download and Install HandBrake
Download HandBrake from and install.
HandBrake will be the utility used to create the "backups" of your physical DVD and Blu-ray library. HandBrake is an open source application that can transcode (convert) almost any video file into a more openly supported file, using "a selection of modern, widely supported codecs." -excerpt from I've used a few different transcoder apps, but HandBrake has been my favorite by far.  HandBrake on it's own cannot "backup" a DVD or Blu-ray.
2) Download and setup VideoLAN's libdvdcss
Download libdvdcss from and copy "libdvdcss-2.dll" to C:\Program Files\Handbrake\ (HandBrake default installation directory).
VideoLAN's libdvdcss is an open source software library that has the ability to decyrpt DVDs encrypted with the Content Scramble System (CSS). At the time of writing, version 1.2.12 was the newest version available for Windows. Placing "libdvdcss-2.dll" in HandBrake's installation directory, allows HandBrake to decrypt the DVD's CSS on the fly. At this point, you can now skip down to step 5 to create the "backup" of your physical DVDs. If you have a Blu-ray drive, continue on to add support for Blu-rays as-well.
3) Download and Install MakeMKV
Download MakeMKV from and install. Use the monthly beta key made available here to register the beta software.
MakeMKV is another transcoder application (like HandBrake) but has the ability to "backup" Blu-rays. Please note that MakeMKV is a beta application and currently includes a 30-day trial when installed. If you like the application, I would recommend purchasing a license, but monthly updated beta keys are made available on the forums (see link above) which can be used to keep the free beta application registered. At this point, you could use MakeMKV to "backup" a Blu-ray into an undegraded MKV file (mine have been around 40GB in size) and then use HandBrake to re-encode that MKV into a new smaller file, but then we're doing two encode processes which each takes time. Continue on to give HandBrake the ability to use MakeMKV on the fly.
4) Enable MakeMKV's Blu-ray support in HandBrake
Open a Windows CMD prompt as Administrator and run the following commands:
cd "\Program Files\Handbrake"
mklink libaacs.dll "C:\Program Files (x86)\MakeMKV\libmmbd64.dll"
mklink libbdplus.dll "C:\Program Files (x86)\MakeMKV\libmmbd64.dll"
The first command above changes the working directory to HandBrake's default installation directory on 64bit Windows. The second and third commands create a symbolic link to MakeMKV's "libmmdb.dll" file in HandBrake's installation directory. This allows HandBrake to "backup" Blu-rays just as MakeMKV is able to on it's own. Even though MakeMKV also has the ability to decrypt DVDs, I've found that VideoLAN's libdvdcss seems to work on more DVDs than MakeMKV.
5) Backup DVD or Blu-ray with HandBrake
- Launch HandBrake
- Insert DVD/Blu-ray media
- Click "Open Source"
- Click DVD/Blu-ray drive > HandBrake scans the disc for all available titles
- In the "Presets" pane on the right, scroll down to the section titled "Matroska" and click "H.264 MKV 480p30" (I just prefer MKV. Also, this would be a good time to right click "H.264 MKV 480p30" and click "Set Default" so this is the option HandBrake uses by default moving forward. Note that the 480p30 option is similar to DVD quality. If backing up a Blu-ray, you can optionally choose the "H.264 MKV 720p30" or even the "H.264 MKV 1080p30" option if you want a higher quality file; of-course the file size will be much larger and require more bandwidth for the stream.)
- The dropdowns under "Source" are almost always set perfectly by default. Every once in a while you may have to change the "Title" on discs with multiple versions of the movie (full screen and wide screen for example) or the start and end chapters (some DVDs have the first chapter of the movie as trailers for other movies).
- Under "Destination," click the "Browse" button to tell HandBrake where to save the file and it's name. See Plex's naming standards for Movies and TV Shows. I recommend saving the file to a temp location and testing the video file before moving it to your Plex library directory.
- Once all the output settings are to your liking, click "Start Encode"
- Once complete, test the video file.
- Copy video file to Plex library directory.

Sunday, November 4, 2012

JahnsTek is now a Dell Registered Partner!

JahnsTek, LLC is excited to announce that we're now a Registered Partner in the Dell PartnerDirect Program. Investing the time and resources to gain this prestigious Partner status enables us to be an even more valuable, strategic partner for you.

The benefits of being a Dell Registered Partner are numerous, and the exclusive knowledge and best-practices information we have gained better position us to deliver the best solutions for your needs.

Our Dell Registered Partner status:

  • Provides you with access to Dell's award-winning products and solutions
  • Enables us to offer you flexible financing programs
  • Allows us to align with a leader in "Green IT" and offer you energy-efficient products 
  • Can help your business run faster, better and smarter

Please feel free to contact us to learn more about Dell's cutting-edge products and solutions, and how they can benefit your business.

We look forward to doing business with you.

Justin Jahns
JahnsTek, LLC

Monday, September 12, 2011

Launch IE Window at Windows Login Prompt

If your in need to launch an Internet Explorer window (or pretty much any process) at the Windows login prompt (before any user logs in) here's a solution that I've helped implement and it's working great.

On Windows XP
Displaying an IE window at the login prompt in Windows XP is relatively easy. A simple VBscript run as a startup script is all that is needed.

Set objExplorer = CreateObject("InternetExplorer.Application")
Set WshShell = Wscript.CreateObject("WScript.Shell")
objExplorer.Navigate ""
objExplorer.Visible = true
objExplorer.ToolBar = false
objExplorer.MenuBar = false
objExplorer.StatusBar = false
objExplorer.AddressBar = false
objExplorer.Width = 340
objExplorer.Height = 560
objExplorer.Left = 0
objExplorer.Top = 0
objExplorer.Resizable = false
Wshshell.AppActivate ("Welcome to Windows")

The above VBscript will open an IE window, remove the toolbar, menu bar, status bar, and address bar, set the size of the window, and position it in the top left corner of the screen. The final line of the script, switches the "active window" back to the login prompt so that users are able to start typing without having to click in the username box. This script can be easily set to run on startup using Group Policy (Computer Configuration > Policies > Windows Settings > Scripts > Startup). For computers not in a domain, local group policy can be used to set this script as a startup item (see

On Windows 7
Starting with Windows Vista, Microsoft has implemented the use of different user sessions in order to increase security, and this makes it a bit more difficult to launch an IE session at the login screen. Thus if you used the same process as explained above for Windows XP, the script would run, launching the IE window, but you wouldn't be able to see it because it would be running in the wrong user session. Through some research and a little luck I found that the SysInternal's tool, PsExec.exe (which I've used for years), provides a "-x" parameter that "displays the UI on the winlogon desktop." Again, as simple VBscript is used to launch the IE window in Windows 7, but the VBscript needs to be run by PsExec.exe with the "-x" parameter to make the IE window visible at the login screen.

Set objExplorer = CreateObject("InternetExplorer.Application")
objExplorer.Navigate ""
objExplorer.Visible = true
objExplorer.ToolBar = false
objExplorer.MenuBar = false
objExplorer.StatusBar = false
objExplorer.AddressBar = false
objExplorer.Width = 340
objExplorer.Height = 560
objExplorer.Left = 0
objExplorer.Top = 0

The above VBscript is the same as the XP script, minus the two lines specific for XP. In a domain environment, this can be easily set to run on startup using Group Policy (Computer Configuration > Policies > Windows Settings > Scripts > Startup) but instead of specifying the VBscript to be run, specify PsExec.exe to be run with the following parameters:
-x cscript.exe //nologo "\\<domain>\sysvol\<domain>\Policies\<policyguid>\Machine\Scripts\Startup\<scriptname>.vbs"
Note that the VBscript and the PsExec.exe files must be present in the correct directory for the GPO your using to apply this startup item. By default PsExec.exe requests for it's EULA to be accepted before it runs, which you would not want to pop up when applying this via GP to tens, hundreds, thousands of machines; so the solution to this is to apply the following registry value:
"HKEY_USERS\.DEFAULT\Software\Sysinternals\PsExec\EulaAccepted" set to "1"
This eliminates PsExec's EULA prompt on startup. For computers not in a domain, local group policy can be used in a similar fashion to launch the IE window on startup (see

Hopefully this information comes in handy for someone...

Monday, April 4, 2011

Switch from ATA to AHCI in Windows 7

I've been upgrading quite a few machines from Windows XP to Windows 7 lately, and for some reason, almost every time, I forget to change the SATA Operation setting in the BIOS from ATA to AHCI after wiping the drive and before installing Windows 7.
AHCI (Advanced Host Controller Interface) is a new interface specification that allows the SATA controller driver to support advanced features that can give better performance out of SATA hard drives, especially in Windows Vista/7.
After two or three times of restarting the Windows 7 installation process after changing the SATA Operation to AHCI in the BIOS, I thought their must be a way to make this change without having to reinstall Windows. After a little digging, I found out their is a simple registry change that can be made that will allow for the SATA Operation change. Here's what you can do:
  1. Start "regedit.exe"
  2. Browse to HKLM\System\CurrentControlSet\Services\msahci\
  3. Change the DWord value named "Start" from "3" (ATA) to "0" (AHCI)
  4. Shutdown the computer
  5. Power the computer back on, making sure to enter the BIOS and change the SATA Operation to AHCI
  6. Save the change


Warning: Changes made to the Windows registry happen immediately, and no backup is automatically made. Do not edit the Windows registry unless you are confident about doing so. Creating a backup before editing the registry is highly recommended.

Sunday, September 26, 2010

Office 2007 Spell Check Not Working

Even though Office 2010 has since been released I recently upgraded a client's workstation from Microsoft's Office 2003 to Office 2007. The upgrade installed without a hitch, including the service pack 2 update, but after a few days the client noticed the Spell Check feature of Word, Excel, Powerpoint, and even Outlook was not working.
Through a little google'ing I found several articles mentioning a specific Registry entry that was the culprit. These articles and forum posts where saying to delete an entire key from the HKCU registry hive. Interestingly enough, I delete this key and the spell check feature still doesn't work. To make a long story short, I found that the entire key cannot be deleted, but rather only two values within the key. So here is the fix that worked for me:
  • Click "Start" > "Run" > "regedit" > click "OK"
  • Browse to: HKCU\Software\Microsoft\Shared Tools\Proofing Tools\1.0\Override\en-US
  • Delete the "DLL" and "LEX" values pointing to non-existing files
  • Restart any open Office applications

You can also merge the following .REG file, which will also delete the two above mentioned values:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Shared Tools\Proofing Tools\1.0\Override\en-US]

I hope this post saves you several hours of troubleshooting this specific issue. Feel free to post any comments.

Sunday, June 27, 2010

Enable or Disable File and Printer Sharing with snetcfg.exe

For a recent work project I needed to be able to be able to enable File and Printer Sharing on 2000+ machines for a few weeks while some software was deployed then disable File and Printer Sharing once the deployment was complete. I quickly found out that their was no group policy to easily do this and with a little google searching I found snetcfg.exe was the way to do this. Snetcfg.exe can be used to install/uninstall network protocols, services, and clients. Unfortunately, I found it really hard to find any documentation on this executable so I though I'd write up this short little post in hopes it would help someone else out with this delema...

Command I Used To Enable File and Printer Sharing
snetcfg.exe -c s -u MS_Server
snetcfg.exe -c s -i MS_Server
The first line above uninstalls File and Printer Sharing and the second reinstalls it. This ensures that File and Printer Sharing is installed and enabled. After the software was deployed I removed the second line from the start up script and File and Printer Sharing was once again disabled.

SNETCFG Command Line Help:
C:>snetcfg /?
snetcfg [-v] [-l ] -c -i
    -l provides the location of INF
    -c provides the class of the component to be installed
        p == Protocol, s == Service, c == Client
    -i provides the component ID
    The arguments must be passed in the order shown.
    snetcfg -l c:\oemdir\foo.inf -c p -i foo
    ...installs protocol 'foo' using c:\oemdir\foo.inf
    snetcfg -c s -i MS_Server
    ...installs service 'MS_Server'
snetcfg [-v] -q
    snetcfg -q MS_IPX
    ...displays if component 'MS_IPX' is installed
snetcfg [-v] -u
    snetcfg -u MS_IPX
    ...uninstalls component 'MS_IPX'
snetcfg [-v] -s
    -s provides the type of components to show
        a == adapters, n == net components
    snetcfg -s n
    ...shows all installed net components
snetcfg [-v] -b
    snetcfg -b ms_tcpip
    ...shows binding paths containing 'ms_tcpip'
General Notes:
    -v turns on the verbose mode
    -? Displays this help

Hope this helps some people... feel free to comment...

Friday, January 12, 2007

5 Good Computing Habits (5 of 5)

5. Run Antivirus Software and a Spyware Detection and Removal Tool

Updating your Windows software is just the first step in keeping your computer safe. Next, you'll want to download and install antivirus software and keep it up to date. Your computer may have come with a free trial of antivirus software, but if you don't renew your subscription, you won't be protected from all the latest threats. If you don't already have antivirus software, or if you'd like to get different antivirus software, check the Windows Marketplace Antivirus section for products that will work for you.
If your computer seems sluggish or if you begin to see lots of pop-up advertisements, even when you're not surfing the Web, your computer may be infected with spyware, adware, or other unwanted software. Learn more about spyware and what it can do to your computer, then download the free antispyware program from Microsoft.