Pythonで簡易デスクトップキャプチャ

専門
スポンサードリンク

* 学校の後輩向け。OpenCV触るらしいし…

ちょっとした画面のキャプチャをしたいときはありませんか?

無料ソフトを使うと、時間制限やロゴ挿入などといった制約があるものも多いです。なら、自分で作ってしまえばいいじゃないか!(迫真)

これは本当に簡易的なものなので、実際に使うのは難しいかもしれません。(コマンドラインでの起動が必須ですから。)しかし、プログラミングしてる感に浸りたい人にはいいんじゃないか(要するに後輩達)と思ったので、載せておきます。


改善点

  • Ctrl+Cで終了するので、コマンドラインでの起動が必要となる。GUI化、OpenCVのwaitKey()によるキー判定等で対策
  • ImageGrab.grab()は引数でキャプチャ範囲指定ができるので、任意で設定できるようにする
  • PillowライブラリのImageGrabはWindows及びMac専用なので、Linuxにも対応させる
  • 開発環境下では20FPS程であったので、それ以上を求める場合、C++等のネイティブコードに移植
  • pyinstaller等でexe化するときにOpenCVライブラリが原因で肥大化するので、画像生成と動画生成を分割し、動画生成はffmpeg等で行う
  • 動画の拡張子、出力ファイル名の指定をできるようにする

(画像データをバイト列に変換してSocket通信を行えば、PC間での画面共有等に応用できるのではないか。また、Raspberry Piを介してアドホック通信をすれば、無線通信環境のない学校でも実現可能である。興味を持ったら、挑戦してみて。よろしく。)

投稿者:88IO

コメント

タイトルとURLをコピーしました