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