Код: Выделить всё
import cv2
from flask import Flask, Response, render_template_string
app = Flask(__name__)
cap = cv2.VideoCapture(0) # 0 = default webcam
def gen_frames():
while True:
success, frame = cap.read()
if not success:
break
else:
ret, buffer = cv2.imencode('.jpg', frame)
frame_bytes = buffer.tobytes()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame_bytes + b'\r\n')
@app.route('/')
def index():
return render_template_string("""
html, body {
display: flex;
justify-content: center;
align-items: center;
margin: auto auto;
padding: 0;
height: 100vh;
width: 100vw;
background-color: black;
overflow: hidden;
}
#video-container {
display: flex;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
img {
width: 100%;
height: auto;
}
[img]/video_feed[/img]
""")
@app.route('/video_feed')
def video_feed():
return Response(gen_frames(),
mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
< /code>
И это была JetPack Compose Part < /p>
@Composable
fun MjpegWebView(
modifier: Modifier = Modifier, url: String
) {
AndroidView(
factory = { context ->
WebView(context).apply {
webViewClient = WebViewClient()
settings.javaScriptEnabled = false
loadUrl(url)
}
},
modifier = modifier
)
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... d-applicat