我需要一个将PDF转换为视频的模板。不幸的是,/ video / merge机器人似乎需要帧率(幻灯片长度)以及视频持续时间。由于我不知道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...
我需要更换"帧率"从上传中的字段,但我可以替换"持续时间"从动态计算" pdf_to_images"?
的结果数量否则,我无法根据" pdf_to_images"的每张图片结果创建单独的视频。然后将它们连接起来,这在资源资本化方面似乎相当过分。
思想?
答案 0 :(得分:0)
您可能要查找的是 ${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"
}
}
}