I record screencasts to present deliverables and training materials to clients and colleagues and use iShowU Pro to do this. It's a great app at a fair price, but getting the settings dialed-in so that you can produce good quality screencasts that are reasonable file sizes takes some tinkering. This is how I do it.
As the app will warn you upon initial launch, you'll need to grant it access to control your computer here: