首页 > 解决方案 > Node.js:如何将元数据添加到音频文件?

问题描述

我有一个 .wav 音频文件,我想在 Node.js 中添加元数据:

let original = fs.readFileSync('./somewhere/something.wav').toString('base64')
let withMeta = addMeta(original)
fs.writeFileSync('./somewhere/something-more.wav', withMeta)

这可能吗 ?是否有一些 Js 库允许您元数据(不仅仅是读取/提取它)写入现有的音频文件。

标签: node.jsffmpegmetadatamp3fs

解决方案


假设您ffmpeg的系统上有,您可以通过fluent-ffmpeg执行以下操作在节点中使用它:

const ffmpeg = require('fluent-ffmpeg')

ffmpeg('./somewhere/something.wav')
  .audioCodec('copy')
  .outputOptions(
    '-metadata', 'title=testtitle',
    '-metadata', 'artist=testartist'
  )
  .output('./somewhere/something-more.wav')
  .on('end', () => { console.log('done') })
  .run()

ffmpeg 中波形文件的可接受元数据键是:(

  artist
  comment
  copyright
  date
  genre
  language
  title 
  album 
  track
  encoder
  timecode
  encoded_by

推荐阅读