gpt4 book ai didi

macos - 如何通过互联网流式传输半实时音频

转载 作者:行者123 更新时间:2023-12-02 22:20:24 25 4
gpt4 key购买 nike

我想写像Skype这样的东西,即我在一台计算机上有一个恒定的音频流,然后以适合潜在互联网连接的格式将其重新压缩,在另一端接收并播放。

我们还假设互联网连接是相当现代和快速的,即DSL等,没有通过电话等的慢速连接。涉及的计算机也将是相当现代的(2 GHz或更高频率的双核Intel CPU)。

我知道如何处理机器上的音频。我不知道如何有效地传输音频。

面临的挑战是:

  • 我想在整个线路上获得良好的音频质量。
  • 流应该没有滴落地被接收。但是,可以稍稍延迟接收流(可以接受第二个延迟)。我认为传输软件可以先确定平均(和最大)延迟,然后启动流并告诉接收器在开始播放音频之前先等待最大延迟。这样一来,如果延迟没有变得更高,则整个流都可以在另一侧播放,而不会结结或掉落。
  • 如果由于意外IP延迟或阻塞而导致流确实被切断,我希望能够注意到这一点,以便我可以采取措施(例如中止流)并最终开始新的传输。

  • 如果我想使用现成的软件进行压缩和传输,我有哪些选择?实际上,我无意编写自己的音频压缩引擎。太太,我计划在垂直市场上出售该解决方案,这意味着我可以负担每份许可费用几美元,但不能负担100美元。

    我猜最简单的解决方案是打开一个TCP流,来回发送一些数据包以确定它们的运行时间(甚至使用UDP),然后将结果用作最大延迟值的指导,然后简单地以原始格式(未压缩的16位立体声)触发音频数据,并通过TCP连接触发时序代码。接收机读取数据并以预定的延迟播放。这可能只适合我期望的快速连接类型。

    我只是想知道是否有更好的解决方案来实现此目标,并具有更好的性能(更低的延迟)和更少的数据(压缩)。

    顺便说一句,我首先尝试在OS X上实现它,但如果证明成功了,可能也想在Windows上实现它。

    最佳答案

    为了通过Internet传输音频,您可能应该考虑使用RTP。它用于SIP,H.323,许多其他工具都将其用于流音频内容。您甚至可能只想看一下使用SIP库。它已经具有很多听起来像您想要的东西。如果您具有良好的编解码器和足够的带宽,则SIP的质量可能会很高。

  • http://tools.ietf.org/html/rfc3550
  • http://en.wikipedia.org/wiki/Real-time_Transport_Protocol
  • 关于macos - 如何通过互联网流式传输半实时音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/390127/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com