Скажите, у меня есть
@app.route('/video_feed/0')
def video_feed0():
return Response(gen(VideoCamera(var1)),
mimetype='multipart/x-mixed-replace; boundary=frame')
@app.route('/video_feed/1')
def video_feed1():
return Response(gen(VideoCamera(var2)),
mimetype='multipart/x-mixed-replace; boundary=frame')
Где gen () - это генератор, который берет видеокадр с VideoCamera (opencv)
Я бы отобразил это с помощью:
<img id="bg" src="localhost:5000/video_feed/0">
and
<img id="bg" src="localhost:5000/video_feed/1">
Как лучше всего повторить это для произвольных видеоисточников, скажем, что-то вроде:
def createVidFeeds():
video_feeds = [1,'192.168.1.233:8080/video']
for index,item in enumerate(video_feeds):
video_feed(index,item)
createVidFeeds()
enumerate () существует для того, чтобы задать переменную счетчика, которую я затем могу передать в / video_feed /
Я ожидаю, что это будет выглядеть примерно так:
def createVidFeeds():
video_feeds = [1,'192.168.1.233:8080/video']
for index,item in enumerate(video_feeds):
video_feed(index,item)
createVidFeeds()
@app.route('/video_feed/<num>')
def video_feed(num, arg):
return Response(gen(VideoCamera(arg)),
mimetype='multipart/x-mixed-replace; boundary = frame')
но я не смог заставить это работать.
Теперь я много слышал о app.add_url_rule()
, и я чувствую, что это ответ здесь, но я не смог обернуть голову, как бы я реализовал это в своем коде.