服务器端渲染选项比较
本页面比较了云端视频渲染的 3 种选项:
这些选项故意设计得有所不同,具有不同的权衡,以便您可以选择最适合您用例的选项。
总体建议
我们建议大多数人使用 Remotion Lambda,因为它在速度、设置便捷性、成熟度、总成本和可扩展性方面具有最佳权衡。
使用 Remotion Lambda 解决方案的视频渲染量最高的客户。
速度
Remotion Lambda 是最快的选项,因为它实现了分布式渲染 - 视频被分成较小的块,并在多个 Lambda 函数之间并行渲染。
Cloud Run 不支持分布式渲染,因此渲染发生在一台物理机器上。
从头开始实现自定义的分布式渲染解决方案具有挑战性,我们目前还没有提供文档。
成本
Remotion Lambda 上的计算成本比其他选项更高。 但是,只有在实际渲染视频时才会产生成本。 根据您渲染的视频数 量,使用 Lambda 的总成本可能会更低或更高。
Cloud Run 比 Lambda 更便宜,因为它没有分布式渲染,也没有相关的开销。 您还不必为 Cloud Run 实例处于空闲状态的时间付费。
运行服务器的计算成本远低于其他选项。 但是,您还需要为服务器处于空闲状态的时间付费。
结论:您渲染的视频越多,长时间运行的服务器对您可能越有价值。
设置便捷性
Remotion Lambda 和 Cloud Run 设置速度很快。 Remotion Lambda 已内置在我们的 SaaS 模板中,因此您可以非常快速地开始使用。
使用 Node.JS APIs 需要您自己设置服务器并自行管理某些内容:
- 排队渲染
- 处理流量激增
- 进度报告和错误处理
- 设置日志记录
- 服务器配置
总体而言,这是一项艰巨的工作,仅建议那些致力于使用 Remotion 并希望获得最大灵活性的团队。
功能集
Remotion Lambda 目前具有以下 Cloud Run 不具备的功能:
- 分布式渲染
- Webhooks
- Apple Emoji
- 进度轮询
- 成本估算
- 具有过期日期的渲染
- 从 PHP、Go 和 Python 进行渲染
使用 Node.JS API 进行渲染也不具备这些功能,但您可以基于提供的低级 API 构建这些功能。
GPU
大多数渲 染不会因 GPU 加速而变得更快。请参阅:哪些内容受益于 GPU?。
我们有关于配置具有 GPU 加速的服务器的指南,但 Remotion 尚不支持此功能。
Remotion Lambda 不具备 GPU。您仅限于 CPU 渲染。
我们尚未测试 Cloud Run 是否支持 GPU 加速。可以向 Cloud Run 实例添加 GPU - 我们很想听听您的反馈。
稳定性
我们对 Remotion Lambda 和 Node.js API 的架构感到满意,并致力于长期支持。
Cloud Run 处于 Alpha 阶段,我们正在考虑将其转换为重用 Remotion Lambda 代码的模式。 这将使我们能够更好地匹配 Remotion Lambda 的功能,并实现分布式渲染。
目前,Cloud Run 的开发受到限制,因为每次更改都需要构建新的 Docker 镜像,使测试变慢。 因此,我们目前仅对当前 Cloud Run 产品进行必要的更改。
结论
我们建议从 Remotion Lambda 开始,因为这是最快入门的方式,也减少了错误的可能性。
随着 Remotion 渲染的规模扩大和复杂性增加,以及希望更具成本效益,我们建议您也研究其他选项。