วันพุธที่ 5 พฤศจิกายน พ.ศ. 2551

การทำสถานีวิทยุ Online ด้วย Shoutcast Server ฉบับ Mr_Gill

การทำสถานีวิทยุ Online ด้วย Shoutcast Server ฉบับ Mr_Gill

สวัสดีครับท่านทุกคนคืนนี้ว่างจัดเลยมานั่งเขียนเรื่องการทำ Audio Broadcast ด้วย Shoutcast Broadcast Server ซึ่งมันก็ไม่ได้มีขั้นตอนอะไรยุ่งยากสักเท่าไหร่เลยมาเขียนให้ได้อ่านกัน

ขั้นแรกต้องถามตัวเองก่อนครับว่าเราจะติดตั้ง Shoutcast ใน OS อะไร ในที่นี่ผมขอเสนอ 3 ประเภทแล้วกันน่ะครับ
1.Windows XP Professtional SP2
2.FreeBSD
3.Linux

อธิบายหลักการทำงานของ Shoutcast กันก่อนน่ะครับ
หลักการทำงานของ Shoutcast มีอยู่ว่าเจ้าตัว Shoutcast เองไม่ได้มีหน้าที่เล่นเพลงแต่อย่างใด มันมีหน้าที่อย่างเดียวคืนกระจ่ายสัญญาณเสียงให้กับเครื่องที่ Request ขอเข้ามา(เครื่องผู้ฟังนั้นเอง) เราจำเป็นต้องมี Client ที่คอย encode ไฟล์เพลง หรือพูดง่ายก็คือต้องมี DJ หรือ PJ ค่อยเปิดเพลงแล้ว encode ให้เจ้า Shoutcast กระจายให้นั้นเอง
ดังนั้นเราจึงต้องมี software ที่คอย encode ให้ Shoutcast ในที่นี่ขอแนะนำ SHOUTcast DSP Plug-In for Winamp 5.x

คุณสามารถ Download Shoutcast Server ได้จากที่นี่
SHOUTcast WIN32 Console/GUI server v1.9.5
SHOUTcast FreeBSD 5.x server v1.9.5

SHOUTcast FreeBSD 4.x server v1.9.5
SHOUTcast Linux server (glibc) v1.9.5

และ Download SHOUTcast DSP Plug-In for Winamp 5.x
SHOUTcast DSP Plug-In for Winamp 5.x

เริ่มกันเลยผมขอเริ่มด้วยการติดตั้ง Shoutcast Broadcast Server บน Windows XP ก่อนละกันน่ะครับ
1.เริ่มด้วยการดาวน์โหลดโปรแกรมมาก่อนน่ะครับ
2.จากนั้นก็ติดตั้งปกติ Next ไปเรื่อยๆ มันจะถามนิดหน่อยให้เราเลือก Console แต่เราสามารถใช้ค่า Default ของมันได้เลย
3.เมื่อติดตั้งเสร็จโปรแกรมจะถูกติดตั้งไว้ในโฟลเดอร์ C:\Program Files\SHOUTcast
4.เข้าไปในโฟล์เดอร์ C:\Program Files\SHOUTcast
5.คลิกขวาที่ไฟล์ sc_serv.ini (สังเกตมันจะเป็นไฟล์เอกสารที่มีรูปเฟืองอะครับ)จากนั้น Open With >> Choose Program.. >> Wordpad หรือถ้าใครมี EditPlus ก็สามารถเปิดจาก EditPlus ได้
6.มี 2 จุดสำคัญที่เราต้องแก้ไขครับ
6.1 หาบรรทัดที่เขียนว่า

password=changme เปลี่ยนจาก changme เป็น password เราครับนี่เป็น passwd สำหรับคนที่จะ encode เข้ามายังเครื่องของเราครับ ตัวอย่าง
password=encoder123

