首页 > 解决方案 > 如何使用视频标签将视频从 localhost 流式传输到 Web 浏览器?

问题描述

基本上我想在本地主机上使用 Flask、OpenCV 或 FFmpeg 将视频流式传输到我的浏览器。

但我不知道该怎么做。

我试过这个:

#!/usr/bin/env python
from flask import Flask, render_template, Response
import cv2
import sys
import numpy

app = Flask(__name__)

def get_frame():
    c=cv2.VideoCapture("output.mkv")

    while True:
        retval, im = c.read()
        imgencode=cv2.imencode('.jpg',im)[1]
        stringData=imgencode.tostring()
        yield (b'--frame\r\n'
            b'Content-Type: text/plain\r\n\r\n'+stringData+b'\r\n')

    del(c)

@app.route('/vid')
def vid():
     return Response(get_frame(),mimetype='multipart/x-mixed-replace; boundary=frame')


if __name__ == '__main__':
    app.run(host='localhost',port=5000, debug=True, threaded=True)

但它不起作用。也许是因为它正在发送图像。如何流式传输视频?

标签: pythonopencvflaskffmpeghtml5-video

解决方案


推荐阅读