La captura de la secuencia RTSP falla cuando la secuencia de comandos se convierte en un ejecutable independiente utilizando pyinstaller

Código:

from imutils.video import VideoStream import cv2 # Read rtsp stream rtsp = u"rtsp://admin:admin@10.64.1.31:554/1/h264major" #vs = VideoStream(src=0).start() # for capturing from webcam vs = VideoStream(src=rtsp).start() while True: frame = vs.read() # show the output frame cv2.imshow("Frame", frame) key = cv2.waitKey(1) & 0xFF # if the `q` key was pressed, break from the loop if key == ord("q"): break # do a bit of cleanup cv2.destroyAllWindows() vs.stop() 
  1. He enfrentado el mismo problema al usar la captura de video de opencv [cap.isOpened () devuelve False]
  2. El ejecutable independiente funciona bien cuando se captura desde una cámara web en ambos casos, es decir, cv2.VideoCapture (0) o VideoStream (src = 0) .start ()
  3. La captura del flujo rtsp funciona bien en ambos casos cuando el script se ejecuta en python, es decir, sin convertirlo en un ejecutable independiente.
  4. La transmisión rtsp se probó en el reproductor VLC y funciona bien.
  5. Estoy usando Python 3.6.2 | OpenCV 3.2.0 | Windows

¿Podría deberse a problemas de encoding de utf-8, etc. del enlace RTSP? ¿Alguna otra alternativa?

Resuelto : se incluye opencv_ffmpeg320_64.dll junto a mi ejecutable.

Se incluye opencv_ffmpeg320_64.dll junto a mi ejecutable. Alternativamente, copie ese archivo dll a la carpeta DLL en el directorio de Python