Situation: cash-strapped ivory tower visionary and ffmpeg newbie manacled to a 2nd hand 2010 Macbook Pro concealing a 'Black Screen of Death' NVIDIA GeForce GT 330M graphics chip.

With the help of the gfxCardStatus app (option 'Integrated Only' selected), I overcame this particular Apple quality control failure to record fullscreen video and at full resolution, using the following command:

ffmpeg -video_size 1680x1050 -framerate 30 -f avfoundation -i "1" -c:v libx264 -qp 0 -preset ultrafast -capture_cursor 1 -capture_mouse_clicks 1 capture.mkv

The capture_cursor and capture_mouse_clicks options, however, are steadfastly ignored.

Aside from these omissions, ffmpeg is recording at a quality and smoothness better than any of the screencapture/screencast apps I've tried, so for once I'm pretty sure this has nothing to do with the crap hardware, but rather with my use of ffmpeg.

There is nothing to suggest the installation/compilation process went wrong, for which I used:

$ brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libass --with-libvo-aacenc --with-libvorbis --with-libvpx --with-opencore-amr --with-openjpeg --with-opus --with-rtmpdump --with-schroedinger --with-speex --with-theora --with-tools --with-libavformat --with-OpenCV --with-libx264

Is there something I'm overlooking, but which is needed for capture_cursor and capture_mouse_clicks to work? Compilation parameter? ffmpeg option order? Some OS flag setting?

Operating System - OS X Yosemite - Version 10.10.5 (14F1021)


  • MacBook Pro (15-inch, Mid 2010)
  • Processor 2.8 GHz Intel Core i7
  • Memory 8 GB 1067 MHz DDR
  • Graphics Intel HD Graphics 288 MB
  • NVIDIA GeForce GT 330M


Here the ffmpeg video capture command usage, following the guidelines provided by @Mulvya:

$ ffmpeg -video_size 1680x1050 -framerate 30 -f avfoundation -capture_cursor 1 -capture_mouse_clicks 1 -i "1" -c:v libx264 -qp 0 -preset ultrafast capture.mkv

1 Answer 1


Place those options before -i "1"

In ffmpeg, parameters and flags apply to the next input/output entry.


ffmpeg {-flags for input1} -i input1 {-flags for input2} -i input2 {-flags for output1} output1 {-flags for output2} output2

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.