You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10下Ultralytics YOLOv5无法打开RTSP流问题求助

YOLOv5 detect.py无法打开RTSP流排查与解决

问题描述

Windows10系统下搭建Python3.9环境,安装YOLOv5的requirements.txt后,可通过--source 0调用本地摄像头完成推理,但无法打开VLC可正常播放的RTSP流。报错指向utils/datasets.py第309行:OpenCV无法初始化VideoCapture。

已尝试以下操作但未解决:

  • 指定FFMPEG后端:cap = cv2.VideoCapture(rtsp_path, cv2.CAP_FFMPEG)
  • 预设置UDP传输环境变量:os.environ["OPENCV_FFMPEG_CAPTURE_OPTIONS"] = "rtsp_transport;udp"

怀疑是环境兼容性问题,寻求解决方案。

环境详情

Conda依赖配置

channels:
  - pytorch
  - defaults
dependencies:
  - blas=1.0=mkl
  - ca-certificates=2021.10.26=haa95532_2
  - certifi=2021.10.8=py39haa95532_0
  - cudatoolkit=10.2.89=h74a9793_1
  - freetype=2.10.4=hd328e21_0
  - intel-openmp=2021.4.0=haa95532_3556
  - jpeg=9b=hb83a4c4_2
  - libpng=1.6.37=h2a8f88b_0
  - libtiff=4.2.0=hd0e1b90_0
  - libuv=1.40.0=he774522_0
  - libwebp=1.2.0=h2bbff1b_0
  - lz4-c=1.9.3=h2bbff1b_1
  - mkl=2021.4.0=haa95532_640
  - mkl-service=2.4.0=py39h2bbff1b_0
  - mkl_fft=1.3.1=py39h277e83a_0
  - mkl_random=1.2.2=py39hf11a4ad_0
  - ninja=1.10.2=py39h559b2a2_3
  - numpy=1.21.2=py39hfca59bb_0
  - numpy-base=1.21.2=py39h0829f74_0
  - olefile=0.46=pyhd3eb1b0_0
  - openssl=1.1.1l=h2bbff1b_0
  - pillow=8.4.0=py39hd45dc43_0
  - pip=21.2.4=py39haa95532_0
  - python=3.9.7=h6244533_1
  - pytorch=1.9.0=py3.9_cuda10.2_cudnn7_0
  - pytorch-mutex=1.0=cuda
  - setuptools=58.0.4=py39haa95532_0
  - six=1.16.0=pyhd3eb1b0_0
  - sqlite=3.37.0=h2bbff1b_0
  - tk=8.6.11=h2bbff1b_0
  - torchaudio=0.9.0=py39
  - torchvision=0.10.0=py39_cu102
  - typing_extensions=3.10.0.2=pyh06a4308_0
  - tzdata=2021e=hda174b7_0
  - vc=14.2=h21ff451_1
  - vs2015_runtime=14.27.29016=h5e58377_2
  - wheel=0.37.1=pyhd3eb1b0_0
  - wincertstore=0.2=py39haa95532_2
  - xz=5.2.5=h62dcd97_0
  - zlib=1.2.11=h8cc25b3_4
  - zstd=1.4.9=h19a0ad4_0

Pip安装包列表

absl-py==1.0.0
cachetools==4.2.4
charset-normalizer==2.0.10
colorama==0.4.4
cycler==0.11.0
fonttools==4.28.5
google-auth==2.3.3
google-auth-oauthlib==0.4.6
grpcio==1.43.0
idna==3.3
importlib-metadata==4.10.0
kiwisolver==1.3.2
markdown==3.3.6
matplotlib==3.5.1
oauthlib==3.1.1
opencv-python==4.5.5.62
packaging==21.3
pandas==1.3.5
protobuf==3.19.3
pyasn1==0.4.8
pyasn1-modules==0.2.8
pyparsing==3.0.6
python-dateutil==2.8.2
pytz==2021.3
pyyaml==6.0
requests==2.27.1
requests-oauthlib==1.3.0
rsa==4.8
scipy==1.7.3
seaborn==0.11.2
tensorboard==2.7.0
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.1
thop==0.0.31-2005241907
tqdm==4.62.3
urllib3==1.26.8
werkzeug==2.0.2
zipp==3.7.0

OpenCV编译信息

版本控制:               4.5.5

平台:
  时间戳:                   2021-12-28T06:21:01Z
  主机:                        Windows 10.0.17763 AMD64
  CMake:                       3.22.1
  CMake生成器:             Visual Studio 14 2015
  CMake构建工具:            MSBuild.exe
  MSVC:                        1900
  配置:               Debug Release

CPU/HW特性:
  基线:                    SSE SSE2 SSE3
    请求:                 SSE3
  分发代码生成:  SSE4_1 SSE4_2 FP16 AVX AVX2
    请求:                 SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
    SSE4_1 (16个文件):         + SSSE3 SSE4_1
    SSE4_2 (1个文件):          + SSSE3 SSE4_1 POPCNT SSE4_2
    FP16 (0个文件):            + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
    AVX (4个文件):             + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
    AVX2 (31个文件):           + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2

