【发布时间】:2018-08-04 15:02:00
【问题描述】:
我正在编写一个 Node 脚本,它使用 fluent-ffmpeg 复制和重新标记我的一些 MP4 文件
它不适用于任何包含空格的元数据。进行复制/标记的代码如下所示:
const ffmpeg = require('fluent-ffmpeg');
const inputFilename = 'path/to/original.m4a';
const outputFilename = 'path/to/new.m4a';
const options = [
'-metadata', 'artist=Someone',
'-metadata', 'album=Some title',
// ...etc
];
ffmpeg(inputFilename)
.outputOptions(options)
.saveToFile(outputFilename);
这会导致错误:
events.js:183
throw er; // Unhandled 'error' event
An error occurred: ffmpeg exited with code 1: title: Invalid argument
我尝试将Some title 放在单引号、双引号和不带引号中。我试过逃避其中的空间。我尝试将选项数组作为单个选项而不是元组传递,例如:'-metadata album="Some title"' - 但无论我尝试什么,当有空格时它仍然会引发错误。
(可能需要注意这是在 Windows 上)
谁能建议一种让它工作的方法?
【问题讨论】:
标签: javascript node.js ffmpeg escaping fluent-ffmpeg