我正在製作一個程序,讓我使用rapsberry pi相機庫爲python錄製視頻,這裏有一個小問題,當您運行camera = picamera.PiCamera()
時,相機已啓用並正在使用,直到結束的程序中,我想要做的只是在記錄時啓用它,在完成記錄時停止但仍然保持我的程序活動。Python中的全局變量,初始化和終止
我需要的是: 如何爲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");
更新的代碼版本,功能 爲那些尋找標題的解決方案,你必須使用del
關鍵字擺脫的變量,但picamera
圖書館一個名爲.close()
終止目標函數,這是我的固定代碼:
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