Як робити знімок екрана кожні п ять секунд?


16

Яке програмне забезпечення я можу використовувати, щоб робити знімки екрана з встановленим інтервалом? Я хотів би робити знімки екрана кожні 2 секунди або близько того. Командний рядок та GUI - це нормально.

Я вважаю за краще програмне забезпечення, яке також може змінювати розмір і стискати кожен скріншот.


2
Удачі шпигуни.
Олег Припін

Відповіді:


20

Встановіть scrotта запустіть це:

while true; do scrot & sleep 2; done

Хіба це не знадобиться 2 секунди + час, щоб скрот запустився?
Seppo Erviälä

1
Здається, це робить знімок екрана кожні 2,5 секунди в моїй системі. Мені б хотілося чогось більш точного.
Seppo Erviälä

7
@Seppo: використовувати while true; do scrot & sleep 2; done. Він буде фоновим scrot(він запускає scrot, але не блокується, поки scrot не буде виконано)
Lekensteyn

2
Спасибі Лекенштейн, я відредагував свою відповідь на основі цього. Я не думав, що кілька мілісекунд зміняться, але це займає 1/2, а на повільнішому диску це займе ще довше. Тут є ризик, що на дуже повільному диску з належним 2-секундним проміжком він буде постійно записуватись на диск або ще гірше, він заповнить усі буфери до тих пір, поки система не зупиниться. @Seppo переконайтеся, що все, що ви робите, має достатньо часу для запису на диск.
Олі


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

1
Для цього вам потрібно буде встановити imagemagick. Ви можете додати до сценарію команду сну, щоб зробити знімок екрана кожні 2 секунди, як задається питанням.
Хав'єр Рівера

1

Відповідно до редакції вашого питання:

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)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.