前回は、Raspberry Pi に接続したカメラを使って、Pythonで「写真(静止画」を取る方法でしたが、今回は動画です。
前回同様、何も難しいことはしていません。
接続したカメラを操作するインスタンスを生成、動画撮影を開始、10秒後に撮影を終了するだけです。
動画エンコードはライブラリの中でやってくれているようですので、難しいことはほとんどありません。
なお、「picamera.Picamera()」の反応がない場合、カメラを接続するケーブルの接触不良が考えられます。リボンについているだけのカメラなので、つい動かしてしまいますが、それにより、ケーブルが微妙に外れることがあるようです。
Pythonプログラミング
今回の仕様は、約10秒の動画を、カレントディレクトリの「caputure_video」フォルダに、「撮影開始時間.h264」ファイルとして保存する、です。
ソースコードを少し修正しました。
録画が終わったのち、PiCameraインスタンスに対してcloseするようにしてあります。
# -*- coding: utf-8 -*- # 日本語コメントをエラーとしないように、UTF-8で保存 # 使用するライブラリのインポート import os import picamera import datetime from time import sleep # 定数 CAPTURE_DIR = 'capture_video' # 撮像動画を格納するフォルダ # 継承した場合など、実行されないようにする(現状、意味は特にない) if __name__ == "__main__": # 撮影した動画を格納するフォルダを作成(存在しない場合) if os.path.exists(CAPTURE_DIR) == False : os.mkdir(CAPTURE_DIR) # PiCameraインスタンスを生成 with picamera.PiCamera() as camera: # ファイル名は、「年月日時分秒.h264」とする now = datetime.datetime.now() camera.start_recording(f'{CAPTURE_DIR}/{now.strftime("%Y%m%d_%H%M%S")}.h264') # 10秒録画する camera.wait_recording(10) # 録画終了 camera.stop_recording() print('finished')