为了账号安全,请及时绑定邮箱和手机立即绑定

阿里ECS向OSS传递mp4,速度爆慢,求解!

阿里ECS向OSS传递mp4,速度爆慢,求解!

PHP
紫衣仙女 2019-03-16 13:13:19
由于视频较大,应显示上传进度,所以分两步:1 用户在浏览器里选中文件上传至ECS的临时目录,cron定期清理该目录;2 用户填写视频介绍、提交表单至ECS,ECS验证无误后存入数据库,并将临时视频转发OSS。 我传了一个 27MB 的 mp4,第一步耗时约 25 秒,第二步耗时约 20 秒,就是说在提交表单时会卡住 20 秒! 请问为啥会这么慢,从ECS到OSS走得难道不是阿里的内网?应该很快吧?(ECS和OSS都在华东1) 谢谢! =========================================================================== 我现在突然想到还有一个问题:对于上传的视频,我们后台(PHP)必须抽取视频流的第一帧作为海报(poster)供前端展示视频列表使用,如果直接传OSS的话,我们后台就没法拿到视频抽取图像了! 这张图片是十分重要的,因为在视频列表页里显示的就是这张图片,因此必须要有。目前我们PHP已经能抽取首帧图像了,前端那边好像没有太好办法,所以我们是在ECS上收到视频时生成图像的。 请问这要怎么办?谢谢!
查看完整描述

4 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

OSS可以走授权直传的形式,ECS只需要负责发Token就行,客户端拿到Token以后可以直接传到OSS,并不需要走ECS中转,具体的参考OSS文档里的最佳实践吧。


第二个问题:OSS视频截帧

查看完整回答
反对 回复 2019-03-18
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

第一个,我觉得文件上传要经历的步骤有两个.

1. 通过C端(浏览器)上传到你的服务器.
2. 通过服务器的PHP代码读取流并上传到OSS服务器.

你的耗时可以得到一个点,25 + 20 为45秒,并不是所谓的20秒.那如何优化这种,我是否可以直接通过前端直接上传到oss,这样就跳过第一步,至少减少20秒.而且这个时间就跟浏览器端的网速有关了.后台就直接入库就行了.
至于文件是否浪费了,那就直接来一个定时清理就可以了.

查看完整回答
反对 回复 2019-03-18
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

先谢谢楼上几位朋友!

我现在突然想到还有一个问题:对于上传的视频,我们后台(PHP)必须抽取视频流的第一帧作为海报(poster)供前端展示视频列表使用,如果直接传OSS的话,我们后台就没法拿到视频抽取图像了!

这张图片是十分重要的,因为在视频列表页里显示的就是这张图片,因此必须要有。目前我们PHP已经能抽取首帧图像了,前端那边好像没有太好办法,所以我们是在ECS上收到视频时生成图像的。

请问这要怎么办?谢谢!

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 454 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信