首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node.js fluent-ffmepg与createWriteStream失败

node.js fluent-ffmepg与createWriteStream失败
EN

Stack Overflow用户
提问于 2020-10-10 04:52:45
回答 2查看 1.3K关注 0票数 2

我正在尝试使用fluent-ffmpeg节点包与createReadStreamcreateWriteStream

但是,如果我替换这一行:

代码语言:javascript
复制
  .output(fs.createWriteStream('assets/transcode-video.mp4'), {end: true})

这是我写的

代码语言:javascript
复制
  .output('assets/transcode-video.mp4', {end: true})

它起作用了。但我真的跟着文档走了。我很感激任何帮助或暗示。

代码语言:javascript
复制
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:无效参数

我的完整代码存储库

EN

回答 2

Stack Overflow用户

发布于 2020-10-30 11:18:41

它不适用于createWriteStream,因为fluent-ffmpeg正在将所有内容“转换”为ffmpeg语法。此语法要求输出为字符串。

票数 0
EN

Stack Overflow用户

发布于 2020-10-26 09:16:39

.output(fs.createWriteStream('assets/transcode-video.mp4'), {end: true}) remove fs.write()中,由于不必要,ffmpeg将创建输出文件,而无需手动完成。

您的代码将如下所示:

代码语言:javascript
复制
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();
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64290100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档