/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"
}
}
}