; AdminPassword=adminpass ให้เอาเครื่องหมาย ; ออกน่ะครับจากนั้นหลังเครื่องหมาย = เราสามารถเปลี่ยนได้ตามต้องการ นี่เป็น password สำหรับ admin ตัวอย่างหลังการแก้ AdminPassword=admin1234

6.2 หาบรรทัดที่เขียนว่า
PortBase=8000 นี่เป็น port ที่เราจะใช้ในการ Broadcast และ encoding เข้ามา เรามาสามารถแก้ได้ตามความเหมาะสมแต่ต้องระวังเรื่องการชนกันของ port ด้วยนะครับ ต้องแน่ใจว่า port ที่เราเปลี่ยนมาใช้นั้นไม่ได้ถูกใชู้่โดยโปรแกรมอื่น

หลังจากแก้ไขเรียบร้อยแล้วก็ save ให้เรียบร้อย
7.จากนั้นเราก็มา run ตัว Shoutcast ได้เลยครับ โดยการคลิก Start >> All Programs >> SHOUcast DNAS >> SHOUTcast DNAS (GUI ) เป็นอันเสร็จในฝั่ง Server

มาต่อกันด้วยการติดตั้งบน FreeBSD กันครับ
ต้องบอกไว้ก่อนน่ะครับคือ ผมติดตั้งบน FreeBSD 6.1 STABLE สำหรับผู้ที่ใช้ FreeBSD4x หรือ 5x สามารถดาวน์โหลดเวอร์ชั่นสำหรับ FreeBSD ของท่านได้เลย แต่คนที่ลง FreeBSD6x ก็สามารถติดตั้งได้เหมือนกันครับโดยการตั้งตั้ง package compat5x เข้าไปขั้นตอนการติดตั้ง compat5x
# cd /usr/ports/misc/compat5x/
# make install clean
# echo 'compat5x_enable="YES"' >> /etc/rc.conf

# reboot
สัก 1 รอบ


หลังจากระบบของเราพร้อมแล้วก็มาติดตั้งกันเลย

1.login เข้าระบบ

2.ทำการ download shoutcast มาไว้ที่ server ของเราครับ
# cd /tmp
# fetch http://www.shoutcast.com/downloads/sc1-9-5/shoutcast-1-9-5-freebsd4-elf.tar.gz
สำหรับ FreeBSD4x หรือ
# fetch http://www.shoutcast.com/downloads/sc1-9-5/shoutcast-1-9-5-freebsd5-elf.tar.gz สำหรับ FreeBSD5x

3.เมื่อดาวน์โหลดเสร็จแล้วทำการ extract ออกมาด้วยคำสั่ง
# tar -xvvzf shoutcast-1-9-5-freebsd4-elf.tar.gz สำหรับ FreeBSD4x หรือ
# tar -xvvzf shoutcast-1-9-5-freebsd5-elf.tar.gz สำหรับ FreeBSD5x
เราจะได้ directory shoutcast-1-9-5-freebsdX-elf X = version ที่คุณโหลดมา

4.จากนั้นทำการย้าย directoty ทีได้ไปเก็บไว้ใน /usr/local/
# mv shoutcast-1-9-5-freebsdX-elf /usr/local

5. แล้วเปลี่ยน directory ไปยัง /usr/local/shoutcast-1-9-5-freebsdX-elf
# cd /usr/local/shoutcast-1-9-5-freebsdX-elf

6.ทำการแก้ไขไฟล์ sc_serv.conf ด้วย editor ตัวไหนก็ได้ผมขอใช้ ee ละกัน
# cp sc_serv.conf sc_serv.conf.bak
# ee sc_serv.conf

ทำการแก้ไขเหมือนกับข้อ 6.1 และ 6.1 บน windows แล้ว save ให้เรียบร้อยครับ

7.ทำการ chmod ให้กับไฟล์ sc_serv เพื่อให้สามารถ run ได้
# chmod +x sc_serv

8.ทำการ run sc_serv ได้เลยครับ
# ./sc_serv sc_serv.conf


