Transloadit:PDF到视频,可变长度



/video/merge docs

我需要一个将PDF转换为视频的模板。不幸的是,/视频/合并机器人似乎需要帧速率(幻灯片长度)以及视频持续时间。由于我不知道PDF有多少页,所以我无法提供持续时间。

有办法解决吗?

这是我当前模板的一部分:

"pdf_to_images": {
  "use": ":original",
  "robot": "/document/thumbs",
  "format": "png",
  "width": 1920,
  "height": 1080
},
"encode": {
  "use": {
    "steps": [
      {
        "name": "pdf_to_images",
        "as": "image"
      }
    ]
  },
  "robot": "/video/merge",
  "preset": "iphone",
  "width": 1920,
  "height": 1080,
  "ffmpeg": {
    "b": "8000K"
  },
  "framerate": "${fields.framerate}",
  "duration": "100"
},
//...store...

我需要从上传的字段中替换" framerate",但是我可以通过动态计数" pdf_to_images"的结果数量替换"持续时间"?

否则,我会卡住从每个图像中创建单个视频,从" pdf_to_images"产生,然后将它们串联,这在资源资本化方面似乎相当过大。

想法?

您可能要寻找的是${file.meta.page_count} - 如预期的那样,它将从/document/thumbs返回PDF中的页面。例如,如果您想制作一个视频,其中PDF的每个页面都可以持续一秒钟,您将使用类似的模板:

{
  "steps": {
    ":original": {
      "robot": "/upload/handle"
    },
    "pdf_to_images": {
      "use": ":original",
      "robot": "/document/thumbs",
      "format": "png",
      "results": true,
      "width": 1920,
      "height": 1080,
      "imagemagick_stack": "v2.0.7"
    },
    "merged": {
      "robot": "/video/merge",
      "use": {
        "steps": [
          {
            "name": "pdf_to_images",
            "as": "image"
          }
        ]
      },
      "result": true,
      "framerate": "1",
      "duration": "${file.meta.page_count}",
      "ffmpeg_stack": "v4.3.1",
      "preset": "iphone",
      "resize_strategy": "fillcrop"
    }
  }
}

相关内容

  • 没有找到相关文章

最新更新