Délai d’attente OpenCV VideoCapture sur Open ou Constructor?

OpenCV a la classe VideoCapture pour charger des vidéos à partir de sources externes. J’ai une caméra réseau sur mon réseau à laquelle j’accède avec RTSP (en utilisant le plugin FFMPEG).

Le problème est que la méthode ouverte et le constructeur semblent bloquer l’ouverture du stream vidéo. Cela signifie que si le stream est en panne, le programme est bloqué là pour toujours.

Y at-il une sorte de capacité de délai d’attente? J’ai essayé de chercher dans le code source, mais au final, il appelle des fonctions FFMPEG externes, je crois, et je ne peux pas aller plus loin.

S’il n’y a pas de délai d’attente, existe-t-il une sorte de bibliothèque pour une méthode VideoCapture non bloquante pour RTSP ou HTTP?

Bien que cette question soit assez ancienne, je fournirai également des informations récapitulatives à d’autres personnes.

Il est possible de construire la dll pour ffmpeg pour opencv avec une bibliothèque d’encapsulation. Le problème Github fait référence au rapport de Peter avec un fichier d’encapsuleur (la ligne 198 indique un délai d’expiration pouvant être défini). (Désolé, je ne peux pas poster plus de liens). Tant que vous êtes à l’aise avec Make’ing, vous devriez être prêt (cette enveloppe est assez facile, c’est indiqué). Si vous recherchez le problème sur github, lisez le lien ci-dessus. Vous y trouverez plus d’informations sur le problème réel résolu.

Pour reconstruire OpenCV (python cv2) avec CMake: Example Visual Studio .