Gibt es einen Grund, warum dies ein CLI-Tool sein muss? Mit QuickTime erhalten Sie kostenlos Screenshots.
igorw
Ich möchte es in einem Shell-Skript aufrufen und es unbeaufsichtigt tun.
Hallo Keith, willkommen bei StackOverlow. Dies sieht auf einen Blick nicht nach Programmierung aus, obwohl es tatsächlich sein könnte, wenn Sie planen, es in einer Batch-Datei oder so etwas zu skripten. Vielleicht möchten Sie es umformulieren, damit es nicht außer Kontrolle gerät.
Brian MacKay
Antworten:
9
Mac OS X bietet die Möglichkeit, statische Screenshots über die Befehlszeile mit einem Dienstprogramm aufzunehmen, das einfallslos aufgerufen wird screencapture. Weitere Informationen finden Sie unter Ausführen man screencapture.
z.B. screencapture ~/Desktop/picture.png
Wenn Sie Mac OS X 10.6 oder höher verwenden, können Sie dies über AppleScript mit QuickTime Player X über AppleScript aufnehmen. (Es ist jedoch definitiv nicht "still" und wird nur ausgeführt, wenn jemand angemeldet ist.)
(Aufzeichnung des Bildschirms für 5 Sekunden, nur ein möglicher Ausgangspunkt)
tell application "QuickTime Player"
--activate
new screen recording
start document 1
delay 5
stop document 1
save document 1 in file "/tmp/test.mov"
quit
end tell
Der erwähnte Blog @David ist immer noch im Google-Cache verfügbar und stellt fest: "Wenn Sie versuchen, in 10.7 zu speichern, wird der Anruf einfach ignoriert. Oder so etwas. Das Skript bleibt dort für immer hängen und läuft dann ab." Dies gilt für mich in 10.8…
ptim
2
Ich verwende SOX und VLC für die Erfassung, Crontab für die Planung, XLD für die Erstellung von m4a und MP4Box für das Multiplexing. Es ist ziemlich flexibel, erfordert aber Kenntnisse in Bash-Skripten (vielleicht auch in Apple-Skripten). Ich habe meine Inspiration in Diego Massantis mkmp4-Skript gefunden.
Sie können sich ein Bild davon machen, was das Skript tut: 3-Stunden-Aufnahme, Mono-Sound, jeden Arbeitstag um 8 Uhr morgens
Ich habe SOX für MPEG-Audiostreams weder aktiviert noch kompiliert und daher FLAC verwendet, um Platz zu sparen. Ich verwende XLD, um es in AAC-HE 16 kbps zu konvertieren, was für Sprache ausreicht.
Nächster Schritt: Multiplexen von Audio und Video zum Erstellen von MP4. Wenn es Ihnen nichts ausmacht, die grafische Benutzeroberfläche zu verwenden, ist MPEG StreamClip (oder QuickTime) ebenfalls eine gute Wahl.
Ich benutze dies täglich, um ein Archiv von GoToWebinar zu erstellen, aber wenn die nächste Version von FFmpeg den G2M4-Codec unterstützt, werde ich mich nicht mehr darum kümmern. Ja, es gibt auch OSAscript zum Starten des Webinars, bei dem auch das Flag com.apple.quarantine entfernt werden musste, um die Warnung zu deaktivieren (Möchten Sie es wirklich öffnen?).
Ich bezweifle, dass dies unter OSX funktionieren würde. Alsa und x11grab sind wahrscheinlich nur unter Linux-Builds von ffmpeg verfügbar.
Adam MW
0
Für die Bildschirmaufnahme gibt es mehrere Open Source-Tools. Sie sollten "Screen Capture" mit einem Paketmanager unter Linux suchen. Tools wie scrotkönnen in einem Skript aufgerufen werden. Wenn Sie dies programmgesteuert planen, gibt es in Imlib2 die erforderlichen Einstiegspunkte.
Das Aufnehmen von Ton ist wirklich eine Aufnahme für ein Mikrofon-Audiogerät. Es ist nicht wirklich ein Schnappschuss und Sie sollten festlegen, wie lange die Aufnahme dauern soll. Jeder Soundrekorder reicht aus.
Es gibt auch Tools, mit denen Sie ein Video von Ihrem Desktop erstellen können.
Das Speichern des Inhalts des Linux-Framebuffer-Geräts in einer Datei ähnelt möglicherweise dem, wonach Sie suchen. Im Folgenden habe ich den relevanten Teil des Linux 2.2 Framebuffer Device Programming Tutorial zitiert . Sie müssen Ihr System so konfigurieren, dass das Framebuffer-Gerät aktiviert wird (überprüfen Sie, ob Sie / dev / fb0 auf Ihrem System haben). Ich habe es nicht auf meinem Ubuntu 9.04.
Wenn Sie hochauflösende Textmodi haben, können Sie mit dem Experimentieren beginnen. Sie haben ein Gerät / dev / fb0, das Sie wie jede normale Datei betrachten können. Um einen Screenshot zu machen, müssen Sie nur noch etwas tun
cat / dev / fb0> ~ / sshot
Und Sie haben eine ziemlich große Datei mit dem Inhalt des Speichers Ihrer Grafikkarte. Wenn Sie nun den Bildschirm löschen und eingeben
cat ~ / sshot> / dev / fb0
Sie sollten ein Display haben, das genau so aussieht wie zuvor. Natürlich wird die Sekunde, in der Sie mit der Eingabe der Anzeige beginnen, wieder normal.
Ich verwende Snow Leopard auch auf einem alternden Macbook. Da ich versuche, Ziel C zu lernen, verbringe ich einige Zeit damit, ein Tool zu erstellen, mit dem bestimmte Fenster erfasst werden können.
Antworten:
Mac OS X bietet die Möglichkeit, statische Screenshots über die Befehlszeile mit einem Dienstprogramm aufzunehmen, das einfallslos aufgerufen wird
screencapture
. Weitere Informationen finden Sie unter Ausführenman screencapture
.z.B.
screencapture ~/Desktop/picture.png
Wenn Sie Mac OS X 10.6 oder höher verwenden, können Sie dies über AppleScript mit QuickTime Player X über AppleScript aufnehmen. (Es ist jedoch definitiv nicht "still" und wird nur ausgeführt, wenn jemand angemeldet ist.)
(Aufzeichnung des Bildschirms für 5 Sekunden, nur ein möglicher Ausgangspunkt)
quelle
Ich verwende SOX und VLC für die Erfassung, Crontab für die Planung, XLD für die Erstellung von m4a und MP4Box für das Multiplexing. Es ist ziemlich flexibel, erfordert aber Kenntnisse in Bash-Skripten (vielleicht auch in Apple-Skripten). Ich habe meine Inspiration in Diego Massantis mkmp4-Skript gefunden.
Kernprozesse zu starten:
Aufnahme planen:
Sie können sich ein Bild davon machen, was das Skript tut: 3-Stunden-Aufnahme, Mono-Sound, jeden Arbeitstag um 8 Uhr morgens
Ich habe SOX für MPEG-Audiostreams weder aktiviert noch kompiliert und daher FLAC verwendet, um Platz zu sparen. Ich verwende XLD, um es in AAC-HE 16 kbps zu konvertieren, was für Sprache ausreicht.
Nächster Schritt: Multiplexen von Audio und Video zum Erstellen von MP4. Wenn es Ihnen nichts ausmacht, die grafische Benutzeroberfläche zu verwenden, ist MPEG StreamClip (oder QuickTime) ebenfalls eine gute Wahl.
Ich benutze dies täglich, um ein Archiv von GoToWebinar zu erstellen, aber wenn die nächste Version von FFmpeg den G2M4-Codec unterstützt, werde ich mich nicht mehr darum kümmern. Ja, es gibt auch OSAscript zum Starten des Webinars, bei dem auch das Flag com.apple.quarantine entfernt werden musste, um die Warnung zu deaktivieren (Möchten Sie es wirklich öffnen?).
Links:
http://blog.massanti.com/2008/09/26/mkmp4-automated-h264-aacplus-encoder-script-mac-linux/
quelle
Sie können die Software ffmpeg verwenden. Befolgen Sie die Anweisungen hier, um es auf einem Mac zu installieren . Verwenden Sie dann den Befehl:
quelle
Für die Bildschirmaufnahme gibt es mehrere Open Source-Tools. Sie sollten "Screen Capture" mit einem Paketmanager unter Linux suchen. Tools wie
scrot
können in einem Skript aufgerufen werden. Wenn Sie dies programmgesteuert planen, gibt es in Imlib2 die erforderlichen Einstiegspunkte.Das Aufnehmen von Ton ist wirklich eine Aufnahme für ein Mikrofon-Audiogerät. Es ist nicht wirklich ein Schnappschuss und Sie sollten festlegen, wie lange die Aufnahme dauern soll. Jeder Soundrekorder reicht aus.
Es gibt auch Tools, mit denen Sie ein Video von Ihrem Desktop erstellen können.
quelle
Das Speichern des Inhalts des Linux-Framebuffer-Geräts in einer Datei ähnelt möglicherweise dem, wonach Sie suchen. Im Folgenden habe ich den relevanten Teil des Linux 2.2 Framebuffer Device Programming Tutorial zitiert . Sie müssen Ihr System so konfigurieren, dass das Framebuffer-Gerät aktiviert wird (überprüfen Sie, ob Sie / dev / fb0 auf Ihrem System haben). Ich habe es nicht auf meinem Ubuntu 9.04.
quelle
Sie können den Import von ImageMagick verwenden, aber es ist nur Linux. Dann könnten Sie zu einem Terminal gehen und ausführen:
quelle
Ich verwende Snow Leopard auch auf einem alternden Macbook. Da ich versuche, Ziel C zu lernen, verbringe ich einige Zeit damit, ein Tool zu erstellen, mit dem bestimmte Fenster erfasst werden können.
https://github.com/vorgos/QuickGrab
Es ist ein Befehlszeilenprogramm, das das oberste aktivste Fenster oder ein von Ihnen angegebenes Fenster erfasst.
Hoffe das hat geholfen.
quelle