Javascript 拆分音频MP3文件
我想用NodeJS分割一首歌。我一直在寻找一个模块,可以处理音频文件,但我找不到任何为此目的。如何使用NodeJS分割MP3文件?您可能会使用ffmpeg。它是基于命令行的,这很好,因为它是可访问的,但子进程有时可能会消亡。下面是一个节点接口,它将ffmpeg的使用从命令行调用中抽象出来: 命令行中的最终命令可能如下所示:Javascript 拆分音频MP3文件,javascript,node.js,audio,mp3,Javascript,Node.js,Audio,Mp3,我想用NodeJS分割一首歌。我一直在寻找一个模块,可以处理音频文件,但我找不到任何为此目的。如何使用NodeJS分割MP3文件?您可能会使用ffmpeg。它是基于命令行的,这很好,因为它是可访问的,但子进程有时可能会消亡。下面是一个节点接口,它将ffmpeg的使用从命令行调用中抽象出来: 命令行中的最终命令可能如下所示: ffmpeg -i long.mp3 -acodec copy -ss 00:00:00 -t 00:30:00 half1.mp3 ffmpeg -i long.mp3 -
ffmpeg -i long.mp3 -acodec copy -ss 00:00:00 -t 00:30:00 half1.mp3
ffmpeg -i long.mp3 -acodec copy -ss 00:30:00 -t 00:30:00 half2.mp3
此命令说明:
:输入文件-i
长。mp3
:使用音频编解码器-acodec
:我们正在复制复制
:开始时间-ss
:长度-t
- 最后是输出文件名
如果mp3是恒定的比特率,那么您就可以直接使用mp3文件进行相同的操作。我记得在Napster和Kazaa以及他们类似的西部荒野时代,我会在下载过程中中断下载,这样我就可以毫无疑问地听一半的歌曲了。我不知道这样做的可能性有多大,但值得一试。我已经使用过SoX——一种用于处理音频的命令行工具。确保在UNIX中从源代码构建它以获得MP3支持。您要查找的命令将是trim
这是官方文档-我以前读过ffmpeg,但我正在使用module.io部署我的应用程序,我不确定我是否可以使用ffmpeg命令行,因为我需要在使用之前安装它。@jvrdelafuent可能会起作用。您可能可以将其作为依赖项添加,而不做任何其他工作。我不能尝试这样做,因为我正在windows上工作,并且我不确定witch Operating system是否使用module.io。我将尝试直接在模块上执行它。你能举个例子吗?因为我不确定如何将ffmpeg库与ffmpeg bin混合使用。@jvrdelafuent您可以获取windows的ffmpeg二进制文件,将它们放入git repo中,并将该repo包含在package.json中。你也可以把mac、linux等二进制文件扔进去,我这个周末会试试你的解决方案。谢谢。我想把一首歌分成两段。开始时间和结束时间。是否可以使用您的方法来实现此目标?你能举个例子吗?我不确定,我是否理解您的意思。我不知道node lame是否允许您访问歌曲的实际运行时间,但假设您提前知道歌曲的长度正好为3分钟,您希望将歌曲分为前两分钟和最后一分钟。假设它是一个恒定比特率的mp3,您可以直接拆分它,而无需解码。你看,这个文件恰好是3兆。您可以将文件读入内存,抓取文件的前两个meg并保存它,然后抓取文件的最后一个meg并保存它。因此,通过拆分文件来拆分歌曲。我要求解决在node中拆分mp3文件的问题,我不是要推荐一个工具。你能解释一下这个负面的观点吗?很可能是因为这个问题-,它经常会把一篇文章的注意力吸引到大量的人身上,这可能会导致很多人投赞成票/反对票。另外,您的问题可能已经结束,因为从阅读内容来看,您正在寻找一个特定的模块来完成此任务。@Qantas94非常感谢,我不同意结束我的问题的动机。我在寻找解决问题的方法。我对模块做了评论,但这个问题的目的是找到一种在节点中拆分mp3文件的方法。