-1

我即将开发一项涉及交互式音频直播的服务。从某种意义上说,主持人可以暂停他的流,并根据请求从他的一位听众(在流会话期间)流式传输音频。

它更像是一个大管道,其中流过的水只能从连接到它的许多小管道中的一个进来,每个流都分配有一个调节器来控制打开哪个管道。我对媒体流一无所知,我不知道云服务是否提供了这样的交互式可编程解决方案。

我是一名程序员,我将能够对此类交互中涉及的逻辑进行编程。问题是我是媒体流的新手,不知道它的技术和服务器上用于此目的的各种软件是否有任何书籍可以介绍媒体流中使用的技术我是试图避免使用 Flash,?

客户端可以是网络或移动设备。我认为与客户端系统集成不会有任何问题。我的问题是实现服务器端

4

1 回答 1

0

您正在有效地对切换器进行编程。基本上,您需要能够从一个音频流切换到另一个。使用未压缩的 PCM,这非常简单。只要采样率和位深度相等,就可以在任何帧(采样准确)上剪切音频并切换到另一个。您可以重新采样音频并应用抖动以在不同的采样率和位深度之间进行转换。

复杂的部分是何时涉及有损编解码器。在一个类似的项目中,我尝试将流拼接在一起,我可以告诉你这几乎是不可能的,即使是像 MP3 这样简单的东西。(位库使事情变得困难。)另外,听起来好像您将支持各种各样的设备,这意味着您可能无论如何都无法标准化编解码器。最好的办法是获取多个流并在系统的混合点对它们进行解码。然后,您可以使用 PCM 轻松地从流切换到流。

在系统的输出端,您需要重新编码为一些有损编解码器。

由于延迟,您通常不希望服务器执行此切换。切换应该在编码流的人的办公桌上完成,以便他们可以准确地提示它。只需编写完成所有切换和编码的内容,然后使用 SHOUTcast/Icecast 来托管您的流。

于 2013-10-20T17:55:56.460 回答