2013-08-22 45 views
1

有人可以告訴我,如果它可能有一臺服務器發送一個MP3到我們自己的Icecast服務器(在Linux上運行)。這可以在Perl或PHP中實現嗎?是否可以通過網頁上的腳本向IceCast發送mp3文件?

也許有更好的方法可以將音頻剪輯遠程推送到其他計算機上嗎?

下面是完整的想法或希望:

  1. 用戶訪問一個網站,在那裏他們重新排序音頻剪輯。

  2. 然後將這些剪輯連接在一起製作一個mp3文件(例如使用mp3cat),然後將其發送到IceCast服務器進行廣播。

  3. 計算機將保持運行並保持全天候收聽電臺。我們不希望他們在車站沉默的時刻與車站斷開。計算機會在很長一段時間內播放靜音,直到網頁訪問者製作音頻文件才能播放。如果IceCast沒有要播放的音頻會迫使收音機播放斷開連接,還是隻會播放靜音直到收到音頻剪輯?

這可能嗎?
Websockets或一些推動框架是另一種或更好的選擇來實現相同的事情?

回答

0

做這個項目的方法是做你的Icecast源連接服務器端。編寫一個接受來自瀏覽器客戶端(AJAX,WebSockets,任何東西)的控制命令的應用程序,然後編碼正確的編解碼器和比特率服務器端的所有音頻,並將最終流發送到Icecast。這臺服務器還負責在沒有任何東西在播放的時候產生沉默。

我實際上已經建立了一些與此類似的東西。我使用Node.js和Socket.IO作爲瀏覽器部分,其餘部分使用環迴音頻驅動程序。如果我再做一次,我可能會將FFMPEG或VLC用於播放/編碼服務器端。

+0

非常感謝您的回答。聽起來像這是一個可能的項目!不知道你是否知道這個問題......如果沒有發送給Icecast服務器,廣播電臺的聽衆是否會斷開連接,或者他們是否聽到沉默? – Nimloc

+0

@Nimloc,他們會聽到緩衝音頻的最後一位,然後斷開連接。如果數據未從編碼器推出,則不會通過Icecast推送數據。對於編碼的音頻數據,Icecast並沒有太大的作用。沉默會要求它編碼沉默,而這是無法實現的。請注意,備份流有多種選擇,哪些不是,但我認爲這不適合您的使用情況。 – Brad

相關問題