简介:推流,指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。网上调查、对话访谈、在线培训等内容现场发布到互联网上。利用互联网的直观、快速,表现形式好、内容丰富、交互性强、地域不受限制、受众可划分等特点,加强活动现场的推广效果。现场直播完成后,还可以随时为读者继续提供重播、点播,有效延长了直播的时间和空间,发挥直播内容的最大价值。
历史攻略:
sanic:通过API接口进行电脑截图或录像
Python+ADB截图、录屏、抓取日志
安装依赖库:
pip install flask opencv-python
操作步骤:
1、新建文件:app.py
# -*- coding: utf-8 -*-
# time: 2023/4/26 10:28
# file: app.py
# 公众号: 玩转测试开发
from flask import Flask, render_template, Response
import cv2
app = Flask(__name__)
camera = cv2.VideoCapture(0) # 使用默认摄像头
def gen_frames():
while True:
success, frame = camera.read()
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')
@app.route('/video_feed')
def video_feed():
return Response(gen_frames(), mimetype='multipart/x-mixed-replace; boundary=frame')
@app.route('/')
def index():
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
2、新建目录:templates
3、新建文件:index.html 放入templates
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>实时视频推流</title>
</head>
<body>
<h1>实时视频推流</h1>
<img src="{{ url_for('video_feed') }}" alt="实时视频">
</body>
</html>
4、运行以下命令启动 Flask 服务器:
python app.py
在浏览器中打开 http://127.0.0.1:5000/,将看到实时视频流。
推荐使用播放器来展示实时视频流,可以使用 video.js 这个开源的 HTML5 视频播放器或者使用 CDN。
注意:这个示例仅适用于本地开发环境。如果要将其部署到生产环境,请确保根据需求调整设置。