2009-09-15 68 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傳輸。