2006/May/24

Example :

สวัสดีครับท่านทุกคนคืนนี้ว่างจัดเลยมานั่งเขียนเรื่องการทำ 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 ในที่นี่ขอแนะนำ SHOUTcastDSP 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 SHOUTcastDSP 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 หาบรรทัดที่เขียนว่า
; AdminPassword=adminpass ให้เอาเครื่องหมาย ; ออกน่ะครับจากนั้นหลังเครื่องหมาย = เราสามารถเปลี่ยนได้ตามต้องการ นี่เป็น password สำหรับ admin และสำหรับคนที่จะ encode เข้ามายัง server ของเรา
ตัวอย่างหลังการแก้ 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 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

***ข้อควรระวังของการติดตั้ง 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:port/
เช่น http://cpe-ru.homeip.net:30000



edit @ 2006/07/28 11:02:54

edit @ 30 Sep 2008 15:16:25 by Mr_Gill

Comment

Comment:

Tweet


#138 by (41.231.53.40|178.63.0.194, 41.231.53.40) At 2014-09-12 11:28,
#137 by (41.231.53.40|178.63.0.194, 41.231.53.40) At 2014-09-12 11:27,
#136 by (41.231.53.40|178.63.0.194, 41.231.53.40) At 2014-09-12 11:27,
#135 by (41.231.53.41|148.251.91.38, 41.231.53.41) At 2014-09-08 09:54,
#134 by (41.231.53.41|148.251.91.38, 41.231.53.41) At 2014-09-08 09:53,
#133 by (41.231.53.41|148.251.91.38, 41.231.53.41) At 2014-09-08 09:52,
#132 by (201.218.1.90|148.251.91.38, 201.218.1.90) At 2014-09-05 19:45,
#131 by (201.218.1.90|148.251.91.38, 201.218.1.90) At 2014-09-05 19:43,
#130 by (212.73.75.243|148.251.92.48, 212.73.75.243) At 2014-09-02 07:09,
#129 by (212.73.75.243|148.251.92.48, 212.73.75.243) At 2014-09-02 07:08,
#128 by (212.73.75.243|148.251.92.48, 212.73.75.243) At 2014-09-02 07:08,
#127 by (203.69.126.35|203.69.126.35) At 2014-08-26 15:20,
#126 by (201.64.37.160|201.64.37.160) At 2014-08-13 13:31,
#125 by (200.159.94.160|200.159.94.160) At 2014-08-13 13:29,
#124 by (59.144.178.6|148.251.91.38, 59.144.178.6) At 2014-08-06 11:26,
#123 by (81.24.247.34|178.63.0.194, 81.24.247.34) At 2014-07-30 22:38,
#122 by (81.24.247.34|178.63.0.194, 81.24.247.34) At 2014-07-30 22:37,
#121 by (81.24.247.34|178.63.0.194, 81.24.247.34) At 2014-07-30 22:37,
#120 by (41.231.53.43|178.63.0.194, 41.231.53.43) At 2014-07-24 11:16,
#119 by (41.231.53.43|178.63.0.194, 41.231.53.43) At 2014-07-24 11:16,
#118 by (41.231.53.43|178.63.0.194, 41.231.53.43) At 2014-07-24 11:15,
#117 by (183.177.102.10|178.63.0.194, 183.177.102.10) At 2014-07-22 01:59,
#116 by (183.177.102.10|178.63.0.194, 183.177.102.10) At 2014-07-22 01:59,
#115 by (183.177.102.10|178.63.0.194, 183.177.102.10) At 2014-07-22 01:58,
#114 by (178.168.68.7|148.251.92.48, 178.168.68.7) At 2014-07-14 05:02,
#113 by (178.168.68.7|148.251.92.48, 178.168.68.7) At 2014-07-14 05:02,
#112 by (178.168.68.7|148.251.92.48, 178.168.68.7) At 2014-07-14 05:01,
#111 by (175.111.91.19|192.168.11.77, 175.111.91.19) At 2014-07-01 19:52,
#110 by (175.111.91.19|192.168.11.77, 175.111.91.19) At 2014-07-01 19:50,
#109 by (189.6.244.27|148.251.92.48, 189.6.244.27) At 2014-06-29 16:54,
#108 by (189.6.244.27|148.251.92.48, 189.6.244.27) At 2014-06-29 16:53,
#107 by (189.6.244.27|148.251.92.48, 189.6.244.27) At 2014-06-29 16:51,
#106 by (91.196.230.66|178.63.0.194, 91.196.230.66) At 2014-06-28 18:46,
#105 by (91.196.230.66|178.63.0.194, 91.196.230.66) At 2014-06-28 18:44,
#104 by (91.196.230.66|178.63.0.194, 91.196.230.66) At 2014-06-28 18:43,
#103 by (178.168.68.7|148.251.92.48, 178.168.68.7) At 2014-06-27 11:03,
#102 by (178.168.68.7|148.251.92.48, 178.168.68.7) At 2014-06-27 11:02,
#101 by (178.168.68.7|148.251.92.48, 178.168.68.7) At 2014-06-27 11:02,
#100 by (189.133.91.204|148.251.92.48, 189.133.91.204) At 2014-06-25 21:16,
#94 by (5.79.73.142|5.79.73.142) At 2014-06-14 03:04,
#93 by (95.211.192.231|95.211.192.231) At 2014-06-13 21:46,
#92 by (95.211.192.231|95.211.192.231) At 2014-06-13 21:46,
#91 by (5.79.73.142|5.79.73.142) At 2014-06-11 12:32,

Montree Phomkam
View full profile