2012-07-19 45 views
1

我目前有一個應用程序通過UDP從遠程源接收實時,原始PCM數據。我想通過一個簡單,直接的HTML5標籤將其流式傳輸到Web瀏覽器。在研究這個項目時,我多次遇到過IceCast,據我所知,它可以配置成接收原始PCM並提供MPEG音頻流,從而滿足我的需求。然而,儘管這可能會或可能不適用於IceCast,但我希望實施我自己的定製解決方案。使用HTML5標記將現場PCM流式傳輸到網絡瀏覽器

因此,用更具體的術語來解釋這個問題,解決這個問題就像LAME一樣簡單 - 對原始PCM數據進行編碼,並在通過HTTP傳遞時傳遞它?我認爲這是一個CGI/FastCGI應用程序,但我決不會拘泥於這種解決方案。 IceCast在幕後是否還有其他魔法?最後,要進行完整性檢查:沒有特殊的「流/文件頭」,我需要先發送,對吧?

回答

1

沒有任何額外的標題要求。然而,Icecast正在做的CGI/FCGI應用程序無法做到的主要額外事情(至少不是很好)是將流分發到多個併發偵聽器。這部分做得很好很難;我建議你使用Icecast,除非有令人信服的理由來避免它。

+0

客戶如何知道如何解碼沒有WAV頭或類似的原始PCM數據來設置格式?我很確定一個初始頭塊是必要的。如果不是,你能告訴我什麼瀏覽器支持的流格式支持可能在任何時候解碼的原始PCM? – Brad 2012-07-19 13:29:13

+0

Err ...我的意思是,如果您將PCM音頻編碼爲MP3,則不需要標頭。通過互聯網發送原始PCM將非常浪費;我不會推薦它。 – duskwuff 2012-07-19 17:10:36

+0

啊,我現在明白了。我讀了這個問題的標題,感到困惑。 – Brad 2012-07-19 17:42:09

0

是的,你可以使用ogg流媒體pcm。它創建頁面,這允許流仍然使用文件容器。 但這又意味着只有firefox和chrome。實際上有一個音頻API的JavaScript。如果您請求數據塊和客戶端緩衝區中的pcm數據並將其提供給音頻api,則可能會有所斬獲。這個API被實現用於客戶端的音頻處理。再次不期待超級超棒的速度。 https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html

相關問題