3

私のプロジェクトでは、ストリーミング ビデオを保存したいと考えています。

import cv2;
if __name__ == "__main__":
     camera =  cv2.VideoCapture(0);
     while True:
          f,img = camera.read();
          cv2.imshow("webcam",img);
          if (cv2.waitKey (5) != -1):
                break;

` 上記のコードを使用すると、Web カメラからビデオをストリーミングできます。このストリーミング ビデオをファイルに書き込む方法は?

4

3 に答える 3

1

フレームを圧縮するために PC に提供されているコーデックを本当に使用したい場合。

  1. cv2.VideoWriter([filename, fourcc, fps, frameSize[, isColor]])フラグ値 = を使用しての 2 番目のパラメーターを設定する必要があります-1。これにより、PC で使用されているコーデック圧縮のリストを確認できます。
  2. 私の場合、インテルが提供するコーデックは IYUV または I420 という名前です。他のメーカーはわかりません。fourcc ウェブページ.
  3. この情報を次のように設定します

    fourcc = cv2.cv.CV_FOURCC('I','Y','U','V')
    # or
    fourcc = cv2.cv.CV_FOURCC('I','4','2','0')
    # settting all the information
    out = cv2.VideoWriter('output1.avi',fourcc, 20, (640,480))
    
  4. 大きな頭痛の種となった 2 つの小さなパラメーターを思い出してください。
    • cv2.cv プレフィックスを忘れないでください
    • 正しいフレームサイズを紹介

他のすべてについては、Ekalic が提供するコードを使用できます。

于 2014-11-14T04:38:43.470 に答える