构建可扩展的音频流基础架构
在streamABC上,我们正在为广播电台和其他媒体公司构建音频流基础架构已有好几年了。 作为我在streamABC的工程师和开发人员的活动的一部分,我的任务是完全重新考虑和重建现有基础结构。 该技术栈主要基于Icecast(正是Icecast的KH分支)。 过去,只有一台大型主服务器可以接受传入的音频流,而有些边缘服务器则需要繁重的工作来为所有侦听器服务。 所有部署和手动操作。 尽管这在过去的几年中效果很好,但仍然存在很多缺点,这些缺点越来越难以克服。 破烂不堪 客户之间没有分隔(例如,广播电台)。 如果只有几个,这是可以的,但随着越来越多的客户和对单个解决方案的需求增加而变得更加不安。 Icecast是一款可靠的软件,可以完成工作。 但是同时,它已经很老了,无法满足最新的需求,例如更好的日志记录和见解,实时指标,可伸缩性。 现有的设置几乎不可能满足市场的新需求,例如地理位置感知流,流中和流中广告,可跳过流和用户特定的元数据。 大型整体服务器结构,需要更多的操作工作才能提供良好的可用性。 随着无线电台提供越来越多的多达数百个单独频道的趋势,变得难以手动维护配置并保持较低的初始成本和上线时间。 还有很长的路要走 我们的目标是能够快速建立新的流,而无需麻烦,包括源安装,代码转换,分布式边缘,实时监控,注入的元数据,虚拟流URL甚至是播放系统,以从音频播放列表中流式播放文件。 而这一切都不需要庞大的团队。 我们从2015年开始重新考虑音频流。作为第一步,我们创建了用于实时监控现有基础架构的解决方案。…