[Flask]解决Flask用video标签播放不了视频黑屏的问题

文章讲述了在Flask应用中遇到视频播放黑屏的原因,主要是由于视频文件未存放在static文件夹下。通过将视频移动到static文件夹,并使用`url_for(static,filename=视频名称.mp4)`来引用视频源,可以成功播放视频。此外,还可以在Flask代码中直接指定static目录。
摘要由CSDN通过智能技术生成


一、原因

播放不了的原因是视频文件没有按照Flask框架要求来进行存放,所以我们要将视频文件存储在static文件夹下才行。

二、修改步骤

原先代码:

<video src="F:/MOT_Code/Deepsort/dataset/MOT16_02.mp4" controls="controls" 
width="100%" height="300"></video>

可以看到路径src里直接用路径全名是播放不了的:
在这里插入图片描述

如果我们将视频移动到static文件夹下:
在这里插入图片描述
并将src代码改成:

<video src="{{ url_for('static', filename='MOT16_02.mp4') }}" controls="controls" 
width="100%" height="300"></video>

便可以正常播放视频了:
在这里插入图片描述

总结

以上就是Flask播放video视频黑屏的解决方法,你也可以在Flask代码中手动指定static目录


from flask import Flask, render_template

app = Flask(__name__, static_folder='static')

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Flask是一个轻量级的Web应用框架,它本身并不直接支持播放视频,但你可以结合其他库来实现这个功能。以下是一个简单的步骤: 1. **安装所需库**:首先,你需要安装Flask以及处理视频流的库,如`flask-video-streaming` 或 `Flask-SocketIO`(如果你需要实时音频/视频通信的话)。 ```bash pip install Flask flask-video-streaming ``` 2. **设置视频文件路径**:将你要播放视频文件放在项目的static文件夹下,并确保对URL有正确的访问权限。 3. **创建视图函数**:在Flask应用中,创建一个视图函数来返回视频流,例如: ```python from flask import Flask, Response from flask_video_streaming import VideoStreaming app = Flask(__name__) video = VideoStreaming(app) @video.route('/video') def play_video(): return video.stream('path/to/video.mp4', cache_timeout=0) # 使用stream方法并设置缓存为0秒防止重复加载 ``` 4. **运行服务器**:启动你的Flask应用来提供视频服务。 ```python if __name__ == '__main__': app.run() ``` 5. **客户端显示视频**:通常情况下,前端(HTML、JavaScript)会通过AJAX请求获取视频流并在HTML5的 `<video>` 标签中嵌入播放。 6. **直播或WebRTC**:如果需要实现实时音视频交互,可以考虑使用Socket.IO等库配合HTML5 WebRTC API。 注意:这只是一个基础示例,实际生产环境可能还需要处理更多的细节,比如错误处理、安全性和性能优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bartender_Jill

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值