基于浏览器的流媒体视频/音频(非渐进式下载)

Jos*_*osh 5 video streaming rtsp video-streaming audio-streaming

我试图从概念上理解提供真正的流式音频和视频内容的最佳方式.我希望它能够使用最少量的专有技术与Web浏览器一起使用.我不会提供静态文件并使用渐进式下载,这将是真实的音频流被实时捕获.如何广播与源同步的流?什么样的协议适合?

编辑:

在研究中我发现有一些协议:RTSP,HTTP Streaming,RTMP和RTP.

如果您正在流式传输某种类型的实时性能/通信,因为它依赖于TCP(基于HTTP)并且您不丢失数据包,因此HTTP流式传输有点不合适.在低带宽情况下,客户端在播放时可能会明显落后.REF

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

RTSP/RTP是Microsoft转而使用的,弃用其MMS协议.RTSP是控制协议.它类似于HTTP,有一些明显的区别 - 服务器也可以与客户端通信,还有其他命令,如PAUSE.它也是一个有状态协议,使用会话ID维护.RTP是用于传送有效载荷(编码的音频或视频)的协议.有几个开源项目,其中一个是由苹果支持这里.看起来这可能会达到我想要的效果,看起来很多玩家都支持它.这听起来像一个"活"在此页面播放这将是适合这里.

谢谢,乔希

Stu*_*son 6

首先,让我快速敲掉两个不正确的点.详情如下:

  • RTMP可以通过Flash Media Server以外的其他服务器完成
  • TCP很适合直播.来自UDP爱好者的FUD太多了. Apple刚刚发布了一条草案,该草案通过HTTP(以及TCP)为iPhone进行简单的实时流式传输.我希望它最终也会出现在浏览器中.此外,TCP还具有更频繁,更轻松地通过企业防火墙的好处.

我读到的是复杂的基于UDP的流媒体逐渐减少.我不是在预测死亡,只是市场中较小和较小的份额.相对于基于TCP的解决方案(如10倍或更多),基于UDP的流媒体服务器消耗巨大的资源,而且好处并不是那么有形.

你说你不想要专有技术,并且"废话[Flash]",但你还想做真正的流媒体?讨厌给你打破它,但 RealAudioRealVideo都是专有的.

如果开源确实对您来说非常重要,我可以理解,那么您将需要忽略绝大多数流媒体市场.看一下

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

如果实用主义得到了你的好处,那么重新考虑你对Adobe产品的厌恶.请记住,Flash比任何其他基于浏览器的播放器(即Windows Media Player,Quick Time和Real Players)更广泛地分发.

您仍然可以将RTMP与开放源码一起使用:Red5可能是最令人感兴趣的 - 它可以实时流式传输到支持Flash的浏览器.

我建议考虑一下你的优先事项.在你的问题中为我们拼出它们.