【问题标题】:How to continuously stream audio while IceCast server changes streams如何在 IceCast 服务器更改流时连续流式传输音频
【发布时间】:2013-06-03 14:13:18
【问题描述】:

问题: 通过 Icecast 挂载点流式传输实时音频。在服务器端,当现场表演停止时,服务器恢复播放音乐播放列表(实际挂载点保持/live)。但是,当直播停止时,音频播放器也会停止。开发工具说请求已被取消。播放器必须是 HTML5,所以不能使用 Flash。

挂载点:http://198.154.112.233:8716/

流:http://198.154.112.233:8716/live

我试过了:

  • 监听流结束,并告诉播放器重新连接。但是,当流中断时,jPlayer 和 Mediaelement.js API 上的所有事件都不会返回任何内容。
  • 在处理幕后播放列表切换器时,正忙于联系服务器主机寻求建议。

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

【问题讨论】:

    标签: streaming audio-streaming mediaelement.js icecast


    【解决方案1】:

    您的问题不在于客户端,而在于您如何处理编码。客户端没有任何更改可以适当地解决此问题。

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

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

    要解决您的问题,您必须联系您的房东。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-15
        • 1970-01-01
        • 2017-02-10
        • 2011-05-20
        • 2012-08-12
        • 1970-01-01
        • 2013-05-11
        • 2011-04-19
        相关资源
        最近更新 更多