我正在尝试使用fluent-ffmpeg节点包与createReadStream和createWriteStream。
但是,如果我替换这一行:
.output(fs.createWriteStream('assets/transcode-video.mp4'), {end: true})这是我写的
.output('assets/transcode-video.mp4', {end: true})它起作用了。但我真的跟着文档走了。我很感激任何帮助或暗示。
const fs = require('fs');
const ffmpeg = require("fluent-ffmpeg");
const logger = console;
const options = {
timeout: 60, // seconds
logger
};
ffmpeg(fs.createReadStream('assets/video.webm'), options)
.output(fs.createWriteStream('assets/transcode-video.mp4'), {end: true})
.on('end', () => console.log('Finished processing'))
.run();错误:
节点src/index.js events.js:292抛出er;//未处理的“错误”事件^ Error: ffmpeg退出代码1:管道:1:无效参数
发布于 2020-10-30 11:18:41
它不适用于createWriteStream,因为fluent-ffmpeg正在将所有内容“转换”为ffmpeg语法。此语法要求输出为字符串。
发布于 2020-10-26 09:16:39
在.output(fs.createWriteStream('assets/transcode-video.mp4'), {end: true}) remove fs.write()中,由于不必要,ffmpeg将创建输出文件,而无需手动完成。
您的代码将如下所示:
const fs = require ('fs');
const ffmpeg = require ("fluent-ffmpeg");
const logger = console;
const options = {
timeout: 60, // seconds
logger
};
ffmpeg (fs.createReadStream ('out.mp3'), options)
.output ('transcode-video.mp4', {end: true})
.on ('start', (a) => console.log (a))
.on ('end', () => console.log ('Processing completed'))
.run();https://stackoverflow.com/questions/64290100
复制相似问题