*** เห็นถามกันมามากเหลือเกินเลยมาแก้เนื้อหาให้ครับ สำหรับคนที่ต้องการเปิด port มากกว่า 1 port ก็ให้ทำการก๊อปปี้ไฟล์คอนฟิกเพิ่มเป็นหลายๆ ไฟล์ตามต้องการเลยน่ะครับ แล้วก็ไปเปลี่ยน password และก็ port ในนั้นแล้วเวลารันก็สั่ง # ./sc_serv ตามด้วยชื่อไฟล์คอนฟิก เช่น # ./sc_serv p8000.conf หรือ # ./sc_p9000.conf


ถ้าต้องการให้ sc_serv start เองเวลา boot เครื่องก็สามารถเขียนเป็น shell script สั่นๆ ไว้ใช้งานกันได้โดยการ
# ee /usr/local/etc/rc.d/sc_serv.sh จะเข้าสู่หน้า editor ของ ee
พิมพ์
/usr/local/shoutcast-1-9-5-freebsdX-elf/sc_serv /usr/local/shoutcast-1-9-5-freebsdX-elf/sc_serv.conf & เข้าไปครับ อย่าลืมน่ะครับ X = version ที่ท่านโหลดมา จากนั้นทำการ save ให้เรียบร้อย
จากนั้นก็ทำการ
# chmod +x /usr/local/etc/rc.d/sc_serv.sh
# echo 'sc_serv_enable="YES"' >> /etc/rc.conf
# reboot
ดูผล
เสร็จครับ

มาถึงการติดตั้งบน Linux ก้นบ้าง
มันก็ไม่มีอะไรแตกต่างจากการ config บน FreeBSD สักเท่าไหร่ครับ
1.ดาวน์โหลด http://www.shoutcast.com/downloads/sc1-9-5/shoutcast-1-9-5-linux-glibc6.tar.gz มา
2.ทำการ extract ออกมาแล้วย้ายไปเก็บไว้ที่ /usr/bin (ความจริงจะเก็บไว้ที่ไหนก็ได้ครับไม่สำคัญสักเท่าไหร่)
3.เข้าไปแก้ไฟล์ sc_serv.conf เหมือนกับที่แก้ไขบน windows แล้วทำการ save
4. # chmod +x sc_serv
5.ทำการ run sc_serv ได้เลยครับ
# ./sc_serv sc_serv.conf

หากต้องการให้ shoutcast ทำงานหลาย port โปรแกรมด้านบน

*** ข้อควรระวังของการติดตั้ง Shoutcast Server คือ ถ้าหาก Sever ได้ติดตั้ง Firewall ไว้ควร Allow port ที่เราได้ตั้งไว้ในไฟล์ config ไม่งั้นจะไม่สามารถใช้ port ที่่ตั้งไว้ได้ครับ

หลังจากเราได้ติดตั้ง Server เสร็จเรียบร้อยแล้วก็มาจัดการกับตัว encode กันบ้างครับ

ผมใช้ winamp 5.12 สำหรับ encode น่ะครับ

1.ดาวน์โหลด http://www.shoutcast.com/downloads/shoutcast-dsp-1-9-0-windows.exe มาแล้วติดตั้งครับ Next อย่างเดียว

2. หลังจากติดตั้งแล้วเปิดโปรแกรม Winamp ขึ้นมา

3. เข้าไปที่หน้า Preferences ของ winamp ครับ โดยการคลิกขวาที่ส่วนของหัวโปรแกรม winamp >> Options >> Preferences... หรือกด Ctrl+p ก็ได้ครับ

4.ตอนนี้เราจะอยู่ที่หน้า Preferences ของ winamp แล้วน่ะครับ เลือกหัวข้อ DSP/Effect หน้าต่างด้านขวาจะแสดงDSP ที่ winamp มีอยู่ คลิกเลือกที่ Nullsoft SHOUTcast Source DSP V1.9.0 (dsp_sc.dll) จากนั้น มันจะเปิดหน้า config ของ SHOUTcast Sourc มาให้น่ะครับ
จะมีอยู่ด้วยกัน 4 tab เลือก tab ที่ 2 Output ก่อนน่ะครับ

