我正在编写一个节点脚本,它使用复制和重新标记我的一些 MP4 文件fluent-ffmpeg
它不适用于任何包含空格的元数据。进行复制/标记的代码如下所示:
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 上)
任何人都可以建议一种让它工作的方法吗?