For example’s sake: let’s assume you are involved with productions that are transmitted from a small TV studio. Further, let’s suppose that in addition to a live broadcast you also want to record your shows digitally, for archival purposes or to post to a website later. And finally, let’s assume that you want to do this at regular/predictable times each and every day.
If you are a Mac user in this position, you likely went in search for third-party applications. And they are certainly out there. However, if you have QuickTime Pro on your Mac, then it can be coupled with OS X’s other built-in tools to accomplish this task. Here is what you need: Automator, iCal, QuickTime Pro and maybe Applescript. Beyond that, as long as the source signal, coming into the Mac, is something that is recognizable by QuickTime Pro, then these programs already hold everything that you need to perform scheduled audio or video recordings. Let’s jump right in.
1.) Set up your QuickTime recording preferences. Launch QuickTime Pro, then go to Preferences. Of the tabs at the top, click on “Recording”. Set this up according to your own particular audio/video interfaces.

2.) Develop the Automator actions. You will need two—one to start the recording and another to stop the recording. When you launch Automator, it will looking something like the following image. (I am on 10.5.8, at the time of this post, so this might be slightly different for other versions of OS X.)

We are only concerned with Actions that are specific to QuickTime. To narrow the list of actions down simply type “quicktime” into the search field atop the Library area:

Now the middle pane, the list of actions, is only displaying actions that pertain directly to QuickTime Pro:

The first Automator action needs two instructions from the list: “New Video Capture” and “Start Capture”. (Of course, select “New Audio Capture”, if you intend to only record audio, and not video.) You drag these, one at a time, from the Actions list to the right-hand panel. This is where you build up your Automator workflow. The result should look like this:

Initiating a recording is as simple as this. Now to save our workflow. When you bring up the “Save As” dialog there are two options under the “File Format” area: Workflow or Application.

Here is the difference: With a Workflow, you double click it. The Workflow opens up in Automator. Then to actually perform the steps it contains, you click the “Run” button in the top-right corner. All the steps are executed. If, alternatively, you save your action set as an Application, then to run it, you simply double-click the Application. Applications run upon being launched, while Workflows require you to manually push the “Run” button.
In this case we want an Application, so save the Automator routine as such. For this example I am going to put mine on the Desktop. You will likely want a more permanent location.
That is it for starting a recording. We now need a “stop recording” function. Even easier—one step in the workflow. In Automator, go to the File menu, at the top, click and come down to “New”. (Keyboard Shortcut: ⌘+N) Limit the actions to QuickTime actions, like before, then locate the “Stop Capture” task and drag it to the right pane. Looks like this:

Again save this as an Application, in the same location as the “Start Recording” application. That’s it for Automator. Now for the scheduling…
3.) Schedule iCal to start/stop recording. When you set up a new iCal event, iCal allows you to set “alarms” for that event, that can take various forms. For example, an alarm could be: None, Message, Email, etc. But the alarm option you would want, in this particular instance, would be “Open File”.

Click the word “None”, to the right of alarm, to see the options for your alarm:

Immediately after setting the alarm to be “Open File”, a new line appears under Open File. It will say iCal.

Click the little up/down arrows to the right of the word iCal and then select the option “Other”. Then you simply navigate to wherever you stored your “Start Recording” application and select it.
Then finally, click on the word “15 minutes before” and change this to “on date”, from the bottom of the list. More details will appear allowing you to set precise times for the alarm to occur. (The “from” and “to” dates at the top of this same panel, will not matter. You designate the alarm time in the alarm area, you can ignore the times at the top.)

