Skip to main content

从 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 Ruby
require '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 Ruby
require '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