说我有
@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()
的信息,我觉得这就是答案,但是我无法确定如何在代码中实现这一点。
答案 0 :(得分:0)
我这样解决了:
@app.route('/video_feed/<num>')
def video_feed(num):
video_feeds = [1,'http://**WEBCAM_IP**/video']
fsrc = video_feeds[int(num)]
return Response(gen(VideoCamera(fsrc)),
mimetype='multipart/x-mixed-replace; boundary=frame')
它使用迭代次数从@ghassen建议的列表中选择。这样做有一些问题,即要从网页添加源,我必须将列表移到外面。但它确实可以正常工作。
如果有人可以告诉我如何迭代显示HTML中的视频,那将是很棒的,尽管不在问题的范围之内。