Raspberry Pi Pithon でカメラを操作2

前回は、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')