基于OpenCV的网络实时视频流传输
重磅干货,第一时间送达
01.如何使用Web浏览器查看实时流媒体
02.操作步骤
第1步-安装Flask和OpenCV:
第2步-导入必要的库,初始化flask应用程序:
#Import necessary libraries
from flask import Flask, render_template, Response
import cv2
#Initialize the Flask app
app = Flask(__name__)
第3步-使用OpenCV捕获视频:
camera = cv2.VideoCapture(0)
'''
for ip camera use - rtsp://username:password@ip_address:554/user=username_password='password'_channel=channel_number_stream=0.sdp'
for local webcam use cv2.VideoCapture(0)
'''
def gen_frames():
while True:
success, frame = camera.read() # read the camera frame
if not success:
break
else:
ret, buffer = cv2.imencode('.jpg', frame)
frame = buffer.tobytes()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n') # concat frame one by one and show result
第5步-为网络应用的默认页面定义应用路由:
@app.route('/')
def index():
return render_template('index.html')
第6步-定义视频供稿的应用路由:
@app.route('/video_feed')
def video_feed():
return Response(gen_frames(), mimetype='multipart/x-mixed-replace; boundary=frame')
<body>
<div class="container">
<div class="row">
<div class="col-lg-8 offset-lg-2">
<h3 class="mt-5">Live Streaming</h3>
<img src="{{ url_for('video_feed') }}" width="100%">
</div>
</div>
</div>
</body>
第7步-启动Flask服务器:
if __name__ == "__main__":
app.run(debug=True)
只需在运行“ app.py”后在网络浏览器中键入“ localhost:5000”即可打开您的网络应用程序 app.py —这是我们在上面创建的Flask应用程序 模板-此文件夹包含我们的“ index.html”文件。在渲染模板时,这在Flask中是必需的。所有HTML文件都放在此文件夹下。
交流群
赞 (0)