2016-11-28 21 views
0

私はrubikのキューブタイマーの始まりである短いスクリプトを作ったが、録画したビデオを再生すると非常にスピードアップする。Python OpenCVビデオ録画早送り

私のウェブカメラは'Creative Labs Live! Cam Chat HD'で、解像度は1280×720ピクセルです。その解像度の再生でスクリプトエンコードを試してみると、30fpsのフレームレートになります。

以下は、効果を示す動画のコードとリンクです。

from time import clock as t 
import time 
import cv2 
import numpy as np 
cap = cv2.VideoCapture(0) 
fourcc = cv2.VideoWriter_fourcc(*"XVID") 
out = cv2.VideoWriter("output.avi", fourcc, 30.0, (640, 480)) 
timing = False 

while True: 
    ret, frame = cap.read() 
    #frame = cv2.flip(frame, 1) 
    cv2.imshow("frame", frame) 

    if timing: 
     out.write(frame) 

    if cv2.waitKey(1) & 0xFF == ord(" "): 
     if timing: 
      after = t() 
      break 
     else: 
      timing = True 
      start = t() 

cap.release() 
out.release() 
cv2.destroyAllWindows() 

print(after - start) 

Example of the accelerated video.

+0

のためのFPS = cap.getよう

検索フレームレート(cv2.CAP_PROP_FPS)、変更はおそらく20に30のFPSをハードコーディングし、私たちに、私はそれを試してみました結果 – Aleksandar

答えて

0

あなたは30fpsで出力を書いている、とあなたのウェブカメラは、おそらく30fpsで記録していません。それはあなたのビデオが速い理由です。適切なfpsを見つけて、出力が正常になります。 OpenCVの開始のために> = 3

+0

を伝えるが、それはうまくいきませんでした私のウェブカメラは実際に30fpsで動作しているからです。それは私の最初の考えでした。 –

関連する問題