【发布时间】:2022-01-14 08:01:14
【问题描述】:
我正在开发一个 Node.js 网络应用程序,我想使用“fluent-ffmpeg”在视频上添加一些文本。经过几分钟的处理,它在 68-69% 处停止,但它没有给出任何错误。我使用来自 Google Cloud 的 GET 签名 URL 作为输入。
const ffmpeg = require('fluent-ffmpeg');
const url = await generateV4ReadSignedUrl(storage).catch(console.error);
try {
const process = ffmpeg(url)
.withVideoFilter(command)
.on('progress', function(info) {
console.log('progress ' + info.percent + '%');
})
.on('end', function() {
console.log('Processing finished successfully');
})
.on('error', function(err, stdout, stderr) {
console.error;
})
.save(__dirname+'/../add_labels/video.mp4');
} catch (e) {
console.log(e.msg);
}
当达到 69% 时停止并显示:“处理成功完成”。我尝试在终端上使用与输入相同的 url 运行相同的命令,并且它完全完成了该过程。另外,我尝试在没有命令的情况下运行它,但仍然执行相同的操作。
【问题讨论】:
-
这在本地有效吗?如果是这样,您在哪个产品上运行该应用程序?
-
我在终端上写了这个: ffmpeg -i "signed/google-cloud/url" -vf "drawtext=text='Test':fontcolor=white:fontsize=24:box=1: boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2, drawtext=text='Test1\nTest2':fontcolor=white:fontsize=24:box= 1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/3:y=(h-text_h)/3:enable='between(t,3,10)'" -codec:一个副本video.mp4 并且它在本地工作。如果我使用 Node 和“fluent-ffmpeg”做同样的事情,它会处理视频的前半部分,然后在 68-69% 左右停止(使用与输入相同的 url)。
标签: node.js ffmpeg google-cloud-storage fluent-ffmpeg