ImageView或VideoView,我应该显示我的流媒体"视频"在android?

时间:2016-10-09 08:15:51

标签: android python opencv video streaming

我有一个Android应用程序(本机)从其他相机流式传输视频。

我创建了一个包含pythonflaskopencv的简单服务器(用于处理视频)

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中显示视频。

但我不知道这是对还是错。我怎么能这样做?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您通常会使用VideoView来显示视频,并使用服务器上视频的网址进行设置。

例如:

element