首页 文章

如何在IceCast服务器更改流时连续传输音频

提问于
浏览
2

Problem: 通过Icecast挂载点流式传输实时音频 . 在服务器端,当现场节目停止时,服务器将恢复播放音乐播放列表(实际挂载点保持 /live ) . 但是,当直播流停止时,音频播放器也会停止 . 开发工具表示请求已被取消 . 播放器必须是HTML5,所以没有Flash .

装载点: http://198.154.112.233:8716/

流: http://198.154.112.233:8716/live

I've tried:

  • 听取流结束,并告诉玩家重新连接 . 但是,当流中断时,jPlayer和Mediaelement.js API上的所有事件都不会返回任何内容 .

  • 忙于联系服务器主机,以便在处理其幕后播放列表切换器时寻求建议 .

我想找到一个客户端解决方案 . websockets / webrtc可以通过保持连接打开来解决这个问题吗?

2 回答

  • 0

    您的问题不是客户端问题,而是您如何处理编码 . 客户端没有任何更改可以正确解决此问题 .

    您正在使用的流配置是编码器使用磁盘上的文件作为备份流 . 不幸的是,它听起来不是重新编码和拼接(如果需要,匹配采样率和通道),它只是发送原始文件数据 .

    这在某些时候是有效的,因为MPEG解码器通常容忍损坏的流,并且将重新同步 . 但是,有时流不通,解码器放弃了 . 如果采样率或通道数发生变化,解码器也会经常停止 . (比特率变化通常不是一个大问题 . )

    要解决您的问题,您必须与您的主机联系 .

  • 1

    是的,如果播放列表和直播流不是相同的编解码器,这是一个问题 . Liquidsoap等其他工具为我解决了这个问题,并提供了更多功能:savonet.sourceforge.net

相关问题