python - Django 中的视频流:可以像烧瓶一样完成吗?
问题描述
Miguel Grinberg 的以下方法在 Flask 中对我来说效果很好,但是我正在将我的应用程序迁移到 Django,我想知道是否可以使用内置的 Django 函数重新创建它?
from flask import Flask, render_template, Response
from camera import Camera
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
def gen(camera):
while True:
frame = camera.get_frame()
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(Camera()),
mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
这很好用,因为我的流是motionJPEG,而这正是这段代码的设计目的。
我特别想知道这Response(gen(Camera)), mimetype='multipart/x-mixed-replace';boundary=frame')
一点。我将如何使用生成器将传入帧放置在 urls.py 中定义的 url/路由上?
解决方案
推荐阅读
- java - 具有字段对象数组的实体。如何正确描述这个实体使用 Hibernate ogm?
- android - Android改造问题在HTTP请求中发送图像
- python - 如何替换值在 2019 到 2099 之间的列值的前 2 位
- spring-boot - Spring Boot + spring-boot-starter-web + RestController + runBlocking
- ruby - 红宝石 | 约会时间
- android - 如何调整提示中的对齐方式
- android - 如果连接了移动免提并且我说免提麦克风并在移动扬声器中流式传输,是否可以这样做?
- python - 如何在python中使用numpy来做流向栅格单元
- javafx - 当以编程方式更改 ComboBox 值属性时,如何防止触发 ActionEvent?
- apache-flink - 使用 FsStateBackend 在 Kubernetes 中进行 Flink 检查点失败