Control video playback speed in QuickTime Player X

Apple has developed a habit in recent times of releasing ‘updates’ to its many and various applications which do rather less than the versions they replace.

Sometimes, this is for good reason, such as the switch from the bloated and inefficient iPhoto to the streamlined and modular Photos — it does less out of the box, but much more can be added in.

Sometimes, however, the reasons are a little less obvious.

Case in point, the venerable QuickTime Player, which had grown from a simple video player to a rather powerful application capable of handling multiple media types and editing and conversion, and a whole lot more.

It was replaced by QuickTime Player X (presently at version 10.4) which is… a simple video player. One assumes that Apple has big plans in mind and great reasons for stripping out so much functionality. But right now, the thing’s a little sad.

One annoyance many users have with it is its very limited controls for altering playback speed.

Limited controlsIt’s an issue, because QuickTime Player X doesn’t always recognise the frame rate of video you open in it, and attempts to play it back at the default rate of 30 frames per second. If you’ve recorded iPhone video at 60 frames per second, this is a problem.

You can, of course, click on the fast-forward control, which varies the playback speed in fairly crude increments (2x, 5x, 10x, 30x, 60x).

For an added trick, you can hold down the option key to increase speed by smaller increments (1.1x, 1,2x, 1.3x… up to 2x).

It’s all a bit clumsy, and limited. What if you want to play back your video at less than 1x? Playing at half speed or slower was not a problem in the old QuickTime Player.

QuickTime Player may have become something of a blunt instrument, but we can improve it with… something of a blunt instrument.

You see, you can set the rate at which QuickTime Player plays a movie using an AppleScript. Using Automator, you can run an AppleScript like it’s a standalone application.

The application we’re going to build will mean going out of QuickTime Player X to set its playback speed, but you’ll get fine control like you would not believe.

Getting started

Blank CanvasFirst, break out Automator. It’s in Applications > Utilities, or use a Spotlight search to launch it quickly. Then create a new document.

A gallery appears with the various types of Automator documents you can create, and in this case we’re creating an Application.

We’re going to need two Actions for our Application. We need to ask the user to set a playback speed, and then we need to put it into an AppleScript.

Don’t be intimidated by the word AppleScript. It’s a very simple scripting language, and what we’re doing with it is about as simple as it gets.

Library listFrom the Library, find the Action called Ask for Text and drag it into the workflow window. To make it easier to find, you could click on the Text subgroup under Library in the left-hand column.

Ask for Text does just what it says on the box: it asks the user for text. In this case, define a straightforward question like “What is the desired speed?” Tick the box to say that this question requires an answer.

It’s also a good idea to set a default answer like 1, just to avoid confusing QuickTime.

Next, find the Action called Run AppleScript. It’s under Utilities, if you wish to refine your search.

You’ll see an AppleScript with some parts already defined — don’t worry, that’s just syntax stuff.

All you need to do is replace the line that reads “(* Your script goes here *)” with the following:

tell application “QuickTime Player” to set rate of document 1 to input

You may notice that word ‘input’ at the end there. It’s also one of the things that was already defined when you added the Run AppleScript Action.

Basically, ‘input’ is a kind of variable, and has the value assigned to it by the question you asked in the Ask for Text action.

As long as it’s a number (and a number that QuickTime Player can make sense of) it’ll be a valid value.

Which Application?To test your workflow, make sure you’ve got QuickTime Player running with a movie open (this workflow only acts on the frontmost document, by the way, so if you’ve got multiple movies open at once they won’t be affected).

Click the Run button in the top right-hand corner of the Automator window. You’ll get a dialogue warning that the workflow won’t run inside Automator — don’t worry about it, that’s just because you’re creating an Application.

Dismiss that, and you should find a dialog somewhere on screen asking you to input a desired speed. Enter a number, any number, and hit return. The QuickTime movie you’ve got open should proceed to play at that speed.

FinishedPresuming all that works, go back to Automator and save your Application. Give it a useful name like QTSpeed or whatever, and place it somewhere you’ll be able to find easily — since this one’s very small, there’s no harm putting it on the Desktop so it’s easy to find when you’re playing QuickTime movies.

Whatever suits your fancy.

Then when you’re playing a QuickTime movie, you can simply double-click on your Application, input a playback speed, and enjoy your sped-up or slowed-down movie experience.