накидал чутка кода для yandex cloud functions
const ffp = require('@ffmpeg-installer/ffmpeg');
const ffmpeg = require('fluent-ffmpeg');
ffmpeg.setFfmpegPath(ffp.path);
module.exports.handler = async function (event, context) {
try {
const inputUrl = 'https://storage.yandexcloud.net//24f2622c-ca2d-4d3f-9c6a-bd275bfce063/c2a38ad3985b2a4ecc589c900d1a5356.mp4';
const watermarkPath = 'https://storage.yandexcloud.net/content/244f1559-eb73-5fe6-ab28-1d738fd9d513.blob';
const outputVideoPath = './videos/video1.mp4';
await new Promise((resolve, reject) => {
ffmpeg()
.input(inputUrl)
.input(watermarkPath)
.complexFilter([
'[0:v]scale=iw/2:ih/2 [main]; [1:v]scale=100:50 [watermark]; [main][watermark]overlay=W-w-10:H-h-10'
])
.toFormat('mp4')
.on('end', () => {
console.log('Готово! Водяной знак добавлен.');
resolve();
})
.on('error', (err) => {
console.error('Ошибка:', err);
reject(err);
})
.save(outputVideoPath);
});
} catch (err) {
console.log(err);
console.log(err.stack);
return {
message: 'Error: ' + err.msg,
error: err.stack
};
}
};
если убираю эту строчку
const ffmpeg = require('fluent-ffmpeg');
ругается что не может найти ffmpeg
если оставляю, то
{
"errorMessage": "Unable to import converter.handler module. Error: undefined",
"errorType": "Error",
"stackTrace": [
{
"function": "de.<anonymous>",
"file": "/function/runtime/bootstrap",
"line": 177,
"column": 91
},
{
"function": "Generator.throw",
"file": null,
"line": null,
"column": null
},
{
"function": "a",
"file": "/function/runtime/bootstrap",
"line": 158,
"column": 184
}
]
}
на локалке все отрабатывает(