【发布时间】:2021-08-14 11:15:36
【问题描述】:
我已经从 raspberry 相机创建了一个简单的实时视频流。看起来是这样的
server.py
from flask import Flask
from flask import render_template
from flask import Response
import cv2
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/video_feed')
def video_feed():
return Response(gen(), mimetype='multipart/x-mixed-replace; boundary=frame')
def gen():
camera = cv2.VideoCapture(0)
while True:
ret, img = camera.read()
if ret:
frame = cv2.imencode('.jpg', img)[1].tobytes()
yield (b'--frame\r\n'b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')
else:
break
app.run(host='192.168.0.241', port=7070, debug=True)
index.html
<html>
<head>
<title>PiCamera stream</title>
</head>
<body>
<h1>Streaming</h1>
<img src="{{ url_for('video_feed') }}">
</body>
</html>
一切正常,我在浏览器中输入http://<raspberry_ip>:<port> 就可以看到视频了。
现在我需要创建用于观看此视频的移动应用程序,但是我正在努力做到这一点。有没有办法在 iOS 应用中捕获视频流?
【问题讨论】:
-
这和flask有什么关系?您使用 Web 框架制作视频流,但这与 iOS 应用程序无关。在不构建整个应用程序的情况下如何合理地回答这个问题?
-
好吧,我只是在发现视频流主题,首先找到了flask并认为它看起来不错。我不必使用烧瓶,可以是任何其他库或框架。也许你推荐一些东西?
-
您可能会使用 kivy,但我几乎没有使用过它。不过,Flask 是一个 Web 框架。您可以在浏览器中访问您的信息流,但除非我遗漏了什么,否则它与您要制作的应用无关
-
感谢@roganjosh 的信息,会检查它。我相信 python 中有很多用于流式传输的库,但对我来说最大的挑战是在 iOS 应用程序中获取流式传输。
-
Heiii。我也有同样的问题。我需要从 PI 相机显示流到我的应用程序。
标签: python swift flask raspberry-pi video-streaming