DSP

5.ช่อง Address กรอก ip หรือ domain ของ server ที่เราได้ติดตั้ง Shoutcast Server ไว้ ถ้าเป็น windows เรามาสามารถติดตั้ง server และตัว encode ไว้ในเครื่องเดียวกันได้ ถ้าติดตั้งภายในเครื่องเดียวเราก็ใส่เป็น localhost ครับ

6.ช่อง Port กรอก port ที่เราได้ตั้งไว้ในไฟล์ config

7.ช่อง Password กรอก password ที่เราได้ตั้งไว้ในไฟล์ config

8.สำหรับช่อง Encoder เลือกเป็น 1 ไว้น่ะครับ

9.กรอกข้อมูลครบแล้วคลิกที่ปุ่ม Connect ถ้าหาก connect ติดแสดงว่าผ่านครับ (สังเกตตรง Status น่ะครับ จากเดิม Not Connected จะเป็นดังรูปข้างล่าง)

Connect

หลังจากตั้งค่าเสร็จคลิกทีุ่ปุ่ม Yellowpages แล้วตั้งค่าต่างๆ ตามต้องการ

Yellowpages



9.จากนั้นเปลี่ยนไปยัง tab Encoder


encode

10.เมื่อกี้ตอนเราแก้ไขข้อมูลหน้า Output เราได้เลือก Encoder 1 ไว้เราสามารถตั้งค่าได้ตามความต้องการครับ

11.ทดลองฟังโดย copy url ของ server รูปแบบ http://ipserver:port ไปวางในช่อง Open url ของ pleyer ใดๆ
เช่น http://cpe-ru.homeip.net:30000 เอาไปวางในช่อง Open url ของ windows medial player หรือ pleyer ตัวอื่นๆ ถ้าอยาก connect กับ server ได้และ buffer จนได้ยินเสียงเพลง แสดงว่าผ่านครับ ถ้าหากไม่ผ่านลองไล่ดูขึ้นตอนใหม่น่ะครับ

ยังไม่เสร็จครับ แหมผมลืมไปได้ยังไงเนี่ย
มาส่วนของ web admin กันครับ ผมลืมไปเลย
เรามาสามารถดูว่ามีคนฟังกี่คน จาก ip อะไร สามารถ ban ip ต่างๆ ได้จากหน้า page
http://yourhost:port/admin.cgi
เช่นของผม http://cpe-ru.homeip.net:30000/admin.cgi
กรอก
user : admin
passwd: พาสเวิส ที่คุณได้ตั้งไว้ในไฟล์ config


สำหรับผู้ฟังก็เข้าไปดูรายชื่อเพลงที่กำลังเล่นได้ที่ http://yourhost/
เช่น http://cpe-ru.homeip.net:30000/

ที่มา : http://learners.in.th/blog/mrgill/51511

ขั้นตอนการติดตั้ง DSP plug-in เพื่อส่งสัญญาณไปที่ SHOUTcast server

ในการส่งสัญญาณจากเครื่องที่ทำหน้าที่จัดรายการ (DJ) จะต้องทำการติดตั้ง DSP plug-in ซึ่งที่นิยมใช้กันจะมีอยู่สองทางเลือกคือ ติดตั้งกับ Winamp และ SAM ซึ่งการติดตั้งทั้งสองแบบสามารถใช้งานได้เหมือนกัน

1. ดาวน์โหลด DSP plug-in จากเว็บ http://www.shoutcast.com/ ในส่วน be a d.j. ตามรูป


หรือ http://www.shoutcast.com/downloads/shoutcast-dsp-1-9-0-windows.exe

2. ทำการติดตั้ง DSP plug-in ของ Winamp

