使用pyinstaller将脚本转换为独立可执行文件时,捕获RTSP流失败

时间:2017-11-24 14:17:29

标签: python pyinstaller rtsp opencv3.0

代码:

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. 使用opencv的VideoCapture时遇到了同样的问题[cap.isOpened()返回False]
  2. 在两种情况下从网络摄像头捕获独立可执行文件时工作正常,即cv2.VideoCapture(0)或VideoStream(src = 0).start()
  3. 当脚本在python中运行时,rtsp流捕获在两种情况下都能正常工作,即不将其转换为独立的可执行文件。
  4. rtsp流在VLC播放器上测试并正常工作。
  5. 我正在使用Python 3.6.2 | OpenCV 3.2.0 |视窗
  6. 这可能是由于RTSP链接的utf-8等编码问题造成的吗?还有其他选择吗?

    已解决:我的可执行文件旁边包含opencv_ffmpeg320_64.dll。

1 个答案:

答案 0 :(得分:2)

我的可执行文件旁边包含opencv_ffmpeg320_64.dll。 或者,将该DLL文件复制到python目录中的DLLs文件夹