【问题标题】:Real time audio streaming to mobile device - dynamic playback speed实时音频流到移动设备 - 动态播放速度
【发布时间】:2014-06-16 08:51:06
【问题描述】:

场景如下:

我正在使用 Nicecast(在 OS X 上)对 MP3 流(来自麦克风输入)进行编码,并将其发送到运行 Icecast2 流服务器的 Ubuntu 计算机。流媒体服务器通过 Wi-Fi 路由器仅连接到我的 LAN(而不是互联网)。该流被以下设备收听:iOS 设备、Android 设备、Windows 手机、Windows 计算机、Mac 计算机等(大多数使用 VLC)。

从麦克风拾音到通过客户的扬声器播放音频的延迟约为 1-2 秒。这对我的应用程序来说没问题。

但是,当网络拥塞(或客户端的 CPU 忙于做其他事情,或任何数量的原因)时,流会停止(中断)几秒钟,然后当一切恢复“正常”时,Icecast发送大量数据以再次赶上实时。客户端的缓冲区接收到大量数据并将其存储(应该如此)并从中断的地方重新开始播放(这也很好,因为这意味着没有音频内容丢失或丢失,这是我的应用程序所需要的) .但现在延迟约为4-5秒

我需要将延迟控制在 1-2 秒左右。所以我想如果我可以将播放速度提高到 1.5 倍,例如,几秒钟后,我们就会回到 1-2 秒的延迟。换句话说,如果缓冲区中有“x”个数据量,则以 1.0 倍的速度播放。如果缓冲区达到“y”数据量或更多,则以 1.5 倍速度播放,直到缓冲区恢复到“x”数据量。一种“动态播放速度”(有更好(或正确)的名称吗?)。

所以,我的问题:

  1. 我可以使用 VLC(客户端)来提供这个解决方案吗?
  2. 还有其他流式客户端可以很好地处理这个问题吗? (尤其是在多个平台上工作的)
  3. 或者是否有其他流媒体平台可以处理此问题 自动,还是稍作配置?

任何想法和 cmets 将不胜感激!谢谢!

【问题讨论】:

    标签: audio stream real-time audio-streaming playback


    【解决方案1】:

    我不知道有哪个播放器可以配置为这样做。

    您可以使用 HTML5 构建一些简单的东西,正如 [这里] (variable speed control for audio playback in the browser?) 的回答。

    Flashdoesn't support变速播放。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-30
      • 2017-07-27
      • 2016-05-25
      • 1970-01-01
      相关资源
      最近更新 更多