I usually do this with some headroom. ie, start early. Now you want to finish this off by setting up one more iCal event—this time, to stop the recording. Now the alarm would be to open the file that is your “Stop Recording” application. So navigate to it like we did before.
So that’s it. iCal will now launch your “Start Recording” app., triggering a QuickTime recording, whenever you told it to do so and will, later, launch the “Stop Recording” app. to halt the recording. And the recording parameters will be defined by the QuickTime recording preferences that you assigned in the first step of this guide.
We’re done. Unless, that is, you want to change the recorded file’s name to something more meaningful than the generic “Movie.mov” or “Audio.mov” that are the defaults. If that sounds helpful, read on:
*Bonus: I mentioned in the beginning that you would need, amongst other tools, Applescript to make this work. Yet, I have not mentioned it and we seem to be done. Well, with my particular needs I wanted a time-stamp for my recordings. Otherwise, QuickTime will save the file to wherever you specify, however, it is going to assign it a generic name: Movie.mov or Audio.mov (Depending on whether you have recorded a video signal or audio only.) Note that if you perform multiple recordings you will not have worry about QuickTime overwriting “yesterday’s” recording with today’s. The new movie would be called Movie 2.mov, Movie 3.mov, and so on. Obviously though, this is not the most helpful naming scheme always. So I set up an Applescript to append a date-stamp to the front of my recordings. Plus I have the Applescript add some additional descriptive text to the movie title as well. Here is how the date-via-applescript can work.
There are numerous ways that Applescript can format dates. I chose to go with the format of YYMMDD, and to put this at the beginning of the file name. That way, if you sort the folder of recordings on their names, you’re also sorting them chronologically at the same time. So the Applescript for this kind of formatting looks like this:
# Date
on zeroPad(theNumber)
set theString to “”
if theNumber is less than 10 then set theString to “0”
set theString to theString & theNumber
return theString
end zeroPad
set theDate to current date
set dayString to zeroPad((day of theDate) as integer)
set monthString to zeroPad((month of theDate) as integer)
set yearString to zeroPad((year of theDate) mod 100)
set theDateString to yearString & monthString & dayString
You can copy/paste this code into the Script Editor (which should be in a folder called “Applescript” in your Applications folder) push “Run” and the results box, at the bottom should display today’s date.

Now we need to append this bit to the front of our “Movie.mov” file, plus replace the “Movie” part with something more meaningful. I will show you a renaming script without the date portion, then we will sew everything together. Here’s the script.
#path to file
set myDesktop to (“Macintosh HD:Users:YOURUSERNAME:Desktop:”)
tell application “Finder”
if exists (files of folder myDesktop whose name contains “Audio.mov”) then
set name of (files of folder myDesktop whose name contains “Audio.mov”) to “_myRecording” & “.mov”
end if
end tell
You can copy/paste this script into Script Editor and run it, as well. However, there are critical assumptions that are being made that you must be aware of here. This scripts assumes:
A.) Your boot drive is named “Macintosh HD”. If not, rename that area of the script to the appropriate name.
B.) Where I have “YOURUSERNAME”, you will need to insert your user name. I’m making a call to a very specific path. To my Desktop. You need to alter the script for the specific path to the recorded movie, for your machine.
C.) Finally this assumes that you have a QuickTime movie, already on your Desktop, that is currently named “Audio.mov”.
If you set all those conditions properly, then run the script, you will find that the “Audio.mov” file on your Desktop is now called “_myRecording.mov”
Hopefully that all makes sense so far. If not, you might want to looking into Applescript resources because this guide is not meant to be a comprehensive discussion on Applescripting.
Now, finally to piece the two scripts together. Date formatting + File renaming =
# Date
on zeroPad(theNumber)
set theString to “”
if theNumber is less than 10 then set theString to “0”
set theString to theString & theNumber
return theString
end zeroPad
set theDate to current date
set dayString to zeroPad((day of theDate) as integer)
set monthString to zeroPad((month of theDate) as integer)
set yearString to zeroPad((year of theDate) mod 100)
set theDateString to yearString & monthString & dayString
# Rename the file that contains the keyword
set myDesktop to (“Macintosh HD:Users:YOURUSERNAME:Desktop:”)
tell application “Finder”
if exists (files of folder myDesktop whose name contains “Audio.mov”) then
set name of (files of folder myDesktop whose name contains “Audio.mov”) to theDateString & “_myRecording” & “.mov”
end if
end tell
Again, all the same assumptions are being made in this script as alluded to before. You can, and should, test this before trying to implement it into your Scheduled tasks. If there is a file on your Desktop name “Audio.mov” and you compile and run the above script, then you should now find that the file in question is named “100919_myRecording.mov” (of course with the appropriate date for whenever you actually ran the script.) If there are errors, my bet would be that there is something amiss in the file path that you specified. Check that first.
Now that we have a means of date-stamping via Applescript, how do we implement this into our previous processes? Again it’s Automator. Simply, Automator can run Applescripts.
To see it in action, return to Automator, then perform a search for the word “Run”. Of the few limited actions that reveal themselves, one will be “Run Applescript.”

