我有一个Android应用程序(本机)从其他相机流式传输视频。
我创建了一个包含python
,flask
和opencv
的简单服务器(用于处理视频)
from mockCamera import VideoCamera;
import time
import argparse
from flask import Flask, render_template, Response, jsonify, url_for, send_file
# Gallery folder name
STATIC_FOLDER = 'gallery'
# Init Flask app & Camera object
app = Flask(__name__, static_folder=STATIC_FOLDER)
def gen(camera):
"""Video streaming generator function."""
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():
"""Video streaming route."""
return Response(gen(VideoCamera()),
mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == '__main__':
# Construct the argument parser and parse the arguments
ap = argparse.ArgumentParser()
ap.add_argument("-c", "--camera", help="URL of IP Camera")
args = vars(ap.parse_args())
# If the camera argument is not None,
# then we set it to CAMERA_URL variable
# otherwise we use default value
if args.get('camera', None) is not None:
CAMERA_URL = args['camera']
# Run the app
app.run(host='0.0.0.0', debug=True)
camera.get_frame()
将返回由opencv
现在,我认为我的Android应用会访问/video_feed
路由,并在ImageView
中显示视频。
但我不知道这是对还是错。我怎么能这样做?
提前致谢。
答案 0 :(得分:0)
您通常会使用VideoView来显示视频,并使用服务器上视频的网址进行设置。
例如:
element