前言
首先來說明為何要使用 Ogg Vorbis,而不使用最常見的 MP3。
以台灣大多數人所擁有的網路環境來看,要傳輸常見的 128kbps MP3 廣播,是很難實現的,因為大多數人擁有的是下載 512kbps、上傳 64kbps 的 ADSL 連線,只有少數人能擁有超過 384kbps 的上傳頻寬(註),而 MP3 在位元率(bitrate)低於 96kbps 時,音質就開始變的慘不忍聽,因此我選擇 Ogg Vorbis。
Ogg Vorbis 即使在 64kpbs 的位元率,也能擁有接近 CD 音質的表現,然而即使在 32kbps 的位元率,也能擁有接近收音機廣播的音質,這兩點是我對 OGG 最青睞的。除此之外,因為 Ogg Vorbis 是完全免費的開放專利格式,幾乎所有的作業系統都有音樂播放軟體能播放這個格式。
有人會問為何不用 WMA?如果使用 WMA,那麼收聽的聽眾,就會限於 Windows 作業系統平台,其他的作業系統,目前完全沒有軟體能播放 WMA,更別說是線上收聽了。(雖然 VLC Media player 能支援 WMA,但是難保以後微軟把 code 改掉,就沒法支援了)
準備工作
你會需要的軟體有:
•foobar2000 V0.83 (播放軟體)
•OddcastV3 foobar2000 plugin V3.0.4 (foobar2000 的外掛,來源端,負責傳輸音訊資料給伺服端)
•Icecast 2.2.0 (伺服端,負責客戶端(聽眾)的需求,作用很類似 Apache Http server)
這些檔案抓下來後,請進行安裝,OddcastV3 的安裝路徑必須是 foobar2000 所在的位置。
設定
請先啟動 Icecast 2,啟動之後會看到這個畫面。
請先按 Configuration 選單 → Edit Configuration,這將會開啟伺服器設定檔案 icecast.xml,預設的設定檔案只包含了最少的設定項目,如果要詳細設定,請編輯 X:\Program Files\Icecast2 Win32\icecast_full.xml,並在編輯完之後將檔案儲存到 icecast.xml。請注意有中文說明的部分。
代碼: 選擇全部
<clients>100</clients><!--限制收聽廣播的使用者數-->
<sources>2</sources><!--限制來源端的數目-->
<threadpool>5</threadpool><!--處理client要求之執行緒的數量,預�]值適用於中小流量的環境中,如果你的client很多,請把數字�[大。-->
<authentication>
<!-- 來源端的密碼,這個密碼將會用在 OddcastV3 中 -->
<source-password>hackme</source-password>
<!-- 中繼站的密碼 -->
<relay-password>hackme</relay-password>
<!-- 管理用的帳號密碼 -->
<admin-user>admin</admin-user>
<admin-password>hackme</admin-password>
</authentication>
<!-- 伺服器名稱,請填入動態 DNS 位置,如 cast.no-ip.org -->
<hostname>localhost</hostname>
修改好了之後存檔,然後關閉檔案,回到 Icecast 2 的視窗,現在可以啟動伺服器了。
按一下 "Start Server" 來啟動伺服器,如果成功啟動,右邊的 Server Status 會從紅色的 "Stopped" 轉為綠色的 "Running"。成功啟動之後就可以把視窗最小化到系統列上,按一下 "Hide to systray"。
接下來啟動 foobar2000,請先開啟 foobar2000 的設定視窗(Ctrl + P)。
要把 oddcast V3 放到左邊的 "Active DSPs" 才會啟用 OddcastV3,還有 DSP 的順序對於輸出的結果會有所影響。如果你把 Equalizer 放到 oddcast V3 上方,那麼音質就會受到 EQ 的改變,聽眾所收聽到的,也是被 EQ 所影響的音樂;如果你把 Equalizer 放到 oddcast V3 下方,那麼只有你聽到的聲音會被 EQ 所影響,聽眾不會。
SSRC 可以自行決定要不要啟用,如果你是採用低位元率的廣播(96kbps 以下),那用不用其實沒有很大的差異。
再來設定 OddcastV3,請按兩下系統列上的圖示來開啟視窗。
先按 Add Encoder,在 Vorbis 上按右鍵選 "Configre" 來設定。
Bitrate
這裡可以設定壓縮時位元率,此項只有在使用 Lame 時才有效。
Quality
壓縮品質,-2~10,-2 是最差,10 是最好。
Sample Rate
取樣率和位元率的設定息息相關,這裡提供一些設定的例子。
24kbps : 19000hz (這是上限)
32kbps : 22050hz (這不是上限)
64kbps : 44100hz (建議使用)
128kbps : 44100hz (建議使用)
Encoder Type
編碼器設定,當然選擇 Ogg Vorbis。
Server type
伺服器類型,當然是 Icecast2。
Server IP
伺服器位址,如果是同一台電腦就設 localhost。
Port
標準設定 8000。
Encoder Password
記得我們之前在伺服器設定中提到的 <source-password> 嗎?如果你在伺服器設定設 abc,那這裡也要填 abc。
Mountpount
掛載點,之前的伺服器設定中,有三個「注意」的地方,請注意這裡的設定不要和那三個地方一樣。你可以設為 /radio.ogg。這個設定跟 Stream URL 有關。
至於之後 YP Setting 這一頁的設定,如果你要把電台公開在 Shoutcast 的頻道表上面,請勾選「Public Server」,並詳細填寫其中的資訊。
使用麥克風
如果你想使用麥克風,只要按一下這個按鈕即可。
到此就設定完成,現在請在 foobar2000 中播放音樂,然後在 OddcastV3 中按 "Connect",如果一切都沒問題,就會出現這張圖。
接下來就可以測試是否能夠連上電台。假設你的動態 DNS 位址是 cast.no-ip.com,port 設為 8000,mountpoint 設為 /radio.ogg,那麼收聽的位址就是:
http://cast.no-ip.com:8000/radio.ogg
使用 Winamp 收聽時,請按 Ctrl + L,然後把網址貼上去。用 foobar2000,則是按 Playlist 選單 → Add location,然後把網址貼上去。
註:本文初版發表於 2003 年 5 月,那時台灣大多數人使用的 ADSL,只有 512/64kbps。即使是現在,大多數人使用的 ADSL,也只有 1Mbps/64kps 或 2Mbps/256kbps。