我即将开发一项涉及互动音频直播的服务。在主持人可以暂停其流并且根据请求流式传输来自其中一个听众的流音频(在流式传输会话期间)的交互性。
它更像是一个大型管道,其中流过的是水,但是水可以同时从连接到它的许多小管道中的一个进入,并且每个流的调节器控制哪个管道被打开。我对媒体流一无所知,我不知道云服务是否提供了这样的交互式可编程解决方案。
我是程序员,我将能够编程这种交互所涉及的逻辑。问题是我是媒体流的新手,如果它的技术和各种软件在服务器上用于此目的,那就没有任何知识,是否有任何可以引入的书籍媒体流中使用的技术,我试图避免使用Flash ,?
客户可以是网络或移动设备。我不认为我将与客户端系统集成有任何问题。我的问题是实施服务器端
答案 0 :(得分:0)
您正在有效地编程切换台。基本上,您需要能够从一个音频流切换到另一个音频流。使用未压缩的PCM,这非常简单。只要采样率和位深度相等,就切断任何帧上的音频(样本精确)并切换到另一帧。您可以重新采样音频并应用抖动以在不同的采样率和位深度之间进行转换。
复杂的部分是有损编解码器参与的时候。在一个类似的项目中,我已经走上了试图将流拼接在一起的道路,我可以告诉你,这几乎是不可能的,即使是像MP3这样简单的东西。 (比特储存器使事情变得困难。)另外,听起来好像你将支持各种各样的设备,这意味着你可能无法在编解码器上实现标准化。最好的办法是在系统的混合点采用多个流并对其进行解码。然后,您可以使用PCM轻松地从流切换到流。
在您的系统输出中,您将要重新编码为某些有损编解码器。
由于延迟,您通常不希望服务器执行此切换。切换应该在编码流的人的桌面上完成,这样他们就可以准确地提示它。只需编写完成所有切换和编码的内容,并使用SHOUTcast / Icecast托管您的流。