|
import cv2
import datetime
# 設定影片參數
output_filename = 'webcam_output.mp4'
fps = 30.0
frame_width = 640
frame_height = 480
# 初始化攝影機 (0 表示預設攝影機)
cap = cv2.VideoCapture(0)
# 檢查攝影機是否成功開啟
if not cap.isOpened():
print("無法開啟攝影機")
exit()
# 設定攝影機解析度
cap.set(cv2.CAP_PROP_FRAME_WIDTH, frame_width)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, frame_height)
# 建立 VideoWriter 物件 (使用 MP4V 編碼)
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter(output_filename, fourcc, fps, (frame_width, frame_height))
print(f"開始錄製... (將儲存為 {output_filename})")
print("按 'q' 鍵停止錄製")
start_time = datetime.datetime.now()
while True:
# 讀取攝影機畫面
ret, frame = cap.read()
if not ret:
print("無法取得畫面")
break
# 在畫面上顯示錄製時間
current_time = datetime.datetime.now() - start_time
cv2.putText(frame, f"Recording: {str(current_time).split('.')[0]}", (10, 30),
cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 0, 255), 2)
# 寫入影片檔案
out.write(frame)
# 顯示畫面
cv2.imshow('Webcam Recording', frame)
# 按 q 鍵結束
if cv2.waitKey(1) == ord('q'):
break
# 釋放資源
cap.release()
out.release()
cv2.destroyAllWindows()
print(f"錄製完成!影片已儲存為 {output_filename}")
print(f"總錄製時間: {str(datetime.datetime.now() - start_time).split('.')[0]}")
|
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?立即註冊
x
|