web-dev-qa-db-fra.com

OpenCV 3.1 compilé avec FFMPEG, mais ne pas ouvrir les URL https

Je travaille sur un système 16.04 et ai installé avec succès openCV 3.1 avec les drapeaux FFMPEG activés. J'ai vérifié deux fois que cv2.getBuildInformation () était effectivement le cas et j'ai obtenu FFMPEG = YES.

J'essaie d'ouvrir une vidéo hébergée sur un serveur privé par mon lieu de travail (je suis connecté au VPN, au cas où ce soit un problème) et je pourrais accéder à cette vidéo via le navigateur. Mais la capture vidéo avec cv2 échoue.

>>> cap = cv2.VideoCapture("https://xxx.mp4", cv2.CAP_ANY) #dummy url
>>> cap
<VideoCapture 0x7f63300fa4b0>
>>> cap.isOpened()
False

C'est toujours le cas pour les URL https. Il semble être capable de travailler avec des vidéos locales très bien. J'ai essayé un tas de choses différentes: initialement pensé que c'était un problème de gstreamer, j'ai donc vérifié mes plugins et quelques versions gst-bad (ref: https://github.com/GStreamer/gst-plugins-ugly) ), supprimé ceux-ci et remplacés par de bonnes versions, pas de joie. Nous avons également essayé d'indiquer explicitement à videoCapture d'utiliser les drapeaux cv2.CAP_ANY et cv2.CAP_FFMPEG lors de la lecture de la vidéo, toujours pas de chance.

J'ai désactivé le drapeau Gstreamer lors de la compilation d'opencv, mais même avec le réglage ON, il n'y avait aucune différence dans mon problème.

Je n'ai pas été capable de trouver une solution à ce problème et je cherche et j'essaie différentes choses depuis des jours! Des idées?

1
stalagmite7

Finalement, j'ai renoncé à essayer d'installer et de réinstaller opencv3.1 et je suis passé à opencv 3.4.1. Avec cela, et avec ma configuration actuelle (en tant que question initiale) pour gstreamer et ffmpeg, il me suffisait de créer des liens symboliques pour libopencv_core.so.2.4 que gstreamer recherchait, et le reste fonctionnait bien. J'espère que cela aide quelqu'un! Je n'ai pas réussi à comprendre quel était exactement le problème avec opencv3.1 (comme je l'ai mentionné, c'est la configuration de mes collègues et la fonctionnalité leur convient parfaitement), mais c'est ce que j'ai fini par faire après avoir dépensé jours sur la question.

1
stalagmite7