n秒ごとにスクリーンショットを撮る方法は?


16

設定した間隔でスクリーンショットを撮るためにどのソフトウェアを使用できますか?2秒ごとにスクリーンショットを撮りたいです。コマンドラインとGUIはどちらも大丈夫です。

各スクリーンショットのサイズ変更と圧縮もできるソフトウェアが好きです。


2
頑張ってスパイ。
オレPrypin

回答:


19

これをインストールscrotして実行します:

while true; do scrot & sleep 2; done

scrotの実行に2秒+時間かかりますか?
セッポErviälä

1
これは、私のシステムで2,5秒ごとにスクリーンショットを撮るようです。もっと正確にしたいのですが。
セッポErviälä

7
@Seppo:を使用しますwhile true; do scrot & sleep 2; done。バックグラウンドscrot(scrotを実行しますが、scrotが完了するまでブロックしません)
-Lekensteyn

2
Lekensteynに感謝します、私はそれに基づいて私の答えを編集しました。数ミリ秒で違いが生じるとは思っていませんでしたが、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)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.