Change the default Quicktime screen recording cache in OSX Mojave to be on an external flash drive instead?

I currently am using Mac OSX Mojave and I record my screen using Quicktime and it usually stops when the cached recording exceeds what is available on my drive, which is only around 8 GB. I understand the default location for the cached file (which it then prompts you to save afterwards) is located at:

~/Library/Containers/com.apple.QuickTimePlayerX/Data/Library/Autosave Information/

Is there a way for me to trick my computer into saving it onto an external disk instead? I've seen this post, How do I get QuickTime to store temporary recordings on another drive?, but the answers either involve creating a new user, or it doesn't work in Mojave anymore. Any ideas would be greatly appreciated!


Solution 1:

For all I know, there might be a macOS setting to change where QT saves screen recordings, but I have not found that.

Without changing the path to the directory where QT writes screen recording files, you can change the directory to a symbolic link to a folder on your external drive. The symlink acts as if it is a directory, but instead of holding files and using disk space to save files, it links to any directory you can get to through the file system.

I cannot confirm that you have identified the correct directory where Quicktime saves screen recordings in Mojave. In Catalina, new screen recordings initially are saved on the desktop. This is new in Catalina. If for some reason QT is not saving files to the directory you expect, obviously you will have to find the right directory and convert it to a symlink.

I am assuming you can find your way to the command line via the terminal app. I would guess there is a way to avoid using the command line for setting this up, I am going out on a limb and recommending the command line.

To convert a directory at

~/Library/Containers/com.apple.QuickTimePlayerX/Data/Library/Autosave\ Information/

to a symlink connected to your external drive, you can try these steps:

  1. Setup a folder on your external drive where you want to save screen recordings. For this write-up, I am calling it

    /Volumes/ext_drive_name/QT_screen_recs

The command for that is

$ mkdir /Volumes/ext_drive_name/QT_screen_recs
  1. If there are files you want to keep from

    ~/Library/Containers/com.apple.QuickTimePlayerX/Data/Library/Autosave\ Information/,

they need to be copied or moved into the new directory at /Volumes/ext_drive_name/QT_screen_recs. The command for that is:

for copy:  $ cp ~/Library/Containers/com.apple.QuickTimePlayerX/Data/Library/Autosave\ Information/* /Volumes/ext_drive_name/QT_screen_recs

for move:  $ mv ~/Library/Containers/com.apple.QuickTimePlayerX/Data/Library/Autosave\ Information/* /Volumes/ext_drive_name/QT_screen_recs

Obviously, you could create the new folder by copying the old one to the new location. The commands are similar to those shown for copy and move, you just skip the mkdir in step 1, and drop the /* at the end of the source element in the commands, something like this:

for copy and create new folder in the process:  $ cp ~/Library/Containers/com.apple.QuickTimePlayerX/Data/Library/Autosave\ Information /Volumes/ext_drive_name/QT_screen_recs

for move and create new folder in the process:  $ mv ~/Library/Containers/com.apple.QuickTimePlayerX/Data/Library/Autosave\ Information /Volumes/ext_drive_name/QT_screen_recs
  1. Before you can make the symlink, you have to either rename or delete the folder QT has been using. In Catalina, you have to use sudo for these commands. I am not sure if this is needed in Mojave. sudo is used to execute a command with super user privileges. If you do not use sudo when super user privileges are required, the error message is not always indicative of insufficient permissions. The error messages can be misleading. Assuming your account is of type "administrator," to use sudo, you just precede the command with sudo followed by a space. You will be prompted for your password. You can avoid that by logging in as the root user, but then you run the risk of the directories being owned by the root user instead the account used when recording with QT, causing errors for lack of permissions to write to the directory on the external drive.

With all that as introduction, you can use these commands for renaming or deleting the default QT directory (I renamed mine, temporarily, then deleted it after every thing with the new setup was working for awhile.

rename: sudo mv ~/Library/Containers/com.apple.QuickTimePlayerX/Data/Library/Autosave\ Information ~/Library/Containers/com.apple.QuickTimePlayerX/Data/Library/Autosave\ Information.backup

delete sudo rm -rf ~/Library/Containers/com.apple.QuickTimePlayerX/Data/Library/Autosave\ Information
  1. Make the symlink. The symlink is going to have the exact same path as the original folder you are moving. This is absolutely critical, because QT is going to try writing files where it always has, at that path. If there is no directory or symlink at that path, QT is going to choke. The command to make the symlink is:

    ln -s /Volumes/ext_drive_name/QT_screen_recs ~/Library/Containers/com.apple.QuickTimePlayerX/Data/Library/Autosave\ Information

That command will put the symlink exactly where the directory was that you will have moved to the external drive.

To verify it is setup, you can list the directory from the commandline:

$ cd ~/Library/Containers/com.apple.QuickTimePlayerX/Data/
$ ls -alF 

The symlink will look like this:

Autosave Information-> /Volumes/ext_drive_name/QT_screen_recs

Another way you can see the symlink is through Finder. Navigate to

~/Library/Containers/com.apple.QuickTimePlayerX/Data/

You will see a folder named Autosave Information with a tiny arrow in the lower left corner, indicating it is a link.

Finally, when you make screen recording, if you have converted the correct directory, and have the permissions set correctly, you will find the screen recording files on the external drive.

This symlink thing is a good trick. I used it to move most of folders in my home directory, including Downloads, Desktop, Music, and Movies to an external drive, conserve space on the relatively small SSD running as my system drive.