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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint es, dass
cv2.videocode
ist keine gültigeOpenCV API
entweder inOpenCV 2.x
oderOpenCV 3.x
.Unten ist ein Beispiel-code funktioniert es in
OpenCV 3
verwendetcv2.VideoCapture
Klasse.Können Sie diese Erste Schritte mit Videos tutorial für weitere Informationen.
Hoffe, dass dies helfen.
Wirst du gelesen haben, das video mit Videoergreifung. es gibt keinen anderen Weg um, dass für jetzt. es sei denn, Sie definieren es selbst.
erinnere mich an ein video aus einer Kombination von Bildern zu einem Wechsel an den vorgegebenen frame-rate.
So Sie Lesen können, wird jeder frame in einer while-Schleife. das imdecode Funktion.