3. เปิด Winamp ขึ้นมาเพื่อทำการปรับแต่งค่า โดยไปที่ Options -> Preferences เลือก DSP/Effect -> Nullsoft SHOUTcast Source DSP v1.9.0 [dsp_sc.dll] ดังรูป จากนั้นจะมีหน้าต่างการปรับแต่งมาให้





โดยจะต้องใส่ค่าต่าง ๆ ที่สำคัญดังนี้

Address : ใส่หมายเลข IP ของเครื่องที่เป็น SHOUTcast server

Port : ใส่หมายเลข Port ที่เราได้ตั้งไว้ใน sc_serv.conf ในส่วน PortBase:

Password : ใส่รหัสผ่าน ที่เราได้ตั้งไว้ใน sc_serv.conf ในส่วน Password:

Encoder : เลือกตัวเข้ารหัสที่ได้ตั้งไว้โดยดูได้จาก Tab Encoder โดยสามารถปรับแต่งได้ว่าจะทำการส่งสัญญาณที่ระดับใด ตามรูปจะส่งสัญญาณเป็น MP3 ที่ระดับ 96kbps, 4400Hz, Stereo



เมื่อทำการปรับค่าต่าง ๆ เรียบร้อยแล้วก็ส่งสัญญาณได้โดยกดที่ปุ่ม Connect เสร็จแล้วทำการเล่นเพลงใน Winamp ก็จะเห็นการส่งสัญญาณไปที่ SHOUTcast server



ขั้นตอนการติดตั้ง SAM Broadcaster เพื่อส่งสัญญาณไปที่ SHOUTcast server

หากต้องการใช้ SAM Broadcaster ส่งสัญญาณแทน Winamp สามารถดาวน์โหลดได้ที่ http://www.spacialaudio.com/products/sambroadcaster โดย SAM จะต้องติดตั้งกับฐานข้อมูลด้วย แล้วแต่ความต้องการว่าจะใช้ฐานข้อมูลอะไร แต่แนะนำ MySQL ดาวน์โหลดไปติดตั้งได้ที่ http://www.mysql.com/ โดยจะต้องติดตั้ง MySQL ก่อน แล้วติดตั้ง SAM Broadcaster หลังจากติดตั้งเสร็จทำการตั้งค่าดังนี้

เปิด SAM Broadcaster ขึ้นมาแล้วไปที่เมนู Window -> Encoders จะมีหน้าต่าง Encoders ดังรูป



จากนั้นให้เพิ่ม Encoder ใหม่โดยคลิกที่ปุ่มเครื่องหมาย + จะมีหน้าต่างให้เลือกว่าจะใช้ Encoder ตัวไหน ลองเลือกเป็น Legacy MP3 (ACM Codec)



จากนั้นเลือก Bitrate ที่ต้องการได้ที่ปุ่ม Choose Format



เปิดไปที่ Server Details ใส่รายละเอียดดังนี้

Server Type : ShoutCast

Server IP : หมายเลข IP ของเครื่องที่เป็น SHOUTcast server

Server Port : หมายเลข Port ที่ตั้งไว้เพื่อให้บริการ

Password : รหัสผ่านในการส่งสัญญาณไปยัง SHOUTcast server

ส่วนใน Station Details จะใส่หรือไม่ก็ได้



เสร็จแล้วทำการ Start Encoder และเปิดเพลงใน SAM ก็จะเป็นการส่งสัญญาณไปที่ SHOUTcast server แล้ว ดูได้จากสถานะตามรูปด้านล่าง





ขั้นตอนการเปิดฟัง Radio Online

ในการเปิดฟัง Radio Online เราสามารถใช้โปรแกรมเล่นเพลงต่าง ๆ เปิดได้โดยใส่ URL ดังนี้ http://ip/ เช่น http://61.47.10.204:8000/





ที่มา http://www.junjaowka.com/webboard/showthread.php?t=32145