利用 ffmpeg 进行分布式转码, 弹性高可用
本文由 vps网友提供,转载请注明出处
本文链接: https://www.vpsvsvps.com/discuss/a/1676472006595317760.html
本文由 vps网友提供,转载请注明出处
本文链接: https://www.vpsvsvps.com/discuss/a/1676472006595317760.html
@tianxiaodan123 两种方法:
1. 比如将 ffmpeg 这种放在 OSS 上,然后第一次启动执行环境(即冷启动)的时候初始化函数将 ffmpeg 下载下来
2. 直接将代码包的依赖放置在 NAS, 函数计算支持挂载 NAS: https://help.aliyun.com/document_detail/87401.html
@mamahaha 当然你也可以做成你主动触发, 就是你已经知道 oss 有某个视频了, 然后你主动调用函数, 对这个视频进行转码, 这个时候你可以自己实现成队列的。 至于转码流程你也可以弄成串行(只需要修改下函数工作流 FnF 的编排即可), 您说的省钱, 在函数计算中, 并行和串行花费并不会相差很大, 因为您函数计算的计费模式选择按需付费的, 按执行时间收费,只跟执行这个计算任务具体消耗的资源的时间和内存相关,并不会因为并行弹出来更多的机器资源就会多收费用, 计费: https://help.aliyun.com/document_detail/137980.html
@mamahaha 就是你上传文件了,就自动触发函数执行, 函数执行是并行的, 每个函数触发的流程又是可以并行进行转码的。 这个示例展示的是这样的, 解决的是两个问题:
1. 多个视频文件可以同时进行转码, 比如你的场景是很多用户同时提交视频到 oss, 你希望这些提交的视频能够快速转码好, 而不是后提交视频可能一天之后还没有轮到它被转码
2. 单个大视频文件可以进行切片, 切片转码再合并, 加速大视频文件的转码速度, 而且不同目标格式转码也是可以一起并行的
用户把需求提交到后台就能干别的去了: 在这个场景的语义,就是用户上传视频文件到 oss, 后面的流程是自动触发函数(这个函数是您的), 他啥也不用做了。