C/C++:
  构建为动态库?:      NO
  C++标准:                11
  C++编译器:                C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe  (版本 19.0.24245.0)
  C++编译选项(Release):         /DWIN32 /D_WINDOWS /W4 /GR  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi  /fp:precise     /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /MP  /MT /O2 /Ob2 /DNDEBUG
  C++编译选项(Debug):           /DWIN32 /D_WINDOWS /W4 /GR  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi  /fp:precise     /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /MP  /MTd /Zi /Ob0 /Od /RTC1
  C编译器:                  C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/x86_amd64/cl.exe
  C编译选项(Release):           /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi  /fp:precise     /MP   /MT /O2 /Ob2 /DNDEBUG
  C编译选项(Debug):             /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi  /fp:precise     /MP /MTd /Zi /Ob0 /Od /RTC1
  链接器选项(Release):      /machine:x64  /NODEFAULTLIB:atlthunk.lib /INCREMENTAL:NO  /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:libcpmtd.lib /NODEFAULTLIB:msvcrtd.lib
  链接器选项(Debug):        /machine:x64  /NODEFAULTLIB:atlthunk.lib /debug /INCREMENTAL  /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libcpmt.lib /NODEFAULTLIB:msvcrt.lib
  ccache:                      NO
  预编译头:         YES
  额外依赖:          wsock32 comctl32 gdi32 ole32 setupapi ws2_32
  第三方依赖:       libprotobuf ade ittnotify libjpeg-turbo libwebp libpng libtiff libopenjp2 IlmImf zlib quirc ippiw ippicv

OpenCV模块:
  待构建:                 calib3d core dnn features2d flann gapi highgui imgcodecs imgproc ml objdetect photo python3 stitching video videoio
  已禁用:                    world
  因依赖禁用:      -
  不可用:                 java python2 ts
  应用:                -
  文档:               NO
  非免费算法:         NO

Windows RT支持:            NO

GUI:                           WIN32UI
  Win32 UI:                    YES
  VTK支持:                 NO

媒体I/O:
  ZLib:                        构建版本(1.2.11)
  JPEG:                        构建-libjpeg-turbo(2.1.2-62)
  WEBP:                        构建版本(编码器: 0x020f)
  PNG:                         构建版本(1.6.37)
  TIFF:                        构建版本(42 - 4.2.0)
  JPEG 2000:                   构建版本(2.4.0)
  OpenEXR:                     构建版本(2.3.0)
  HDR:                         YES
  SUNRASTER:                   YES
  PXM:                         YES
  PFM:                         YES

视频I/O:
  DC1394:                      NO
  FFMPEG:                      YES(预编译二进制文件)
    avcodec:                   YES(58.134.100)
    avformat:                  YES(58.76.100)
    avutil:                    YES(56.70.100)
    swscale:                   YES(5.9.100)
    avresample:                YES(4.0.0)
  GStreamer:                   NO
  DirectShow:                  YES
  Media Foundation:            YES
    DXVA:                      YES

并行框架:            Concurrency

追踪:                         YES(基于Intel ITT)

其他第三方库:
  Intel IPP:                   2020.0.0 Gold [2020.0.0]
         路径:                   D:/a/opencv-python/opencv-python/_skbuild/win-amd64-3.6/cmake-build/3rdparty/ippicv/ippicv_win/icv
  Intel IPP IW:                源码(2020.0.0)
            路径:                D:/a/opencv-python/opencv-python/_skbuild/win-amd64-3.6/cmake-build/3rdparty/ippicv/ippicv_win/iw
  Lapack:                      NO
  Eigen:                       NO
  自定义HAL:                  NO
  Protobuf:                    构建版本(3.19.1)

OpenCL:                        YES(NVD3D11)
  包含路径:                D:/a/opencv-python/opencv-python/opencv/3rdparty/include/opencl/1.2
  链接库:              动态加载

Python 3:
  解释器:                 C:/hostedtoolcache/windows/Python/3.6.8/x64/python.exe(版本3.6.8)
  库:                   C:/hostedtoolcache/windows/Python/3.6.8/x64/libs/python36.lib(版本3.6.8)
  numpy:                       C:/hostedtoolcache/windows/Python/3.6.8/x64/lib/site-packages/numpy/core/include(版本1.13.3)
  安装路径:                python/cv2/python-3

构建用Python:            C:/hostedtoolcache/windows/Python/2.7.18/x64/python.exe

Java:
  ant:                         NO
  JNI:                         C:/hostedtoolcache/windows/Java_Temurin-Hotspot_jdk/8.0.312-7/x64/include C:/hostedtoolcache/windows/Java_Temurin-Hotspot_jdk/8.0.312-7/x64/include/win32 C:/hostedtoolcache/windows/Java_Temurin-Hotspot_jdk/8.0.312-7/x64/include
  Java包装器:               NO
  Java测试:                  NO

安装路径:                    D:/a/opencv-python/opencv-python/_skbuild/win-amd64-3.6/cmake-install

解决建议

  1. 降级OpenCV版本:当前opencv-python==4.5.5.62在Windows环境下对RTSP的支持存在兼容性问题,建议降级到4.5.4.60,执行命令:

    pip install opencv-python==4.5.4.60 --force-reinstall
    
  2. 强制使用TCP传输:部分设备/服务器对UDP支持不佳,修改传输协议为TCP:

    os.environ["OPENCV_FFMPEG_CAPTURE_OPTIONS"] = "rtsp_transport;tcp"
    cap = cv2.VideoCapture(rtsp_path, cv2.CAP_FFMPEG)
    

    或显式设置参数:

    cap = cv2.VideoCapture(rtsp_path, cv2.CAP_FFMPEG)
    cap.set(cv2.CAP_PROP_RTSP_TRANSPORT, cv2.CAP_RTSP_TRANSPORT_TCP)
    
  3. 校验RTSP URL格式:确保地址完整,包含必要的用户名、密码,格式示例:rtsp://admin:123456@192.168.1.100:554/main,部分设备需指定具体流路径。

  4. 更换为opencv-contrib-python:安装包含额外模块的OpenCV版本,修复部分底层兼容问题:

    pip uninstall opencv-python
    pip install opencv-contrib-python==4.5.4.60
    
  5. 指定系统FFmpeg路径:若本地安装了独立FFmpeg,添加其路径到环境变量,确保OpenCV调用正确的库:

    import os
相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 23:40:19