认证故事|我和阿里云学知识

简介: 在使用阿里云服务的过程中,我们可以学到很多设计和流程上的经验,在自己独立开发云服务的时候,可以借鉴很多内容。本文就介绍了自己学习阿里云多媒体处理服务的一次实战经历,学知识可以找阿里云,借鉴经验也可以找阿里云。

前言

在开发一个上传点播系统时,自己第一次接触到了阿里云的 OSS 对象存储服务和媒体处理服务,在这个过程中,我学到了很多相关的经验和知识。

正文

其实,这个上传点播系统是项目中的用户需求的一部分,我们在讨论和设计方案的时候,前后权衡了两种具体的实现方案。接下来详细介绍一下。

第一种方案,全权委托阿里云

这种方案,我们自己的开发工作工作量最少,我们只需要开发一个云存储和多媒体处理的网关服务,把前端页面上传的视频文件和音频文件上传到阿里云的对象存储服务,然后,再调用阿里云的媒体处理服务接口,完成对应媒体文件的转码任务。最后,拿到目标文件地址,返回给播放器满足用户播放需求。方案实现示意图如下:

image.png

虽然该方案的开发工作量少是优势,但是也引出了另外一个问题,那就成本也比较高。为什么这么说呢,我们根据具体的业务场景分析一下其中的原因。首先,考虑到并发转码的费用较高(这是第一个现实问题),因此,用户上传的大量视频文件不可能完成实时转码,并生成目标文件。这样造成的结果就是我们需要保存原始文件一段时间,尽管用户没有下载需求,我们也不能立即删除它们,这就导致了一定量多余存储费用的产生(这是第二个现实问题)。所以,这套方案的成本分布情况是并发转码占大头,原始文件存储占少部分,剩下的是点播费用。

基于第一种方案的上述问题,我们讨论出了第二套实现方案。

第二种方案,半委托阿里云。

这种方案,我们自己的开发工作量稍微会增加一些(其实是很多,哈哈)我们需要自己开发一个多媒体转码服务,将上传的音频文件和视频文件统一转码成 m3u8 文件,同时保证音频编码格式是 aac,视频编码格式是 h264,然后再把 m3u8 和 ts 分片文件上传到阿里云的对象存储服务 OSS,然后把上传文件的存储地址返回给播放器满足用户的播放需求。方案实现示意图如下:

image.png

可以看得出来,这种方案减少了调用阿里云多媒体处理的接口,节省了多媒体处理相关的费用(这一点非常符合公司降本增效的企业文化),解决了方案一中的第一个问题。另外,我们不需要把原始媒体文件上传到 OSS 云存储,而是在本地完成转码,把最终的目标文件上传到 OSS 云存储,这样就解决了方案一中的第二个问题。

结论

综上所述,我们选择了第二种方案,半委托方式。在这个过程中我们体验了阿里云的对象存储服务能力和多媒体处理能力,就是多媒体处理费用稍微有些高,但是这也无可厚非,毕竟这样的定价在市面上也算中规中矩。了解音视频的小伙伴都知道,多媒体转码会消耗大量的服务器CPU资源,费用高也是可以理解的。

目录
相关文章
|
2月前
|
API
阿里云微服务引擎 MSE 及 API 网关 2026 年 5 月产品动态
阿里云微服务引擎 MSE 及 API 网关 2026 年 5 月产品动态。
240 29
|
5月前
|
人工智能 开发工具 数据安全/隐私保护
无需坐班写代码!OpenClaw(Clawdbot)阿里云/本地部署+GitHub自动化,手机遥控 AI 助手开发
“躺在床上动动手指,就让AI完成代码编写、效果预览、仓库提交”——这不是科幻场景,而是2026年OpenClaw(原Clawdbot)的常规操作。作为具备全流程开发能力的AI代理工具,OpenClaw能无缝衔接GitHub,实现“克隆仓库→需求开发→启动服务预览→提交代码”的一条龙服务,搭配飞书等移动交互渠道,真正做到“随时随地发指令,AI全程代劳开发”。
2063 1
|
SQL Java 数据库连接
MyBatis (十四) 逆向工程以及源码分析
MyBatis Generator逆向工程以, 即根据数据库表生成实体类pojo, mapper, dao接口
MyBatis (十四)  逆向工程以及源码分析
|
弹性计算 负载均衡 数据安全/隐私保护
ECS七天训练营day3
SLB负载均衡实践
ECS七天训练营day3
人工智能 缓存 前端开发
6308 20
人工智能 JavaScript 开发工具
3295 4
缓存 JavaScript Shell
1562 1
开发工具 Swift git
1089 1
Shell API 调度
871 2

热门文章

最新文章