私は、python用のrapsberry pi camera libを使用してビデオを録画するプログラムを作っています。小さな問題が1つあります。実行時にcamera = picamera.PiCamera()
カメラが有効になり、私がしたいのは、録音時にのみ有効にして、録音が終了してもプログラムをアクティブにしておくことです。pythonのグローバル変数、初期化と終了
必要なもの: picamera
のグローバル変数を作成するにはどうすればいいですか?あなたは、変数を取り除くためにdel
キーワードを使用する必要がありますタイトルの溶液が、picamera
ライブラリーをお探しの方のためのコードの
camera = picamera.PiCamera()
camera.resolution = (1920, 1080)
filename = ""
#Start recording video into raw file
def start_record():
print("Starting recording");
reset_tmp()
global filename
filename = "vid/" + str(int(time.time()));
camera.start_recording(filename+".h264");
#Stop recording and convert h264 raw file to mp4 and remove raw file
def stop_record():
print("Stopping recording");
reset_tmp()
global filename
camera.stop_recording()
os.system("MP4Box -fps 30 -add "+filename+".h264"+" "+filename+".mp4");
os.system("rm "+filename+".h264");
更新バージョン、機能 ました:
関連性の私のコードの一部
camera = None
filename = ""
#Start recording video into raw file
def start_record():
print("Starting recording");
reset_tmp()
global filename
filename = "vid/" + str(int(time.time()));
global camera
camera = picamera.PiCamera()
camera.resolution = (1920, 1080)
camera.start_recording(filename+".h264");
#Stop recording and convert h264 raw file to mp4 and remove raw file
def stop_record():
print("Stopping recording");
reset_tmp()
global filename
global camera
camera.stop_recording()
camera.close()
os.system("MP4Box -fps 30 -add "+filename+".h264"+" "+filename+".mp4");
os.system("rm "+filename+".h264");
を機能START_RECORD内の記録を開始する行を置きます。 – dbliss
他の関数の中で同じ変数にアクセスする必要があるため、それは機能しません。 – Iceberg
関数の仕組みやそれらの間のパラメータの受け渡し方法を調べることをお勧めします。 – Chris