Transloadit: PDF в видео, переменной длины

/ видео / объединить документы

Мне нужен шаблон, который конвертирует 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", а затем объединяя их, что кажется довольно чрезмерным с точки зрения капитализации ресурсов.

Мысли?

1 ответ

Вы могли бы искать ${file.meta.page_count}- который, как и ожидалось, вернет количество страниц в PDF из / document / thumbs. Например, если вы хотите сделать видео, в котором каждая страница 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"
    }
  }
}
Другие вопросы по тегам