Wie mache ich alle n Sekunden einen Screenshot?


16

Mit welcher Software kann ich Screenshots mit einem festgelegten Intervall aufnehmen? Ich möchte ungefähr alle 2 Sekunden Screenshots machen. Kommandozeile und GUI sind beide in Ordnung.

Ich würde eine Software bevorzugen, die auch die Größe jedes Screenshots ändern und komprimieren kann.


2
Viel Glück beim Ausspähen.
Oleh Prypin

Antworten:


19

Installiere scrotund führe dies aus:

while true; do scrot & sleep 2; done

Wäre das nicht 2 Sekunden + Zeit, die der Scrot benötigt, um zu laufen?
Seppo Erviälä

1
Dies scheint auf meinem System alle 2,5 Sekunden einen Screenshot zu machen. Ich hätte gerne etwas genaueres.
Seppo Erviälä

7
@Seppo: benutzen while true; do scrot & sleep 2; done. Es wird im Hintergrund ausgeführt scrot(es wird scrot ausgeführt, aber nicht blockiert, bis scrot abgeschlossen ist)
Lekensteyn

2
Danke Lekensteyn, ich habe meine Antwort daraufhin bearbeitet. Ich dachte nicht, dass ein paar Millisekunden einen Unterschied machen würden, aber es dauert 1/2 und würde auf einer langsameren Festplatte noch länger dauern. Hier besteht die Gefahr, dass auf einer sehr langsamen Festplatte mit einer angemessenen Lücke von 2 Sekunden ständig auf die Festplatte geschrieben wird oder, noch schlimmer, alle Puffer voll werden, bis das System zum Stillstand kommt. @Seppo Vergewissern Sie sich, dass alles, was Sie tun, genügend Zeit hat, um auf die Festplatte zu schreiben.
Oli

7
watch -n2 scrot

oder

while true; do scrot -d2; done

2
while true; do import -window root /path/to/where/you/want/to/save/`date`.png; done

1
Sie müssen imagemagick installieren, damit dies funktioniert. Sie können dem Skript einen Befehl für den Ruhezustand hinzufügen, damit der Screenshot alle 2 Sekunden erstellt wird, wie in der Frage angegeben.
Javier Rivera

1

Nach einer Bearbeitung Ihrer Frage:

import threading
    import os

    def capture(i):
        i += 1
        threading.Timer(2.0, capture, [i]).start()
        fill = str(i).zfill(5)
        os.system("scrot scrot-%s.jpg" % fill)
        os.system("streamer -o streamer-%s.jpeg -s 320x240 -j 100" % fill)

    capture(0)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.