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

由于视频较大,应显示上传进度,所以分两步:
1 用户在浏览器里选中文件上传至ECS的临时目录,cron定期清理该目录;
2 用户填写视频介绍、提交表单至ECS,ECS验证无误后存入数据库,并将临时视频转发OSS。

我传了一个 27MB 的 mp4,第一步耗时约 25 秒,第二步耗时约 20 秒,就是说在提交表单时会卡住 20 秒!

请问为啥会这么慢,从ECS到OSS走得难道不是阿里的内网?应该很快吧?(ECS和OSS都在华东1)

谢谢!

===========================================================================

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

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

请问这要怎么办?谢谢!

紫衣仙女
浏览 456回答 4
4回答

扬帆大鱼

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

人到中年有点甜

第一个,我觉得文件上传要经历的步骤有两个. 1. 通过C端(浏览器)上传到你的服务器. 2. 通过服务器的PHP代码读取流并上传到OSS服务器. 你的耗时可以得到一个点,25 + 20 为45秒,并不是所谓的20秒.那如何优化这种,我是否可以直接通过前端直接上传到oss,这样就跳过第一步,至少减少20秒.而且这个时间就跟浏览器端的网速有关了.后台就直接入库就行了.至于文件是否浪费了,那就直接来一个定时清理就可以了.

汪汪一只猫

先谢谢楼上几位朋友! 我现在突然想到还有一个问题:对于上传的视频,我们后台(PHP)必须抽取视频流的第一帧作为海报(poster)供前端展示视频列表使用,如果直接传OSS的话,我们后台就没法拿到视频抽取图像了! 这张图片是十分重要的,因为在视频列表页里显示的就是这张图片,因此必须要有。目前我们PHP已经能抽取首帧图像了,前端那边好像没有太好办法,所以我们是在ECS上收到视频时生成图像的。 请问这要怎么办?谢谢!
打开App,查看更多内容
随时随地看视频慕课网APP