[教學]OGG格式網路電台架站法

討論MP3、WAV、MIDI、WMA甚至其他數位音訊的播放、製作、轉換等。

版主: DearHoney

nakeho
大師
文章: 108
註冊時間: 2002-08-07 08:00
來自: 遊戲炸彈
聯繫:

[教學]OGG格式網路電台架站法

文章 nakeho »

※本文使用 Creative Commons License(姓名標示-共同方式分享)。

前言
首先來說明為何要使用 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 的說明文件

修改好了之後存檔,然後關閉檔案,回到 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。
最後由 nakeho 於 2005-09-22 07:53 編輯,總共編輯了 11 次。
nakeho
大師
文章: 108
註冊時間: 2002-08-07 08:00
來自: 遊戲炸彈
聯繫:

文章 nakeho »

這篇文章貼在這應該沒問題吧?因為還是和數位音訊有關....
adomu
神人
文章: 1359
註冊時間: 2001-01-07 08:00
來自: 小白星球

文章 adomu »

這個我之前試過如果光是播放檔案沒有問題
可是當我開啟Record from Windows Recording Device
就會破音連連

錄音音量我已經調的非常小了
還是一樣
不知道是不是這個外掛的bug...
Emu
大師
文章: 58
註冊時間: 2001-05-02 08:00

文章 Emu »

剛剛試了很久,有兩個問題如下:

1.無法直接收聽,我同學用Winamp3試的,用續傳軟體擷取就能聽了(怪)
2.在 YPdir 那邊看不到自己的站

誰能幫我"開示"一下呢
nakeho
大師
文章: 108
註冊時間: 2002-08-07 08:00
來自: 遊戲炸彈
聯繫:

文章 nakeho »

adomu 寫:這個我之前試過如果光是播放檔案沒有問題
可是當我開啟Record from Windows Recording Device
就會破音連連
我用 SB Live! 在 Winxp 下沒碰到這樣的問題.... :roll:
Emu
大師
文章: 58
註冊時間: 2001-05-02 08:00

文章 Emu »

Emu 寫: 2.在 YPdir 那邊看不到自己的站
我知道為什麼了,該站討論區有一段話如下
「yplister was not designed to work on configs that use NAT or other firewall-typeish things....sorry.. oddsock」
經過IP分享器架的電台是無法在電台列 (YPdir) 那邊被看到的,嗚...
昨天還試了傳統的 ShoutCAST,他的伺服軟體也告訴我類似的話,說我的位址無法從Internet中被找到,這難道是NAT的原罪嗎?而且我也已經把Port 8000指向我的虛擬位址了說。
我想 Serverlist 的軟體應該可以改善吧,難道會有安全性問題? :roll:
aarlex
初學者
文章: 16
註冊時間: 2001-02-02 08:00

文章 aarlex »

有沒有大大在LINUX安裝 ICECAST勒........
我到make中間都會出現錯誤然後就中斷.......
我是使用icecast-2.0-alpha-2-20030513.tar.gz 這個版本......
不過我之前有裝alpha-1的.....是有安裝成功\r
只是連線時...error.log中都出現 attempted to login with invalid or missing password
~"~ 我確定密碼沒錯勒........
頭像
BooBooBird
神人
文章: 1424
註冊時間: 2001-12-11 08:00
來自: 不知有漢 無論魏晉

文章 BooBooBird »

剛開始 icecast 跑不起來,
弄了半天,設定檔 icecast.xml 找不到,log檔也無法寫入,
原來是安裝後捷徑的 startup path 沒設,
設上去以後就好了。

不過ogg即時編碼對我的 celeron-650 notebook 殘忍了點,
先 resample 成 22100/mono 以後好一點,
不過即使在區域網路還是偶爾會出現爆音。
nakeho
大師
文章: 108
註冊時間: 2002-08-07 08:00
來自: 遊戲炸彈
聯繫:

文章 nakeho »

nakeho 寫:Encoding Type
編碼器類型,如果你真的想將位元率固定在某個數值以下,那麼建議你選擇 Bitrate Management。如果使用 Quality,假設你之前設定平均值是 64kbps,那麼輸出位元率會在 50~80kbps 之間跳動,突然的位元率增加有可能會造成收聽時發生 CD 跳針般的現象。
我試了好幾次才知道 Quality 和 Bitrate Management 之間的差異,使用 Quality 設定就像是以 oggenc -qx 來壓縮檔案,而 Bitrate Management 則是完全不同的方式,除此之外,Bitrate Management 的 CPU 使用率,是使用 Quality 設定的兩倍以上... [b12]
㊣阿賢㊣
大師
文章: 61
註冊時間: 2002-10-16 11:25
聯繫:

文章 ㊣阿賢㊣ »

adomu 寫:這個我之前試過如果光是播放檔案沒有問題
可是當我開啟Record from Windows Recording Device
就會破音連連

錄音音量我已經調的非常小了
還是一樣
不知道是不是這個外掛的bug...
不知道阿多母的音效卡是哪張@@?
我目前的外掛用V1.1.2版的...沒有發生爆音的問題
網頁上面好像有寫說改進了一些BUG的樣子
回覆文章