【问题标题】:FFMPEG on Lambda - No Such filter: OverlayLambda 上的 FFMPEG - 没有这样的过滤器:覆盖
【发布时间】:2019-07-15 16:38:54
【问题描述】:

我正在尝试在 lambda 函数上运行 ffmpeg。我正在使用 Python 2.7 环境。我正在使用来自https://johnvansickle.com/ffmpeg/ 的最新静态版本。将 ffmpeg 二进制文件复制到 tmp 目录并修改为 555。

我正在运行以下命令:

subprocess.check_output(["/tmp/ffmpeg", "-r", "24","-i", "/tmp/"+background['video'], "-i", location+"%08d.png","-i", "/tmp/"+background['audio'],"-filter_complex", "'[0:v][1:v]overlay'","-shortest","-c:v", "libx264", "-vf","fps=24", "-pix_fmt", "yuv420p", "/tmp/output.mp4"])

我收到了错误:

AVFilterGraph @ 0x5b3b1c0] No such filter: '[0:v][1:v]overlay'

我看到了有关添加 stdin=subprocess.DEVNULL here 的信息,但我不知道如何添加,以及在这种情况下是否有帮助。

还有人有其他建议吗?

提前致谢。

迈克

【问题讨论】:

  • 可能是引用问题。
  • 感谢您的想法。我已经尝试过覆盖部分的单引号、双引号和无引号。还有什么我应该尝试的吗?
  • 我不是 python 用户,所以我对这部分帮助不大。如果您显示正在执行的实际 ffmepg 命令,我可能会看到一些东西。与手头的确切问题无关,但您不能将-filter_complex-vf 用于同一个流,否则您将收到一条错误消息告诉您这一点。在一个过滤器图中进行所有过滤:"[0:v][1:v]overlay,fps=24,format=yuv420p"。如果你这样做,你也可以删除-pix_fmt yuv420p
  • 嗨。我很抱歉回复缓慢。 subprocess.check_output 编译命令的方式似乎存在问题。当我手动编译命令时,它奏效了。

标签: python ffmpeg aws-lambda


【解决方案1】:

subprocess.check_output 编译命令的方式似乎存在一些问题。我自己编译了命令的字符串并使用os.system 运行它,它运行没有错误。

【讨论】:

    猜你喜欢
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 2019-08-14
    • 1970-01-01
    相关资源
    最近更新 更多