OpenCV-laden-video aus dem url -

Ich habe eine video-Datei (D. H. https://www.example.com/myvideo.mp4), und laden Sie es mit OpenCV.

Tun, das äquivalent mit einem Bild ist ziemlich trivial:

imgReq = requests.get("https://www.example.com/myimage.jpg")
imageBytes = np.asarray(bytearray(data), dtype=np.uint8)
loadedImage = cv2.imdecode(image, cv2.IMREAD_COLOR)

Ich würde gerne etwas tun, ähnlich der folgenden (wobei loadedVideo ähnlich sein wird, was OpenCV Erträge aus cv2.VideoCapture):

videoReq = requests.get("https://www.example.com/myimage.mp4")
videoBytes = np.asarray(bytearray(data), dtype=np.uint8)
loadedVideo = cv2.videodecode(image, cv2.IMREAD_COLOR)

Aber cv2.videodecode existiert nicht. Irgendwelche Ideen?


Edit: zu Sehen, da es sich hierbei um eine Sackgasse mit nur OpenCV, ich bin offen für Lösungen, kombinieren andere imaging-Bibliotheken vor dem laden in OpenCV...wenn eine solche Lösung existiert.

  • wenn Sie laden Sie das video auf Ihrer Festplatte, und versuchen Sie Videoergreifung es, funktioniert es?
  • Ja wäre es, aber ich kann mir nicht vorstellen, dass das die effizienteste Methode, da es führt die disk-IO in das problem, anstatt halten alles im Speicher. Ich bin auf der Suche nach der geringst mögliche Wartezeit hier.
  • Nein, es war nur ein test, um zu reduzieren Fehlerquellen (wie mossing codecs)
  • Wollen Sie halten das gesamte video im Speicher, oder willst du es als video-streaming?
  • Ich möchte halten Sie die gesamte video im Speicher ist.
  • OpenCV unterstützt derzeit keine Dekodierung video aus dem Speicher. Wenn Sie basteln kann mit source-code, dann finden Sie unter die Antwort.

InformationsquelleAutor abagshaw | 2018-05-05
Schreibe einen Kommentar