gpt4 book ai didi

node.js - NodeJS - 从固定 HTTP 端点流式传输 MP3 音频播放列表

转载 作者:太空宇宙 更新时间:2023-11-04 00:05:05 29 4
gpt4 key购买 nike

我想从我的服务器上的固定 HTTP 端点流式传输 mp3 音频文件的播放列表,例如http://localhost/stream.mp3 。我动态生成许多 mp3 文件,因此当我设置此固定端点时,我还没有要广播的音频文件的完整列表。

有没有一种方法可以让我生成这种固定流端点并从一个文件开始,然后在继续生成它们时将其余文件排队?我使用 NodeJS/Express 作为我的网络服务器,并使用 FFMPEG 生成我的音频文件。

最佳答案

在服务器端,您可以将 mp3 文件添加到目录中并将它们作为静态文件提供。

在客户端,您可以让客户端轮询服务器上的目录以查找添加的新 mp3,或者在服务器上创建一个 API,该 API 将返回新添加的 mp3 的 URL 列表。然后,客户端可以根据命名约定或日期等按顺序播放它们。

您还可以使用 m3u 播放列表并将给定时间存在的所有 mp3 添加到播放列表。当特定的 mp3 即将播放完时,您可以重新加载 m3u 播放列表,它也会包含所有最新的播放列表。

这确实涉及必须再次请求播放列表,但它是一个非常小的文件。 HLS 和 DASH 视频流可以使用类似的 Live 方法。

我认为,将单个 mp3 文件作为源并在工作时动态添加新的 mp3 将很棘手,因为每个 mp3 都会有一个 header 。这些 header 可能具有不同的比特率和计时信息,因此您不能直接删除它们。有一些工具可以让您在服务器端连接 mp3(例如 http://mp3wrap.sourceforge.net ),然后您可以找出向播放器提供下一个字节范围的正确位置,但值得 100% 确定上述其他技术对您不起作用,因为它们可能会容易得多。

关于node.js - NodeJS - 从固定 HTTP 端点流式传输 MP3 音频播放列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52690288/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com