我正在尝试使用fluent-ffmpeg将多个视频文件合并为流输出。但它只传输第一个视频。
res.set('content-type', 'video/webm');
var proc = ffmpeg()
.mergeAdd('file-1.webm') // tried with input()
.mergeAdd('file-2.webm')
.mergeAdd('file-3.webm')
.format('webm')
.size('680x?')
.on('end', function() {
console.log('file has been converted succesfully');
})
.on('error', function(err) {
console.log('an error happened: ' + err.message);
})
// save to stream
.pipe(res, {end:true})有什么想法吗?
发布于 2021-09-30 15:29:15
是的,虽然我没有使用fluent-ffmpeg。取而代之的是,生成ffmpeg并使用一个输入文件,该文件以正确的顺序列出要合并的文件。
import { spawn } from 'child_process';输入文件应如下所示:
file 'path/to/webm1.webm'
file 'path/to/webm2.webm'
file 'path/to/webm3.webm'然后调用ffmpeg
await spawn('ffmpeg', [
'-y',
'-safe', '0',
'-f', 'concat',
'-i', 'path/to/ffmpeg-input.txt'),
'-c', 'copy',
'path/to/finalvideo.webm')
]);https://stackoverflow.com/questions/69146942
复制相似问题