【问题标题】:How can i make fluent-ffmpeg to work in angular 8我怎样才能让 fluent-ffmpeg 在 Angular 8 中工作
【发布时间】:2020-07-30 00:34:37
【问题描述】:

我已经在我的项目中安装了“fluent-ffmpeg”插件,并以这种方式将它添加到我的 Angular 项目中 var ffmpeg = require('fluent-ffmpeg')我也用过这个方法import * as ffmpeg from 'fluent-ffmpeg'

我在使用 ng serve 构建时遇到以下问题

ERROR in ./node_modules/fluent-ffmpeg/index.js
Module not found: Error: Can't resolve './lib-cov/fluent-ffmpeg' in '/home/projects/angular/demo/node_modules/fluent-ffmpeg'
ERROR in ./node_modules/fluent-ffmpeg/lib/ffprobe.js
Module not found: Error: Can't resolve 'child_process' in '/home/projects/angular/demo/node_modules/fluent-ffmpeg/lib'
ERROR in ./node_modules/fluent-ffmpeg/lib/utils.js
Module not found: Error: Can't resolve 'child_process' in '/home/projects/angular/demo/node_modules/fluent-ffmpeg/lib'
ERROR in ./node_modules/fluent-ffmpeg/lib/processor.js
Module not found: Error: Can't resolve 'child_process' in '/home/projects/angular/demo/node_modules/fluent-ffmpeg/lib'
ERROR in ./node_modules/fluent-ffmpeg/lib/recipes.js
Module not found: Error: Can't resolve 'fs' in '/home/projects/angular/demo/node_modules/fluent-ffmpeg/lib'
ERROR in ./node_modules/fluent-ffmpeg/lib/capabilities.js
Module not found: Error: Can't resolve 'fs' in '/home/projects/angular/demo/node_modules/fluent-ffmpeg/lib'
ERROR in ./node_modules/fluent-ffmpeg/lib/processor.js
Module not found: Error: Can't resolve 'fs' in '/home/projects/angular/demo/node_modules/fluent-ffmpeg/lib'
ERROR in ./node_modules/isexe/windows.js
Module not found: Error: Can't resolve 'fs' in '/home/projects/angular/demo/node_modules/isexe'
ERROR in ./node_modules/isexe/mode.js
Module not found: Error: Can't resolve 'fs' in '/home/projects/angular/demo/node_modules/isexe'
ERROR in ./node_modules/isexe/index.js
Module not found: Error: Can't resolve 'fs' in '/home/projects/angular/demo/node_modules/isexe'
ERROR in ./node_modules/fluent-ffmpeg/lib/utils.js
Module not found: Error: Can't resolve 'os' in '/home/projects/angular/demo/node_modules/fluent-ffmpeg/lib'
ERROR in ./node_modules/fluent-ffmpeg/lib/fluent-ffmpeg.js
Module not found: Error: Can't resolve 'path' in '/home/projects/angular/demo/node_modules/fluent-ffmpeg/lib'
ERROR in ./node_modules/fluent-ffmpeg/lib/processor.js
Module not found: Error: Can't resolve 'path' in '/home/projects/angular/demo/node_modules/fluent-ffmpeg/lib'
ERROR in ./node_modules/fluent-ffmpeg/lib/recipes.js
Module not found: Error: Can't resolve 'path' in '/home/projects/angular/demo/node_modules/fluent-ffmpeg/lib'
ERROR in ./node_modules/fluent-ffmpeg/lib/capabilities.js
Module not found: Error: Can't resolve 'path' in '/home/projects/angular/demo/node_modules/fluent-ffmpeg/lib'
ERROR in ./node_modules/fluent-ffmpeg/lib/options/misc.js
Module not found: Error: Can't resolve 'path' in '/home/projects/angular/demo/node_modules/fluent-ffmpeg/lib/options'
ERROR in ./node_modules/which/which.js
Module not found: Error: Can't resolve 'path' in '/home/projects/angular/demo/node_modules/which'
ERROR in ./node_modules/fluent-ffmpeg/lib/recipes.js
Module not found: Error: Can't resolve 'stream' in '/home/projects/angular/demo/node_modules/fluent-ffmpeg/lib'

请问我该如何解决这个错误

【问题讨论】:

  • 我也想在我的 ionic 项目中使用 ffmpeg。你(OP)找到任何解决方案了吗?
  • 这样使用 - declare var require: any var ffmpeg = require('fluent-ffmpeg')

标签: angular ffmpeg fluent-ffmpeg


【解决方案1】:

fluent-ffmpeg 是一个 JavaScript 库,因此您可能认为可以在 Angular 应用程序中使用它,但它是用于调用 ffmpeg 二进制文件的包装器。您无法在客户端 JavaScript 应用程序中嵌入 ffmpeg 二进制文件,因此很遗憾,此库对您的用例没有帮助。

如果你想使用 ffmpeg,你需要调用你的服务器,并在服务器上使用 ffmpeg(如果你的服务器使用 Node 运行,可能在服务器上使用 fluent-ffmpeg)。

您会遇到很多像这个非常常见的 JavaScript 项目,但它们是用于类似服务器的用例,而不是用于客户端浏览器应用程序。

【讨论】:

    【解决方案2】:

    如果您想在 typescript 中使用任何用于节点的库,请以这种方式使用它。

    declare var require: any; 
    var ffmpeg = require('fluent-ffmpeg');
    

    【讨论】:

      猜你喜欢
      • 2020-05-22
      • 2021-01-22
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      • 2013-07-22
      • 2013-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多