Javascript 将mp3拆分为可独立播放的片段,如果需要,可以将其缝合

Javascript 将mp3拆分为可独立播放的片段,如果需要,可以将其缝合,javascript,node.js,stream,mp3,Javascript,Node.js,Stream,Mp3,我想播放mp3。然而,在发送端解码它会占用带宽。是否有可能保留压缩格式,并且仍然能够将其分割成独立的可播放块?然后我可以把它们一个接一个地发送出去,然后排队和/或将其缝合回接收方。据我所知,mp3(不确定其他格式)应该允许这样的规范 我也很可能从根本上误解了一般的音频播放。请提供建议。请检查mp3流媒体的RTP规范 规范中也考虑了相同的块和框架概念 您可以使用mp3文件中的mp3编码数据,使用rtp规范对其进行打包,然后解包rtp,然后将其合并/写入mp3文件。听起来您只是需要搜索一个大的连续

我想播放mp3。然而,在发送端解码它会占用带宽。是否有可能保留压缩格式,并且仍然能够将其分割成独立的可播放块?然后我可以把它们一个接一个地发送出去,然后排队和/或将其缝合回接收方。据我所知,mp3(不确定其他格式)应该允许这样的规范


我也很可能从根本上误解了一般的音频播放。请提供建议。

请检查mp3流媒体的RTP规范

规范中也考虑了相同的块和框架概念


您可以使用mp3文件中的mp3编码数据,使用rtp规范对其进行打包,然后解包rtp,然后将其合并/写入mp3文件。

听起来您只是需要搜索一个大的连续流,对吗?潜在的接收器应该能够搜索-是,所以基本上是从发送方请求一个与请求时间相对应的任意数据块。有什么原因不能简单地使用HTTP范围内的请求吗?这正是大多数浏览器已经做的。。。他们根据用户的需要请求播放部分文件。我将通过原始TCP套接字对其进行流式传输,但是-是的,它可以归结为范围请求这样简单的事情。然而,从我现在读到的内容来看,mp3帧不一定是独立的,它们中的一些可能需要组合。这是正确的。钻头储层可以将一帧的数据作为CBR流中的一种VBR发送给其他帧。然而,球员们会为你处理好这件事,并且会找出他们需要什么来回击。一件棘手的事情是MP3文件本身并不可查找。(另请参见:)玩家可以通过一些技巧来解决这个问题。如果你正在制作你自己的低级玩家,你可能需要实施同样的破解。如果可能的话,我也鼓励你超越MP3。这肯定不是我们现在拥有的最好的编解码器。你知道这个协议的任何实现吗,最好是JavaScript,但可能是C/C++或Rust?我不知道有任何RTP/RTSP JavaScript解决方案,你可以看看C/C++解决方案:检查ffmpeg JavaScript包装器:我会将你的答案标记为正确,自从它结束后,它就把我带到了我自己的实现中。谢谢