NodeJS ffmpeg-gcp云函数上的静态错误

q5lcpyga  于 11个月前  发布在  Node.js
关注(0)|答案(1)|浏览(98)
const ffmpegPath = require('ffmpeg-static');
const spawn = require('child_process').spawn;

function extractFrames(inputFile, outputFile, fps = 0.1) {
    return new Promise((resolve, reject) => {
        const ffmpeg = spawn(ffmpegPath, [
            '-i', inputFile,
            '-vf', `fps=${fps}`,
            outputFile
        ]);

        ffmpeg.on('close', resolve);
        ffmpeg.on('error', reject);
    });
}

字符串
这段代码是gcp云函数Uncaught signal: 11, pid=15, tid=15, fault_addr=99.的错误,我试图保存帧在“/tmp”文件夹.但是,我得到这个错误.
我的ffmpeg-static版本是:5.2.0
在本地主机上运行时,这是完全正常的。但是,它在gcp上,它给出错误。

wz8daaqr

wz8daaqr1#

根据您收到的错误消息,这似乎是库版本的问题。
我建议你查看这个GitHub问题,它建议使用旧版本的node.js。同时检查安装的版本是否与你正在使用的库版本兼容。此外,它似乎是一个开放的问题,这不是一个完整的答案,而是一个解决方案。
在Ubuntu 22.04上的Google Cloud Functions,第二代,Node 20中遇到了这个问题。
考虑到人们报告说这适用于旧版本的Node和/或Ubuntu,我想知道这是否是ffmpeg或Node(或两者)的问题。降级到旧版本不是一个有吸引力的长期解决方案,所以我试图做更多的挖掘,看看我是否能找到问题的根源。
也检查这另一个Github Link知道ffmpeg-static的支持版本环境.我可以看到,你正在使用ffmpeg-static 5.2.0版本,但根据这个Github Link最新使用的ffmpeg-static版本是6.0.

相关问题