python - 使用 python 2.7.12 在 Ubuntu 16.04 服务器上进行视频流式传输期间发生错误
问题描述
我正在尝试在连续流中使用 OpenCV 运行 IP 摄像机流的 python 代码,但有时我不得不面对下面提到的错误
[hevc @ 0x2721ca0] The cu_qp_delta 118 is outside the valid range [-26, 25].
我正在使用带有 Ubuntu 16.04 和 python 2.7.12 的无头服务器
下面提到的是我在服务器中可用的 OpenCV 规范
dpkg -l | grep libopencv
ii libopencv-calib3d2.4v5:amd64 2.4.9.1+dfsg-1.5ubuntu1.1 amd64 computer vision Camera Calibration library
ii libopencv-contrib2.4v5:amd64 2.4.9.1+dfsg-1.5ubuntu1.1 amd64 computer vision contrib library
ii libopencv-core2.4v5:amd64 2.4.9.1+dfsg-1.5ubuntu1.1 amd64 computer vision core library
ii libopencv-features2d2.4v5:amd64 2.4.9.1+dfsg-1.5ubuntu1.1 amd64 computer vision Feature Detection and Descriptor Extraction library
ii libopencv-flann2.4v5:amd64 2.4.9.1+dfsg-1.5ubuntu1.1 amd64 computer vision Clustering and Search in Multi-Dimensional spaces library
ii libopencv-highgui2.4v5:amd64 2.4.9.1+dfsg-1.5ubuntu1.1 amd64 computer vision High-level GUI and Media I/O library
ii libopencv-imgproc2.4v5:amd64 2.4.9.1+dfsg-1.5ubuntu1.1 amd64 computer vision Image Processing library
ii libopencv-legacy2.4v5:amd64 2.4.9.1+dfsg-1.5ubuntu1.1 amd64 computer vision legacy library
ii libopencv-ml2.4v5:amd64 2.4.9.1+dfsg-1.5ubuntu1.1 amd64 computer vision Machine Learning library
ii libopencv-objdetect2.4v5:amd64 2.4.9.1+dfsg-1.5ubuntu1.1 amd64 computer vision Object Detection library
ii libopencv-photo2.4v5:amd64 2.4.9.1+dfsg-1.5ubuntu1.1 amd64 computer vision computational photography library
ii libopencv-video2.4v5:amd64 2.4.9.1+dfsg-1.5ubuntu1.1 amd64 computer vision Video analysis library
使用下面提到的代码
import cv2
import numpy as np
from time import sleep
import imutils
def main():
counter = 0
cap = cv2.VideoCapture()
cap.open("rtsp://username:password IP : port/Streaming/Channels/101")
while True:
if cap.isOpened():
ret, frame = cap.read()
frame = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
roi1 = frame[100:955, 250:1770]
frame = imutils.resize(frame, width=720)
roi1 = imutils.resize(roi1, width=720)
cv2.imshow('roi1', roi1)
cv2.imshow('frame', frame)
if cv2.waitKey(10) == 27:
break
main()
建议将非常有帮助。
解决方案
推荐阅读
- ionic-framework - 离子切换 ionChange 在 ionic 中被多次调用
- angular - 如何在 Angular 5 中允许不安全的 HTML
- python - 将字符串日期转换为 unix 时间
- pascal - 如何从 Pascal 中的文本文件中读取特定行
- android - 无法阻止 RecyclerView 中的 CardView 剪辑子项
- c - CTL 中的去饱和色彩
- nginx - nginx 重写 url 以删除子目录
- python - 为什么 GPU 上的乘法比 CPU 上的慢?
- python - 考虑 Pandas Dataframe 中的组,在列上显示下一个值
- javascript - 从 PathStrings 创建树