Python 我想使用url阅读opencv中的视频

Python 我想使用url阅读opencv中的视频,python,opencv,flask,Python,Opencv,Flask,我使用了host='0.0.0.0',以便可以从其他机器上运行此代码。现在假设我的ip是。。。。 我想做的是传递这样的链接:…/视频将在浏览器上运行。 我试过这种方法,但似乎是错误的方法 对于一个粗糙的工作,我只是尝试只使用opencv运行它 我像这样粘贴链接: 视频链接= cap=cv2.VideoCapturevideo\u链接 成功了 这就是我试过的 from flask import Flask import cv2 app = Flask(__name__) @app.route("

我使用了host='0.0.0.0',以便可以从其他机器上运行此代码。现在假设我的ip是。。。。 我想做的是传递这样的链接:…/视频将在浏览器上运行。 我试过这种方法,但似乎是错误的方法

对于一个粗糙的工作,我只是尝试只使用opencv运行它 我像这样粘贴链接: 视频链接= cap=cv2.VideoCapturevideo\u链接 成功了

这就是我试过的

from flask import Flask
import cv2

app = Flask(__name__)
@app.route("/video/<string:url>")
def input_value(url):
    link = str(url)
    return link

    cap = cv2.VideoCapture(link)

    while (cap.isOpened()):
        ret, frame = cap.read()

        if ret:
            cv2.imshow('output', frame)
            if cv2.waitKey(1) == ord('q'):
                break
        else:
            break


if __name__ == "__main__":
    app.run(host='0.0.0.0', debug=True)

根据您的代码,我收到了类似404的消息,我相信您希望视频在网页上可见。为此,只需使用一个html视频标记,并将来自django的URL作为网页中的值传递进去。

我发现您没有提供获取视频的URL,这会给出404错误消息

@app.route("/video/<string:url>")
我明白了

from flask import Flask
import cv2
app = Flask(__name__)
@app.route("/video/<path:url>")
def input_value(url):
    counter = 0
    cap = cv2.VideoCapture(url)


    while (cap.isOpened()):
        ret, frame = cap.read()

        if ret:
            counter += 1
            cv2.imshow('output', frame)
            if cv2.waitKey(1) == ord('q'):
                break
        else:
            break
    return str(counter)
if __name__ == "__main__":
    app.run(host='0.0.0.0', debug=True)

此代码从地址栏获取链接,然后在我的机器上运行视频并返回网页上的计数器值

请参见下面的url,它显示了如何直接从Open VideoCapture方法使用url这不是我要找的。我已经提到我尝试过这个。不,你没有提到你在任何地方尝试过这个链接这是一个例子:从flask导入flask app=Flaskname@app.route/add/,def addnumber,number2:x=number y=number2 result=x+y如果name==main:app.runhost='0.0.0',返回strresult,debug=True当我在地址栏上键入此内容时:…:5000/add/3,5它会给我一个空白的白色页面,结果在左上角打印为8。我提到:对于一项粗略的工作,我只是尝试使用opencv运行此操作,但我粘贴了如下链接:video_link=cap=cv2.VideoCapturevideo_link它起作用了。我在vs Code上尝试了此操作我没有提供url,因为我将从我的web浏览器中将url作为参数传递..如下….123.147.1.355:5000/video/它应该在web浏览器上显示视频。为此,您应该使用引用调用方法。例如,def urlx:print x=,x,id=,idx x=123.147.1.355:5000 print x=,x,id=,idx之后,在代码中使用此urlx。您最近问这个问题时为什么立即回答?我没有立即回答。我在寻找答案,同时也在找出代码。
from flask import Flask
import cv2
app = Flask(__name__)
@app.route("/video/<path:url>")
def input_value(url):
    counter = 0
    cap = cv2.VideoCapture(url)


    while (cap.isOpened()):
        ret, frame = cap.read()

        if ret:
            counter += 1
            cv2.imshow('output', frame)
            if cv2.waitKey(1) == ord('q'):
                break
        else:
            break
    return str(counter)
if __name__ == "__main__":
    app.run(host='0.0.0.0', debug=True)