Drag this action to the right pane. Notice the pre-built text in the script dialog box area. There is a section that says (* Your script goes here *). Maybe there is something in how I write my Applescripts, but I have not had luck with simply trying to paste my script into the prescribed area, and having it work properly. Instead, I have always deleted ALL the text in that box and then pasted my script into that area instead. Pre-filled script area:

Emptied of text:

My Applescript pasted in:

Now you can save the process, but like before be sure to save the file as an Application, not a Workflow. Now to add this final phase to our entire process you have options. From where we stand right now the easiest thing to do would be to schedule one final iCal alarm even that would call up this Application. You would schedule this a few seconds or minutes after the Stop Recording procedure has run. Now you would have three “Applications” called on by iCal: start recording, stop recording, rename movie.
But there is a slightly simpler, more consolidated way to do this. We can append the naming action, the “Run Applescript” task, to the end of the stop recording task that we already built, in Automator. Thus, we handle both tasks with a single iCal event. We would end up then, with two alarms: one to start, one to stop/name. Let’s do that now.
In Automator, go to “Open” and navigate to the Stop Recording application that you saved out before. Add the “Run Applescript” task after the “Stop Capture” task that is already in place. Paste your Applescript into the Run Applescript text area. Save this an application again, maybe as a new one this time, with a revised name.

One final thing. I’ve had issues when attempting to trigger an Applescript immediately after some other event that might be in the process of trying to finish up. To avoid this, add a “delay” to the very beginning of the Applescript. Simply saying “delay 15” tells an Applescript to wait for
15 seconds before beginning. This seems to cut down on launch errors. In this case I would certainly add a short delay, I will stick with a 15 second delay. Like this:

That’s it. It might sound complex, (especially the AppleScript bit) but you should be able to set this all up in only a few minutes. To recap:
1.) Set up QuickTime recording preferences.
2.) Build Start Capture and Stop Capture “Applications” in Automator.
3.) Schedule alarms in iCal. Sets alarm to open files: Applications built above.
*Extra) Employ Applescript to rename saved recording files with time-stamp and custom name. (This could be integrated into step #2, as part of the Stop Capture process. Don’t forget your delay if you go this route.)
The real final step: we have set up a single recording. The whole point of this entire exercise is to generate recordings that are regular and repeatable. There’s a final move in iCal that handles this. Particular events there will have an additional option. Repeat:

Click this area to expose the repeat parameters and set the alarm to repeat as you need:

I hope this helps you out with your scheduled recording needs!
Edited 8/5/15:
Many of you have mentioned errors with the Stop Capture action, try this workaround instead:
Solution :
Delete the “Stop Capture” action.
Add the “Run AppleScript” action, clear all text in the action.
Put this script in the action
on run {input, parameters}
tell application “QuickTime Player”
try
stop document 1 — to stop capture
end try
end tell
end run
I can’t take credit for this particular fix. I found this on the Apple Forums and hope it helps! Thanks to Jacques Rioux.