0

我有一个部署到我的 OpenFaaS 的 ffmpeg Dockerfile 函数:

FROM ghcr.io/openfaas/classic-watchdog:0.1.5 as watchdog

FROM jrottenberg/ffmpeg:4.1-alpine

RUN mkdir -p /home/app

COPY --from=watchdog /fwatchdog /usr/bin/fwatchdog
RUN chmod +x /usr/bin/fwatchdog

# Add non root user
RUN addgroup -S app && adduser app -S -G app
RUN chown app /home/app

WORKDIR /home/app

USER app

# Populate example here - i.e. "cat", "sha512sum" or "node index.js"
ENV fprocess="ffmpeg"
# Set to true to see request in function logs
ENV write_debug="false"

EXPOSE 8080

HEALTHCHECK --interval=3s CMD [ -e /tmp/.lock ] || exit 1

CMD ["fwatchdog"]

但我无法弄清楚如何将文件流式传输到函数并提供参数,以便 ffmpeg 知道文件和参数。我对 OpenFaaS 还很陌生,也许这很简单,但我无法理解它。

任何帮助将非常感激。

4

1 回答 1

0

相信你可以在这里找到你的答案 总结一下:

  • 创建一个类似于 alexellis 的bash-streaming的模板,用你的替换那个 Dockerfile
  • faas-cli new --lang your-template your-ffmpeg
  • 编辑 your-ffmpeg.yaml 以获得正确的 FAAS URL、额外时间参数等
  • 在你的 ffmpeg 文件夹中确保有一个看起来像这样的 handler.sh 。handler.sh 是将参数传递给 ffmpeg 的地方。
于 2021-07-29T15:16:10.427 回答