Как делать снимок экрана каждую n секунду?


16

Какое программное обеспечение можно использовать для создания снимков экрана с заданным интервалом? Я хотел бы делать скриншоты каждые 2 секунды или около того. Командная строка и графический интерфейс в порядке.

Я бы предпочел программное обеспечение, которое также может изменять размер и сжимать каждый скриншот.


2
Удачи в шпионаже.
Олег Припин

Ответы:


19

Установите scrotи запустите это:

while true; do scrot & sleep 2; done

разве это не заняло бы 2 секунды + время, которое бегает мошенник?
Сеппо Эрвиаля

1
Кажется, это делает снимок экрана каждые 2,5 секунды в моей системе. Я хотел бы что-то более точное.
Сеппо Эрвяля

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

2
Спасибо Лекенштейн, я отредактировал свой ответ, основываясь на этом. Я не думал, что несколько миллисекунд будут иметь значение, но это займет 1/2 и займет еще больше времени на более медленном диске. Здесь есть риск, что на очень медленном диске с надлежащим 2-секундным промежутком он будет постоянно записывать на диск или, что еще хуже, заполнит все буферы, пока система не остановится. @ Сеппо, убедитесь, что у вас достаточно времени для записи на диск.
Оли


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.