由于视频较大,应显示上传进度,所以分两步:1 用户在浏览器里选中文件上传至ECS的临时目录,cron定期清理该目录;2 用户填写视频介绍、提交表单至ECS,ECS验证无误后存入数据库,并将临时视频转发OSS。
我传了一个 27MB 的 mp4,第一步耗时约 25 秒,第二步耗时约 20 秒,就是说在提交表单时会卡住 20 秒!
请问为啥会这么慢,从ECS到OSS走得难道不是阿里的内网?应该很快吧?(ECS和OSS都在华东1)
谢谢!
===========================================================================
我现在突然想到还有一个问题:对于上传的视频,我们后台(PHP)必须抽取视频流的第一帧作为海报(poster)供前端展示视频列表使用,如果直接传OSS的话,我们后台就没法拿到视频抽取图像了!
这张图片是十分重要的,因为在视频列表页里显示的就是这张图片,因此必须要有。目前我们PHP已经能抽取首帧图像了,前端那边好像没有太好办法,所以我们是在ECS上收到视频时生成图像的。
请问这要怎么办?谢谢!
4 回答
![?](http://img1.sycdn.imooc.com/533e4cde000148e602000200-100-100.jpg)
人到中年有点甜
TA贡献1895条经验 获得超7个赞
第一个,我觉得文件上传要经历的步骤有两个.
1. 通过C端(浏览器)上传到你的服务器.
2. 通过服务器的PHP代码读取流并上传到OSS服务器.
你的耗时可以得到一个点,25 + 20 为45秒,并不是所谓的20秒.那如何优化这种,我是否可以直接通过前端直接上传到oss,这样就跳过第一步,至少减少20秒.而且这个时间就跟浏览器端的网速有关了.后台就直接入库就行了.
至于文件是否浪费了,那就直接来一个定时清理就可以了.
![?](http://img1.sycdn.imooc.com/5458506b0001de5502200220-100-100.jpg)
汪汪一只猫
TA贡献1898条经验 获得超8个赞
先谢谢楼上几位朋友!
我现在突然想到还有一个问题:对于上传的视频,我们后台(PHP)必须抽取视频流的第一帧作为海报(poster)供前端展示视频列表使用,如果直接传OSS的话,我们后台就没法拿到视频抽取图像了!
这张图片是十分重要的,因为在视频列表页里显示的就是这张图片,因此必须要有。目前我们PHP已经能抽取首帧图像了,前端那边好像没有太好办法,所以我们是在ECS上收到视频时生成图像的。
请问这要怎么办?谢谢!
- 4 回答
- 0 关注
- 507 浏览
添加回答
举报
0/150
提交
取消