阿里oss视频流出流量计算 这个需求源于前几天老板问我:在阿里oss上,1080p高清视频,播放1分钟,存储和下载的价格分别是多少。因为之后要推广系统使用用户人数,所以就很关心流量费用。存储费用相对便宜很多,本文只讲下行流出流量算法。 同一个问题我问了阿里客服两次,都说无法预估。同时,我找了阿里第三方服务商问,他们的回复是:
如果按照1080p的视频,时长一分钟来算。1个视频存储大概需要100M的空间。观看一次大概需要27M的流量。
问他们清晰度和流量关系换算,找了个类似这样的对照表给我
当我以为这样就可以交差的时候,老板直接丢了个51.12MB的视频去验证
视频具体信息如下:
早前我们买了个1T下行流量包,打完折是4090元/1024GB,折算下来3.99元/GB。然后他用这个视频大小,用着我听不太懂的一些换算,按10000个播放终端,每个终端播放2次,竟然算下来需要花费差不多2千块。可能觉得心里还是没底,最后叫我丢个视频到oss,看看具体消费情况。
今天为止,我算是搞清楚具体的算法(开启我的第三次问阿里客服,想着有视频大小,有账单,问题肯定够具体,应该能回我)
纯粹给大家科普~~~
1、测试过程:
(1)oss建一个bucket,只放这个51.12MB的mp4视频
(2)在浏览器上播放该视频(用oss生成的地址),直到6分多钟完全播完。
2、具体算法
他们给出的算法是
实际的计费流量用的是oss访问日志统计里的流量,下行流量统计不算http请求头只算body大小,可以根据日志中的响应统response_body_length计流量大小
这个response_body_length 的值需要开启oss的实时日志,通过sql去查
具体sql如下:
* and bucket: {你的bucket名字} and GetObject | select COUNT(1) as df, sum("response_body_length") as result
这个result的单位是B,除以3个1024就是账单里的 0.0504GB ,也就是
54127075/1024/1024/1024= 0.0504GB
账单里的付费金额,要根据闲时和忙时计费去算。
定价详情:https://www.aliyun.com/price/product?spm=a2c81.1143f0b.app.47.675c1127d1U9E9#/oss/detail/ossbag我们用的是oss的标准存储,但是我测试的时候是下午3~4点,也就是忙时的0.50元/GB:
所以费用就是: 0.0504 GB * 0.5元/GB = 0.0252 元了
回到上面的问题,假如10000个终端,每个终端播放2次这个51.12MB的视频,则实际流量是:0.0504 * 10000 * 2 = 1008G;费用是 1008 * 0.5 = 504元。
特别要注意:每次播放外网流出用量不一定相等!
我第一次测试的时候(那会不知道算法,没开oss的日志服务,所以验证不了阿里给的换算公式,害我需要再播放一次),这个51.12MB的视频播放完,用了0.05654GB,第二次反而少了。怎么说呢,既然每次都不一样,其实还真的只能预估。想想阿里反复给我说无法预估,确实也没有骗我。估计跟用户网络情况、视频所在的环境网络应该有点关系。
标签:视频,oss,流量,阿里,GB,播放 From: https://www.cnblogs.com/windysai/p/17090534.html