前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python通过flask搭建音频流/文件服务

Python通过flask搭建音频流/文件服务

作者头像
用户9925864
发布2022-07-27 08:47:21
2K0
发布2022-07-27 08:47:21
举报
文章被收录于专栏:算法工程师的学习日志

工作上需要搭建一个音频推送服务,考虑到使用python Flask搭建一个服务,下面给出简单的代码,代码中每次请求推送当前目录下的音频文件。

代码语言:javascript
复制
from flask import Flask
from flask import Response
import os


app = Flask(__name__)
folder = './video'


@app.route('/video/<file_key>')
def stream_mp3(file_key):
    def generate():
        path = os.path.join(folder, file_key)
        with open(path, 'rb') as video:
            data = video.read(1024)
            while data:
                yield data
                data = video.read(1024)

    return Response(generate(), mimetype="video")


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080)

文件下面有2个视频文件供调试,

代码中读取文件每次读取1024字节,而不是一次全部读取到文件中,于是利用到了python 的 yield,为了简化问题,上面仅仅传递当前系统指定路径下的文件(实际工作中还有很多要处理,日志模块、视频处理分析等其他模块)

运行代码

浏览器输入:

http://127.0.0.1:8080/video/1.mp4 则弹出视频页面。

原创字数要达到300字就多写几句

Flask

Flask 是一个微型的 Python 开发的 Web 框架,基于Werkzeug WSGI工具箱和Jinja2 模板引擎。Flask使用BSD授权。Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。

示例代码:

代码语言:javascript
复制
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

启动

代码语言:javascript
复制
$ pip install Flask
$ python hello.py
 * Running on http://localhost:5000/

特性

  • 内置开发用服务器和debugger
  • 集成单元测试(unit testing)
  • RESTful request dispatching
  • 使用Jinja2模板引擎
  • 支持secure cookies(client side sessions)
  • 100% WSGI 1.0兼容
  • Unicode based
  • 详细的文件、教学
  • Google App Engine兼容
  • 可用Extensions增加其他功能
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 启动
  • 特性
相关产品与服务
媒体处理
媒体处理(Media Processing Service,MPS)是智能、强大、全面的多媒体数据处理服务,行业支持最全面的音视频编码标准,基于自研编码内核和AI算法,提供音视频转码和增强、媒体智能、质检评测等能力,帮助您提升媒体质量、降低成本,满足各类场景的音视频处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档