FFMPEG wasm - 无法解析 URL

Seb*_*önn 7 ffmpeg node.js

我得到这个:RuntimeError: abort(TypeError: Failed to parse URL from /Users/name/git/ffmpegtestproject/node_modules/@ffmpeg/core/dist/ffmpeg-core.wasm

我的 package.json 如下所示:

"dependencies": {
    "@ffmpeg/core": "^0.11.0",
    "@ffmpeg/ffmpeg": "^0.11.6",
    "express": "^4.18.2",
    "multer": "^1.4.5-lts.1"
  },
Run Code Online (Sandbox Code Playgroud)

我的节点文件如下所示:

const express = require("express");
const path = require('path')
const { dirname } = path;
const multer = require("multer");
const { createFFmpeg } = require("@ffmpeg/ffmpeg");
const app = express();


const upload = multer({ storage: multer.memoryStorage() })
const ffmpegInstance = createFFmpeg({ log: true })
let ffmpegLoading = ffmpegInstance.load()

async function getFfmpeg() {
  if (ffmpegLoading) {
    await ffmpegLoading;
    ffmpegLoading = undefined
  }
  return ffmpegInstance
}

Run Code Online (Sandbox Code Playgroud)

运行时立即崩溃node index.js,并出现上面提供的错误。

我可以在该目录中看到 wasm-binary,所以不确定问题是什么。这是在 Nodejs 中,运行版本 v18.12.0

Ala*_*veu 0

我已经确认将 Lambda 从 Node.js 18.x 降级到 Node.js 16.x 解决了我们的问题。

我不知道为什么 ffmpeg 会抛出该错误,因为我们只能看到一般消息“无法解析 URL”。但在我们更清楚地了解这一点之前,您可以将需要使用 ffmpeg 的函数分解到自己的 Lambda 甚至自己的应用程序中,并仅在 Node.js 16.x 上运行该部分作为解决方法。