Using ffmpeg with avfoundation, capture_cursor and capture_mouse_clicks options are ignored 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)

Hardware:


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




Addendum

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
Place those options before -i "1"

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

So,

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