2

私はOpencvで遊び始めています。Linux で opencv2 の python バインディングを使用しています。簡単なテスト プログラムを作成しましたが、無期限にハングするようです。

import cv2

weblink = "http://continuous-video-stream-here"
cv2.namedWindow("video")

vid = cv2.VideoCapture(weblink)
key = -1

while (key < 0):
    success, img = vid.read()
    cv2.imshow("video", img)

しかし、この出力でハングします:

(video:14388): GStreamer-CRITICAL **: gst_caps_unref: assertion `caps != NULL' failed

私もurllib2から読んでみました:

vid = cv2.VideoCapture(urllib2.urlopen(weblink).read())

しかし、それもうまくいきませんでした。

Opencv 2.4.2、ffmpeg-0.11.2 を使用しています

EDIT : ビデオ フィードは、realplayer を使用してブラウザで http 経由でビデオを表示します。

4

1 に答える 1

0

安全にコーディングして、メソッドの戻り値をテストします。

vid = cv2.VideoCapture(weblink)
if not vid:
    print("!!! Failed VideoCapture: invalid parameter!")

使用しているアドレスは、OpenCV でサポートされていない可能性があります。

メソッドが失敗する可能性がある場合は常に、同じプラクティスを使用する必要があります。

while (key < 0):
    success, img = vid.read()
    if not img:
        print("!!! Failed vid.read()")
        break

    cv2.imshow("video", img)
于 2012-09-25T17:57:04.193 に答える