0

我有一个网站,用户可以在其中上传音频文件(aac 类型)。用户可以通过网络浏览器或 iPhone 或 Android 等移动设备播放他们的音频文件。对于网络浏览器,我想支持最新的 HTML5 音频标签,并为旧浏览器提供 Flash 后备。

我做了一些研究,mp3 看起来是向网络浏览器提供音频文件的最佳格式,因为一些现代浏览器本机支持 mp3,而不支持的浏览器 (FireFox) 可以回退到 flash。一旦用户上传了一个 aac 文件,我将创建另一个版本的音频文件作为可用于服务的 mp3。

提供这些音频文件的最佳方式是什么?流式传输还是静态服务?有什么优点或缺点吗?也许有一种灵活的服务器技术。我知道icecast,但我认为它不适合我的特定用例。

我还有一个关系数据库,它存储每个静态音频文件的链接。我也想使用 HTTP 流而不是专有协议。最重要的是,我希望尽可能高效地执行此操作,因为带宽可能会变得昂贵。

4

1 回答 1

0

认为 iDevices(iPhone、iPad、iPod)和 Android 手机支持的流媒体协议并不相同。iDevices 支持 HTTP Streaming,而 Android 手机只支持 RTSP 协议。

因此,如果您想通过流协议为多个设备提供服务,请认为您必须为每种类型使用编码器/服务器(iDevices 的分段器和网络服务器,Android 的 RTSP 服务器)。

就效率而言,我认为您不会有很大提高,但是使用 HTTP 流式传输您可以获得其他好处,例如使用多比特率文件的可能性,这允许您提供相同音频的不同编码版本,以提供不同的音频质量,具体取决于用户<->服务器连接速度。

实施 HTTP 流非常便宜。实际上,您可以使用 ffmpeg 对文件进行编码,并使用 Apple 提供的免费分段器来进行编码。但是,请记住,这不适用于 Android 设备。

于 2010-12-04T09:54:19.260 回答