引入fluent-ffmpeg库
首先,在JavaScript文件中引入fluent-ffmpeg库。
const ffmpeg = require('fluent-ffmpeg');
提取音频
fluent-ffmpeg可以轻松提取视频中的音频流,并将其保存为MP3文件。以下是一个示例代码:
const inputPath = 'path/to/input/video.mp4'; // 输入视频文件路径
const outputPath = 'path/to/output/audio.mp3'; // 输出音频文件路径
ffmpeg(inputPath)
.output(outputPath)
.noVideo() // 禁用视频流
.audioCodec('libmp3lame') // 设置音频编解码器为libmp3lame
.on('end', () => {
console.log('音频提取完成');
})
.run();
在上述代码中,我们首先通过ffmpeg(inputPath)
创建了一个ffmpeg实例,并通过链式调用设置了输出选项。其中,noVideo()
方法用于禁用视频流,只保留音频流。然后,我们指定了音频编解码器为libmp3lame,并通过on('end')
方法监听音频提取完成的事件。最后,调用run()
方法执行提取操作。
转换音频格式
fluent-ffmpeg还支持音频格式的转换。例如,我们可以将WAV格式的音频文件转换为MP3格式。以下是一个示例代码:
const inputPath = 'path/to/input/audio.wav'; // 输入音频文件路径
const outputPath = 'path/to/output/audio.mp3'; // 输出音频文件路径
ffmpeg(inputPath)
.output(outputPath)
.audioCodec('libmp3lame') // 设置音频编解码器为libmp3lame
.on('end', () => {
console.log('音频格式转换完成');
})
.run();
在上述代码中,我们同样通过链式调用设置了输出选项,并指定了音频编解码器为libmp3lame。最后,调用run()
方法执行格式转换操作。