[OpenCV]fpsを指定して、Webカメラの映像をMP4で保存する方法について

  • 2022.08.28
  • IT
[OpenCV]fpsを指定して、Webカメラの映像をMP4で保存する方法について

ネットには、Open CVとWeb USBカメラを使って、MP4ファイルに録画するという記事がいくつかあります。

ただ、どれもfps値はカメラの特有のfps値を使うものでした。

私は、1秒に1回おきに映像を撮り、それをMP4ファイルに保存したかったので、そのコードを書きました。

利用環境

利用環境は、M1 Macですが、Intelでもいけるはずです。

 

コード

pythonで記述しました。

 

使い方

引数

fpsとcamera_numを指定して使います。

fpsは、数値が大きくなるほど、コマ数が増えます。(カメラの性能を超えた値の場合、カメラの最大FPSで撮影されます)

また、0,001以下にするとエラーが起こります。(0.1で10秒に1回撮影します)

停止方法

OpenCVで生成されたWindowをクリックして、ESCキーを押すと録画が終了します。

補足

Windowのサイズは、適当に設定してあります。お好きな値でお使いください。

まとめ

time.sleepを使うとキー入力を受け付けないので、このような実装となりました。

もっと良い方法がある方は、ご教授いただければと思います。