Addressing DVD Player error -70012 when using external drives in OS X
Apple's DVD Player will only work with internal DVD drives and will give an error -70012 if you open it with only an external DVD drive attached.
Apple's DVD Player is the default option for viewing DVD movies in OS X, and is set up in the "CDs and DVDs" section of the system preferences to automatically launch when a video DVD is mounted and recognized by the system. While a good tool for viewing DVDs, DVD Player does have some quirks, one of which appears to be the requirement for a properly recognized DVD player to be present in order to play DVDs. If not, then even though the external drive may read and mount DVD media, DVD Player will issue the "error -70012" warning whenever you try to play the movie. There are several approaches you can take to dealing with this situation:
Get a new internal DVD drive.
This is the most supported option, and is recommended if you have the time to purchase a new drive or get your system serviced. Nevertheless, while it is easy for the optical drive to be replaced on Apple's Mac Pro line of systems, this may not be so practical for laptops, iMacs, and Mac Mini systems, and sometimes servicing can be pricey.
Use another program to play DVDs.
The second option is to use another program for viewing DVDs. Apple's DVD Player uses the OS X DVDPlayback framework, which is the ultimate limiting factor here, its code may prevent it from recognizing external drives as being valid drives for DVD playback; however, other media players such as VLC or MPlayer OS X Extended will readily read any mounted DVD disc, or at least allow you to target the "Video_TS" folder on the DVD that holds the movie media. Some of these programs have more options for filtering and adjusting the video as well, so you might consider using one of these instead of DVD Player.
Modify the DVDPlayback framework so DVD Player will recognize the external player.
The last option is to modify the DVDPlayback framework that DVD Player uses, so that it will recognize your external drive as a valid DVD playback device. Keep in mind that if you do this the system may no longer recognize the internal drive, so I only recommend it for systems where the internal drive no longer works and your only option is to use the external player.
Download a hex editor that has text-searching capabilities (0xED is a useful one).
Go to the folder /System/Library/Frameworks/ and back up the file "DVDPlayback.framework." If you have a regular Time Machine backup of the system that should suffice, or you can copy the file to your desktop.
Open 0xED or your preferred hex editor and use it to open the following file:
Using the editor's searching options, search for the text "Internal" and replace all occurrences of it (there should be four) with the text "External" and save the file. If you cannot edit the text with your program, then locate the hex code for the word "Internal" (which is "496E7465726E616C") and replace it with the hex code for the word "External" (which is "45787465726E616C").
Close the file once saved, and then run a permissions fix on the boot drive using Disk Utility. Then restart the system and you should now be able to play DVDs off the external drive using DVD Player.
Editing system files may seem like a risky step, but the file being edited here is the framework for DVD video playback, which is only a library that is invoked by programs that play DVD video off of discs and that are built using this framework. Therefore if something goes awry you will not alter the stability of OS X. At most you may find you've prevented DVD playback on all devices for specific programs. However, if you restore your backup of the DVDPlayer.framework file and perform a permissions fix on the boot drive with Disk Utility, then you should have full original function again.