在视频、社交应用等场景下,用户上传的图片、音视频的总量大、频率高,对处理系统的实时性和并发能力都有较高的要求。而上传的视频短片,可对应不同的清晰度使用多个云函数对其分别处理,以满足不同场景下用户的需求,同时适应移动网络带宽较小且不稳定的特性。
使用云函数、ffmpeg 及对象存储 COS 联动实现音视频转码的运行原理图如下:
在云函数中,可基于不同的编程语言(Python、Node、PHP、JAVA 及 GO)撰写自定义业务逻辑。以转码为例,操作步骤如下:
与容器服务对比,使用云函数及 ffmpeg 实现音视频转码服务的优势和不足如下表:
对比项 | 基于容器的实现 | 基于云函数的实现 | 分析 |
---|---|---|---|
实现方法 |
|
|
实现方案差异不大。 |
开发/测试/部署体验 |
|
|
在开发流程方面,云函数更加简单高效。 |
日志/监控/告警 | 需要在容器集群里启动 Agent,并对接日志平台、监控中心及告警平台。 | 自带日志/监控/告警能力,同时开放 API 接口,可以对接第三方日志/监控平台。支持运行时启动 Agent 进程,同步上报数据。 | 云函数自带能力较完善,但如需对接自建平台,启动 Agent 相比容器较复杂。 |
运维 | 需自主维护容器集群,弹性伸缩效率较低。 | 无需维护,云函数保障集群可用性、负载均衡及弹性伸缩。 | 云函数更加易用。 |
费用 | 需根据峰值预留容器资源,存在资源浪费可能性。 | 根据实际流量弹性伸缩、计费,费用节省30%以上。 | 云函数具有明显优势。 |
通过以上与容器的多维度对比,可得出以下结论:
优势:
不足:
本文以广州地域为例:
key | value |
---|---|
region | COS Bucket 所在地域。 |
target_bucket | 转码后的视频,上传到已创建好的 COS Bucket 中。 |
target_path | 转码后的视频,上传到 Bucket 的指定目录中。 |
说明:若您开通了 CFS 挂载服务,则请参考以下步骤在云函数中同时启用私有网络和文件系统挂载能力。
upload_path = '/mnt/new-'+ key.split('/')[-1]
登录 对象存储控制台 ,进入对应的 Bucket 目录下,上传视频文件,并到对应的转码目录下查看,是否生成压缩的视频文件。如下图所示:
说明:根据视频大小不同,压缩时间也不同。如果视频过大,则压缩时间也会延长,需要较长的时间才能查看到新视频。
基于本文示例,您还可扩展自动化 CDN 刷新/预热的能力。例如,转码后的视频在回传 COS Bucket 时,可触发新函数执行 CDN 刷新/预热功能。详情请参见 CDN 缓存刷新。
您还可借助云函数的高并发能力,实现快速转码或者切片功能。例如,函数 A 进行调度任务,函数 B 进行实际的转码/切片工作。可借助 CFS 挂载能力,轻松实现跨函数的文件共享功能。
你以为的散点图长这样: 其实散点图还可以长这样: 气泡图 大雁南飞图 看起来是...
通过配合使用CDN服务所提供的接口,您可以完整使用CDN服务的所有功能。 域名操作...
操作场景 本文介绍如何通过容器服务控制台查看集群中已创建的节点池,并获取节点...
想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区 https://...
这里只是用到的是微软自己开发的一个全自动工具: VisualStudioUninstaller 需要...
1. 接口描述 接口请求域名: vpc.tencentcloudapi.com 。 本接口(DescribeAddre...
操作场景 您可以修改、暂停/启用以及删除已经添加到云解析服务的公网域名,同时...
今天继续来给大家上一盘硬菜,保证喂个半饱嗝。和栈一样,队列(queue)也是一个非...
如今,越来越多的公司会选择云主机或云 服务器租用 ,因为云服务器和云主机都为...
TOP云 (west.cn)8月2日消息,昨天我们才报道了国别 域名 Furniture.co.uk以65...