python如何将本地视频传送给前端进行展示

zew1040994588 2020-10-14 11:17:03
背景:
python后台采用flask框架,使用flask自带的flask-uploads插件,可将视频、图片上传到服务器上。视频,图片存储的地址都是盘符下的一个文件夹,不是flask项目里面的static文件夹(之前存储在static下时,前端可通过http:端口/static/XXX.mp4来访问视频),服务器是windows10环境。
需求:
如何将本地某一盘符的视频传递给web前端、安卓端进行展示?(视频大小为20-100M不等,个数为1-3个)
...全文
3915 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
庸了个白 2020-10-15
  • 打赏
  • 举报
回复
引用 4 楼 象漂亮 的回复:
新手上路,对于问题提出不清晰。我以为放static这个文件下,web端读取视频会对服务的速度造成很大影响。认为放其它盘符会对服务的响应速度好一点,但是看了你的分析后。好像不用第三方的话,速度始终会受到影响。这样不管是放本地盘符还是static下面,服务的速度基本不会变,这样理解对么。
只要是在服务器上,放哪都一样,最大的影响还是带宽。
zew1040994588 2020-10-15
  • 打赏
  • 举报
回复
新手上路,对于问题提出不清晰。我以为放static这个文件下,web端读取视频会对服务的速度造成很大影响。认为放其它盘符会对服务的响应速度好一点,但是看了你的分析后。好像不用第三方的话,速度始终会受到影响。这样不管是放本地盘符还是static下面,服务的速度基本不会变,这样理解对么。
庸了个白 2020-10-15
  • 打赏
  • 举报
回复
引用 2 楼 象漂亮 的回复:
对于方案1:存放的视频会越来越多,放static下,线上跑的服务会越来越大。 对于方案2,拉下了你的代码,我还没有用ubuntu环境下开发,是windows10。很开心知道有另外一种方式存图片和视频,但是不会用这种方式。 暂时解决方案是还是放在static里面(先实现功能。。。)公司不愿意花钱买第三方的服务,第三方提供的资源访问很方便。。。
没看明白你的顾虑,在不访问的时候 static 只会消耗存储而不占用其他的系统资源,实际使用服务器本身是起到传输作用,没用过flask,但大概是起一个维持链接的作用,不过这个static一般都会交给引擎去做,比如nginx去代理static出去,实际上最终是个本地资源传输与公网带宽消耗的问题.....我觉得你要放在本地(服务器的本地),又想不占存储,内存,cpu之类的这个肯定是避免不了的。除非第三方...
zew1040994588 2020-10-15
  • 打赏
  • 举报
回复
第三方我也没用过,我问同事的。我理解为公共的存储空间,也就是把视频存到它那边去,我只需要把服务地址给前端,让web去第三方获取视频,或者我写个接口拿第三方提供的存储访问地址给web访问。这样我的flask文件就没那么大了,我之前确实担心多人访问时,我的服务会挂掉。
crifan 2020-10-15
  • 打赏
  • 举报
回复
引用
公司不愿意花钱买第三方的服务

可以理解,估计想省钱

引用
第三方提供的资源访问很方便。。。

没太看懂意思。请具体解释
按道理,第三方服务做得好,方便使用,公司才更应该愿意买第三方的服务啊?

引用
放static这个文件下,web端读取视频会对服务的速度造成很大影响

看来你把
服务=flask服务

服务器的带宽资源
搞混淆了,其实是:

flask服务=你的flask代码提供的服务=提供出的api,供外部访问的服务
以及
服务的带宽资源=服务器中的flask框架通过static允许外界访问的文件,主要占用的是服务器的带宽,相对来说,不影响你的flask本身的api服务,或者说影响很小,即你说的
(flask的)服务的速度,基本没变化

但是如果多人同时使用你的flask的服务,即调用你flask提供的api,则:
flask本身的服务的速度 受影响,比如 来不及响应 ,服务挂掉 等等

但本身flask框架提供的static的文件,被多人访问,则主要是服务器所在带宽的限制,比如服务器网络只有4MB/s,则同时多人访问static的文件,则下载速度就很慢

这两部分,总体来说,不是一个东西,基本没关系。
crifan 2020-10-14
  • 打赏
  • 举报
回复
方案1. 改放之前的static文件夹
问:为何不用static了?

方案2:改用其他提供文件服务的方式
比如 mongodb的gridfs,即把上传的文件(mp4等视频),存储到MongoDB的gridfs,然后再写api接口,供外部访问(视频)文件

具体实现可参考:我的flask的模板项目
crifan/crifanFlaskTemplate: crifanLib python flask template
中的“mongodb的gridfs文件”
zew1040994588 2020-10-14
  • 打赏
  • 举报
回复
对于方案1:存放的视频会越来越多,放static下,线上跑的服务会越来越大。 对于方案2,拉下了你的代码,我还没有用ubuntu环境下开发,是windows10。很开心知道有另外一种方式存图片和视频,但是不会用这种方式。 暂时解决方案是还是放在static里面(先实现功能。。。)公司不愿意花钱买第三方的服务,第三方提供的资源访问很方便。。。

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