Я написал небольшое веб-приложение во flask, но по какой-то причине cap = cv2.VideoCapture(0) не работает . Когда пользователь заходит на сайт, возникает следующая ошибка:
[ WARN:0@2.499] global cap_v4l.cpp:999 open VIDEOIO(V4L2:/dev/video0): can't open camera by index
[ERROR:0@2.499] global obsensor_uvc_stream_channel.cpp:158 getStreamChannelGroup Camera index out of range
46.188.121.6 - - - - [05/Jan/2025 14:45:30] “GET /video_feed HTTP/1.1” 200 - -
Что может быть причиной этой ошибки?
Приложение размещено на Linux-хосте без видеокамеры.
Приложение пишется так:
from flask import Flask, Response
import cv2
app = Flask(__name__)
def gen_frames():
cap = cv2.VideoCapture(0)
while True:
success, frame = cap.read()
if not success:
break
else:
# doing something with frame
# example: frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
ret, buffer = cv2.imencode('.jpg', frame)
frame = buffer.tobytes()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')
@app.route('/video_feed')
def video_feed():
return Response(gen_frames(), mimetype='multipart/x-mixed-replace; boundary=frame')
@app.route('/')
def index():
return """
Your Video
Video
"""
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
Подробнее здесь: https://stackoverflow.com/questions/793 ... pen-camera