Rend-o-matic 是 Choirless 背后的核心技术,Choirless 是为参加 Call for Code 2020 全球竞赛而打造的音乐合作平台。其中,Rend-o-matic 的目的是让唱诗班领袖可以很容易地创建由多个部分(如中音、男高音、女高音)组成的歌曲,并组织唱诗班成员提供一个部分的演绎。所有提供的视频都会被拼接成一面视频墙,不需要特别的设备,也不需要使用昂贵和耗时的视频编辑软件。目前,Rend-o-matic 的团队由来自 IBM 的三名工程师组成。
Rend-o-matic 由多个共同工作的微服务组成:
Rend-o-matic 组件
- Renderer 这是是在 IBM Cloud Functions 框架中运行的 Python 和 Node.js 无服务器操作的集合。它们由云对象存储中的对象和用户驱动的事件触发。每个操作都会执行特定的有声视频处理工作,例如调整视频大小或创建多个视频源的蒙太奇。
- Boxjam 这是一个 Node.js 模块,它可以将许多矩形装入另一个矩形中 —— 如果你要创建各种尺寸和方向的视频蒙太奇,这很有用。
- Stitcheroo 这是一个 Node.js 模块,适合将多个视频源组合成输出蒙太奇。它还可以对音轨进行立体声传播和混响氛围处理。
渲染过程
渲染服务是一个多步骤流程,其中每一步都是由云对象存储桶中的对象到达而触发的。有些操作是并行进行的,以加快该过程。