我从npm网站搜索到了ffmpeg包[https://www.npmjs.com/package/ffmpeg],
按照说明执行了
npm install ffmpeg
然后在使用中发现,当媒体文件的文件名中包含空格时得不到结果。
跟踪源码,发现是 ffmpeg.js的_videoInfo中给utils.exec传递参数的时候没有考虑文件名带空格的情况。结果导致调用 child_process.exec 时命令行不正确。
到github上查看issue,已经有人提过这个问题了。
issue: Support for whitespace and special characters in input file name. #29
根据issues中的说法,npm仓库中的不是最新的代码,需要使用下面命令安装:
npm install damianociarla/node-ffmpeg
安装后问题解决。