我得到了这个: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"
},
我的node-file看起来像这样:
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
}
运行node index.js
时立即崩溃,并出现上面提供的错误。
我可以在该目录中看到wasm-binary,所以不确定问题可能是什么。这是在Nodejs中,运行版本v18.12.0
1条答案
按热度按时间v2g6jxz61#
我已经确认将Lambda从Node.js 18.x降级到Node.js 16.x为我们解决了这个问题。
我不知道为什么ffmpeg会抛出这个错误,因为我们所能看到的只是一条一般性的消息“无法解析URL”。但是,在我们更清楚地了解这一点之前,您可以将需要使用ffmpeg的函数分解到自己的Lambda甚至自己的应用程序中,并仅在Node.js 16.x上运行该部分作为解决方案。