ffmpeg转码webm到mp4报错Unrecognized option 'vcodec libx264'
报错触发原因
- Node.js的
spawnSync方法要求传入的命令参数数组中,每个选项名和对应参数值必须拆分为独立的数组元素,不能合并为同一个字符串 - 你当前代码里将
-vcodec和参数值libx264合并为一个元素"-vcodec libx264",-r和参数值30合并为"-r 30",ffmpeg会将整段字符串识别为一个不存在的选项,因此抛出参数解析错误。
解决方案
修改参数数组,将所有选项和对应值拆分为独立元素即可,修正后的代码如下:
const args = [ "-i", inputFilename, "-vcodec", "libx264", "-r", "30", "-y", mp4Filename, ]; try { const { error, output } = spawnSync(ffmpeg, args); console.log(`output: ${output}`); console.log(`error: ${error}`); } catch (error) { console.log("ffmpeg failed..."); console.log(error); }
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

