Situation: Angeschlagener Elfenbeinturm-Visionär und ffmpeg-Neuling, der an ein 2010er Macbook Pro aus zweiter Hand gefesselt ist, das einen „Black Screen of Death“ NVIDIA GeForce GT 330M-Grafikchip verbirgt.
Mit Hilfe der gfxCardStatus-App (Option „Integrated Only“ ausgewählt) habe ich diesen speziellen Apple-Qualitätskontrollfehler überwunden, um Videos im Vollbildmodus und mit voller Auflösung aufzunehmen, indem ich den folgenden Befehl verwende:
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
Die Optionen capture_cursor und capture_mouse_clicks werden jedoch standhaft ignoriert.
Abgesehen von diesen Auslassungen zeichnet ffmpeg mit einer besseren Qualität und Laufruhe auf als alle Screencapture-/Screencast-Apps, die ich ausprobiert habe. Ausnahmsweise bin ich mir also ziemlich sicher, dass dies nichts mit der Misthardware zu tun hat, sondern eher mit meiner Verwendung von ffmpeg.
Es deutet nichts darauf hin, dass der Installations-/Kompilierungsprozess schief gelaufen ist, wofür ich Folgendes verwendet habe:
$ 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
Gibt es etwas, das ich übersehe, das aber benötigt wird, damit capture_cursor und capture_mouse_clicks funktionieren? Kompilierungsparameter? ffmpeg-Option bestellen? Einige OS-Flag-Einstellung?
Betriebssystem - OS X Yosemite - Version 10.10.5 (14F1021)
Hardware:
Nachtrag
Hier die Verwendung des ffmpeg-Videoaufnahmebefehls gemäß den von @Mulvya bereitgestellten Richtlinien:
$ 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
Platzieren Sie diese Optionen davor -i "1"
In ffmpeg gelten Parameter und Flags für den nächsten Eingabe-/Ausgabeeintrag.
Damit,
ffmpeg {-flags for input1} -i input1 {-flags for input2} -i input2 {-flags for output1} output1 {-flags for output2} output2