从 Ruby 触发渲染
可从 v4.0.232 获取
🌐 available from v4.0.232
要使用 Ruby 触发 Lambda 渲染,请安装 remotion_lambda gem。
版本应与用于部署函数的 @remotion/lambda NPM 包版本相同。
🌐 To trigger a Lambda render using Ruby, install the remotion_lambda gem.
The version should be the same version of the @remotion/lambda NPM package version that you used to deploy your function.
注意
🌐 Notes
- 此模块是实验性的,并且在小版本中可能会有破坏性更改。请在此页面查看最新的示例。
- 实现的方法有
renderMediaOnLambda()、renderStillOnLambda()和getRenderProgressOnLambda()。 - 我们将维护 Ruby SDK,以确保字段与 Node.js 函数保持同步。
- 输入负载中的字段是 Node.js 字段名称的
snake_case版本。 - 嵌套字段名,例如
s3_output_provder.accessKeyId保留原始的camelCase大写形式。 - 响应负载的所有字段都与原始 Node.js 函数一样采用
camelCase。 - 最大输入负载大小约为 60KB。对于更大负载的解决方法(将它们上传到 S3)在 Ruby SDK 中尚未实现。
渲染视频并获取进度
🌐 Rendering a video and getting the progress
Rendering a video from Rubyrequire 'remotion_lambda' client = RemotionLambda::Client.new( region: 'eu-central-1', ) function_name = ENV.fetch('REMOTION_APP_FUNCTION_NAME') payload = get_render_media_on_lambda_payload( composition: "still-helloworld", download_behavior: { type: "play-in-browser", }, codec: "h264", input_props: { message: "Hello from props!", } ) res = client.render_media_on_lambda(function_name, payload) puts res while true render_progress_payload = get_render_progress_payload( render_id: res["renderId"], bucket_name: res["bucketName"], ) progress = client.get_render_progress(function_name, render_progress_payload) puts progress["overallProgress"] break if progress["done"] break if progress["fatalErrorEncountered"] sleep 1 end
渲染静态图片
🌐 Rendering a still
Rendering a still from Rubyrequire 'remotion_lambda' client = RemotionLambda::Client.new( region: 'eu-central-1', ) function_name = ENV.fetch('REMOTION_APP_FUNCTION_NAME') payload = get_render_still_on_lambda_payload( composition: "still-helloworld", input_props: { message: "Hello from props!", } ) res = client.render_still_on_lambda(function_name, payload) puts res
另请参阅
🌐 See also