2009-09-15 123 views
5

我想从概念上理解提供真正流媒体音频和视频内容的最佳方式。我希望它能够通过网络浏览器来使用,利用最少量的专有技术。我不会提供静态文件和使用渐进式下载,这将是实时捕获的真实音频流。一个人如何播放与源代码合理同步的流?什么样的协议适合?基于浏览器的流媒体视频/音频(不是渐进式下载)

编辑:

在研究中我发现有几个协议:RTSP,HTTP流,RTMP和RTP。

HTTP流如果您正在流式传输某种实时性能/通信,因为它依赖于TCP(因为它基于HTTP)并且不会丢失数据包,所以在某种程度上不合适。在低带宽情况下,客户端可能会显着落后于播放。 ref

RTMP是一项专有技术,需要闪存介质服务器。废话。我查看闪存的原因是因为它们对用户体验来说非常灵活。 SoundManager2为使用闪存播放媒体提供了一个出色的JavaScript界面​​。这是我在客户端应用程序中寻找的。

RTSP/RTP是Microsoft转而使用的,弃用他们的MMS协议。 RTSP是控制协议。它与HTTP有一些明显的区别 - 服务器也可以与客户端交谈,并且还有其他命令,如PAUSE。它也是一个有状态的协议,由会话ID维护。 RTP是用于传送有效载荷(编码的音频或视频)的协议。有几个开源项目,其中一个由apple here支持。看起来这可能会做我想要的,看起来像quite a few players support it。这听起来像是适合从本页here进行“实况”广播。

感谢, 乔希

回答

6

首先,让我赶紧收工两个不正确的点。详细下面如下:

  • RTMP可以在其他的服务器比的Flash Media Server完成
  • TCP是精细活。 F.U.D太多了。来自那里的爱好UDP的人们。 Apple has just released a draft specification通过HTTP实现简单的实时流式传输(因此可用于iPhone)。我预计它也会在浏览器中结束。此外,TCP还可以更频繁,更轻松地通过公司防火墙获得奖励。

我的阅读是,复杂的基于UDP的数据流正在逐渐减少。我并不预测死亡,只是市场份额的一小部分。与基于TCP的解决方案(如10倍或更多)相比,基于UDP的流媒体服务器会消耗大量资源,但好处却并非如此。

你说你不想要专有技术,“废话[闪存]”,,但你仍然想做真正的流媒体?讨厌打破它给你,但RealAudioRealVideo都是专有的。

如果要开源真的对你很重要,我可以理解,那么你就需要忽略绝大多数流媒体市场。看看

  • Theora:免版税的,开放的标准,有损视频压缩技术
  • Vorbis:一种产生音频格式规范和软件实现了一个免费软件/开源项目有损音频压缩。
  • Ogg:一个自由,开放的标准容器格式

如果实用主义得到最好的你,然后再考虑你所厌恶的Adobe产品。请记住,闪光灯比任何其他基于浏览器的播放器更广泛地分布

您仍然可以使用RTMP与开源(即Windows媒体播放器,快速的时间和真正的球员。):Red5大概是最大的利益 - 它可以流式传输到支持Flash的浏览器。

我会建议考虑你的优先事项。在你的问题中把它们表达出来。

+0

那么说... =) – Cipi 2010-03-12 13:46:27

0

我会添加到Stu的回复中,基于UDP的流媒体协议通常在防火墙或NAT后面工作时有额外的复杂性。例如,如果您打算在家庭之外使用WIFI接入点,其中许多接入点将不支持使用UDP传输的RTP。许多客户端具有故障恢复机制,如果在超时之前没有收到数据包,客户端将尝试TCP传输。