การถ่ายทอดสดด้วย ทั้งภาพและเสียง SchoutCast Server ด้วย FreeBSD 6.2
http://www.ms.ac.th/block-dyns/block-elearning.html
ก่อนอื่นผมต้องขออภัยด้วยถ้าไม่สามารถจัดการได้ เนื่องจากวันที่ 16-17 สิงหาคม 2550 นี้ทางโรงเรียนกระผมจะมีการจัดงานฉลองครบรอบ 25 ปี ทางผู้บริหารเลยให้ โปรเจคผมมาว่า น่าจะมีการถ่ายทอดกิจกรรมทางเว็บไซค์ เพราะว่างานนี้ได้นิมนต์หลวงพ่อพะยอม กัลยาโน เจ้าอาวาสวัดสวนแก้ว มากบรรยายธรรมให้แก่ผู้ปกครอง นักเรียน บุคลากร ศิษย์เก่า และผู้ที่สนใจด้วย เลยลองทำดูวันนี้วันที่ 28 กรกฏาคม 2550
ผมจึงได้ลองศึกษาและลองบันทึกผลการดำเนินการไว้เผื่อเป็นประโยชน์ในการดำเนินการครั้งต่อไปและผู้ที่สนใจ เข้าเรื่องเลยนะครับ
กาเตรียมอุปกรณ์กันที่ต้องใช้ ลองดูก็แล้วกันว่า จะเวิร์กหรือเปล่า มาลองกันเลยเดองับ
1. เครื่องคอมพิวเตอร์ 1 เครื่อง สำหรับ Encode ผมใช้ Windows XP น่ะครับ
2. เครื่อง Server ที่ลง Shoutcast Server ไว้ ผมเลือก FreeBSD นะครับ
1. เครื่องคอมพิวเตอร์ 1 เครื่อง สำหรับ Encode ผมใช้ Windows XP น่ะครับ
2. เครื่อง Server ที่ลง Shoutcast Server ไว้ ผมเลือก FreeBSD นะครับ
เรามาดูการติดตั้ง Shoutcast Server ฝั่งเครื่อง Server นะครับ
2.1 ให้เราไปดาว์นโหลดไฟล์ที่จะติดตั้งกับ FreeBSD เสียก่อนครับ
www# cd /tmp
2.2 หลังจากดาว์นโหลดมาแล้ว ให้เราแตกไฟล์
www#gzip -cd shoutcast-1-9-5-freebsd5-elf.tar.gz | tar xvf -
2.3 ใช้คำสั่ง cd เพื่อเข้าไปยังไดเรคเทอรี ที่แตกไฟล์ออกมาครับ
www#cd shoutcast-1-9-5-freebsd5-elf
2.4 หลังจากนั้นให้เราไปแก้ไขไฟล์ sc_serv.conf
www# cp sc_serv.conf sc_serv.bak (เพื่อสำรองไฟล์ไว้ก่อนกรณีมีการผิดพลาดเราจะได้กู้กลับมาแก้ไขใหม่ได้ครับ)
www# pico sc_serv.conf
2.5 ให้ค้นหาบรรทัดข้างล่างนี้โดยการกด Ctrl+W
;AdminPassword=adminpass ให้เอาเครื่องหมาย (;) หน้าบรรทัดออก
(คำว่า adminpass เป็นรหัสผ่านของ Admin ที่จะเข้าไปบริหาร ShoutCast เพื่อถ่ายทอดเสียง หรือภาพ หรือทั้งเสียง
และภาพ และในที่นี้ผมเปลี่ยนเป็น spcom ซึ่งถ้ามีเวลาจะนำเสนอในเรื่องของการถ่ายทอดเสียง หรือวิทยุออนไลน์ด้วยนะครับ)
2.6 ต่อไปเราก็สั่งให้ Shoutcast Server ทำงาน
www#cd /tmp
www#cd shoutcast-1-9-5-freebsd5-elf
www#./sc_serv
หรือถ้าต้องการให้ Shoutcast Server ทำงานทุกครั้งที่ Boot เครื่อง ในไฟล์ /etc/rc.local ให้เขียนคำสั่งเพือ start shoutcast ตาม path ที่เรา
ได้ติดตั้งโปรแกรมครับ เช่น
www# pico /etc/rc.local
/tmp/xxxxxx/sc_serv
ก็เป็นอันว่าสำเร็จฝั่งเครื่อง Server ครับ
www# pico /etc/rc.local
/tmp/xxxxxx/sc_serv
ก็เป็นอันว่าสำเร็จฝั่งเครื่อง Server ครับ
3. การ์ด TV-Tuner 1 ตัว (ในที่นี้ผมใช้ Snazzi ครับ)
4. Software NSV (Nullsoft Video) มีหลายตัวเหมือนกันน่ะครับ download และลงตามลำดับเลย
4.1 NSV Tools
4.2 NSV Tools updated version
4.3 NSVtools_repack
4.4 On2VP3VideoForWindows3250
4.5 vp361DTe
4.6 slavas_nsv_VP3_encoder
เมื่อดาว์นโหลดเสร็จแล้วให้ติดตั้งตามลำดับเลยนะครับ (คิดว่าท่านที่ได้อ่านคงจะสามารถติดตั้งเป็นนะครับ) ส่วนข้อที่ 4.2-4.6 เป็นตัว Upadate นะครั้ง งัยก็ลองติดตั้งดูนะครับ
4. Software NSV (Nullsoft Video) มีหลายตัวเหมือนกันน่ะครับ download และลงตามลำดับเลย
4.1 NSV Tools
4.2 NSV Tools updated version
4.3 NSVtools_repack
4.4 On2VP3VideoForWindows3250
4.5 vp361DTe
4.6 slavas_nsv_VP3_encoder
เมื่อดาว์นโหลดเสร็จแล้วให้ติดตั้งตามลำดับเลยนะครับ (คิดว่าท่านที่ได้อ่านคงจะสามารถติดตั้งเป็นนะครับ) ส่วนข้อที่ 4.2-4.6 เป็นตัว Upadate นะครั้ง งัยก็ลองติดตั้งดูนะครับ
พอติดตั้งเสร็จแล้วเราก็จะได้ NSV Live Capture มาอยู่ที่ Start Menu
มาดูหน้าตาเจ้า NSV Live Capture กัน
รู้จักหน้าตากันไปแล้วมาเริ่มการ Settings ค่าต่างๆของมันกันดีกว่า
1. เริ่มด้วยคลิกที่เมนู File แล้วเลือก Set Capture Destination... ดังรูป
มันจะเปิดหน้าต่างขึ้นมา ดังรูป
รู้จักหน้าตากันไปแล้วมาเริ่มการ Settings ค่าต่างๆของมันกันดีกว่า
1. เริ่มด้วยคลิกที่เมนู File แล้วเลือก Set Capture Destination... ดังรูป
มันจะเปิดหน้าต่างขึ้นมา ดังรูป
1. Output : เลือกเป็น Shoutcast server.
2. Shoutcast server : ใส่หมายเลข ip หรือ Domain ของ Shoutcast Server
( ถ้าเกิดเครื่อง Server เป็นเครื่องเดี่ยวกันกับเครื่องที่ Capture ก็สามารถใส่ 127.0.0.1 หรือ localhost ได้เลย)
3. Port : ใส่หมายเลขพอร์ตตามที่เราได้ตั้งไว้
4. Password : กรอกพาสเวิดส์ที่ได้ตั้งไว้ ในที่นี่ผมเป็น spcom
5. The headers :
- icy-name:MS LIVE : ใส่ชื่อสถานีที่นี่
- icy-genre:none : ใส่ประเภทของสถานี
- icy-pub:0 : ต้องการให้แสดงชื่อสถานีบน Winamp TV directory หรือไม่ 0=ไม่แสดง 1=แสดง
- icy-br:60 : บิตเรตที่ stream หรือส่งภาพและเสียง (ในที่นี้ 60 เพราะว่าเบรนบิดร์ผมค่า 128/64 Kbs
- (แต่วันที่ 16-17 สิงหาคม 2550 ผมก็จะปรับเป็น 300 เพราะตอนนี้อยู่ในช่วงทำเรื่องเพิ่ม Speed อยู่ครับ)
- icy-url:http://www.ms.ac.th : ชื่อเว็ปไซน์โรงเรียนผมนะครับ (โรงเรียนมารีย์อนุสรณ์ บุรีรัมย์)
- icy-reset:1 : ไม่ต้องเปลี่ยน
จากนั้นก็มาดูเมนู Devices กันบ้าง เพื่อกำหนด อุปกรณ์ในการส่งภาพ และเสียง
ตรงส่วนนี้เอาไว้เลือกอุปกรณ์สำหรับ Capture ครับจะเห็นไว้ว่าแยกออกเป็น 2 ส่วน คือ ส่วนบนเป็นอุปกรณ์ Input ภาพ สำหรับ Capture Video และส่วนล่างจะเป็นส่วนของ Soundcard เอาไว้สำหรับ capture เสียง ให้เราคลิกเลือกทั้งสองอุปกรณ์ เลยนะครับ
มาดูเมนู Options กันบ้าง
ให้เลือก Preview เพื่อจะได้จัดตำแหน่งหรือตั้งค่าเกี่ยวกับแสงของกล้องได้สะดวกขึ้น แต่ผมเลือกแล้วภาพไม่มาครับ เป็นเพราะว่าตอนนี้การ์ด Pinnacle ของผมมันเลือกภาพจาก Svideo แต่ผมนำภาพเข้าจาก AV ผมจึงจำเป็นต้องเลือกเมนู Video Input ด้วยครับ
สังเกตุว่าตอนนี้ภาพมาแล้วครับ จากนั้นคลิกเลือก Video Capture Filter.. เพื่อปรับแต่การ์ด Input Video
ลองปรับดูนะครับ การเพิ่มแสง เพิ่มสีของวีดีโอ จะขึ้นอยู่กับการ์ด Capture Video แต่ละตัวด้วยนะครับ
จากนั้นก็มาเลือกที่ Video Capture Pin...
ในที่นี่เป็นการเลือกรูปภาพของ Stream เช่นขนาดของภาพส่งออก ให้เลือกเป็น แล้วแต่ความเหมาะสมหรือความต้องการของท่าน แล่ผมเลือก 352x288 และผมไม่ปรับอะไรอีกเลยเอาตามค่าเดิมครับ หลังจากนั้น คลิกเลือกที่เมนู Capture จากนั้นคลิกเลือกที่ Capture Audio เพื่อทำให้ภาพที่ส่งออกไปมีเสียงด้วยครับ
เมื่อเลือก Capture Audio แล้วกลับไปที่เมูน Options กันอีกครั้ง คลิกเลือกที่ Audio Capture Filter...
เพื่อปรับรูปแบบของเสียงที่เข้า และเสียงออก
ในตรงส่วนข่อง Pin Line Input Mix ให้เลือก เครื่องหมายถูก Enable และ Pin Line ให้เลือก Stereo Mix และสามารถปรับเสียงความดัง เสียงเบส เสียงแหลมได้วด้วยนะครับ จากนั้นให้คลิก OK
ต่อจากนั้นเรามาดูที่เมนู NSV กันบ้างน่ะครับ คลิกที่ NSV แล้วเลือก Config...
ตั้งค่าตามนี้เลยครับ Deinterlace video กับ High quality deinterlace ให้ติ๊กถูกด้วยน่ะครับ
เพื่อให้ video ที่ส่งออกไปจะได้คมชัด ส่วนเสียงจะตั้งให้เป็น Stereo หรือ Mono ก็แล้วแต่ชอบน่ะครับ
จากนั้นที่คลิก Encoder Config...จะได้หน้าต่าง ดังรูป
ให้เลือก Audio format : เป็น PCM Audio น่ะครับ Bitrate: เลือกตามต้องการ แต่ต้องคำนึงถึงอัตรา upstream ของอินเตอร์เน็ตที่เราใช้ด้วยน่ะครับ
ส่วน Video ให้เลือกเป็น VP31/VFW อย่างรูปด้านบน จากนั้นก็คลิกที่ Configure
\
ถึงตอนนี้ผมไม่ปรับอะไรนะครับ (เพราะผมอ่านแล้วไม่เข้าใจ และในขณะที่ผมทำอยู่นี้ผมยังไม่รู้เลยว่าภาพมันจะออกไปที่ Server หรือเปล่า) 555+
จากนั้นให้คลิก OK และ OK ไปเรื่อย ๆ และก็จะกลับมาที่หน้าจอเดิมครับ NSV Live Capture
เมื่ออยู่ตรงหน้าหลักของโปรแกรมแล้ว คลิกที่เมนู Capture แล้วคลิกเลือกที่ Start Capture ได้เลย
สังเกตที่ Status bar จะมีตัวเลขวิ่ง เป็นอันเสร็จครับ สำหรับการส่งภาพเข้า SERVER FreeBSD
มาดูผลกัน
เข้าไปที่ http://www.ms.ac.th:8000 จากนั้นคลิกที่ Listen
หรือเปิดโดยตรงจาก winamp เลยก็ได้ โดยการเปิดโปรแกรม winamp แล้ว add url (กด Crtl +L) แล้วใส่ http://www.ms.ac.th:8000/listen.pls
เช่น http://www.ms.ac.th:8000/listen.pls
ถ้าหากผ่านมันจะ buffer แล้วก็แสดง video พร้อมเสียงเลยครับ
ข้อสังเกตนิดนึงน่ะครับ คลิกขวาที่ชื่อสถานีใน winamp ดูแล้ว View file info...
เราจะเห็นว่า url จะเปลี่ยนไปเป็น http://www.ms.ac.th:8000/;stream.nsv
เช่น http://www.ms.ac.th:8000/;stream.nsv
เป็นวิธีง่ายๆ ลองเอาไปทำกันดูน่ะครับ
ทำเสร็จยังไม่ได้ลองเลยครับ ไฟดับ เครื่อง Server ที่โรงเรียนผมดับไปด้วยครับ เลยยังไม่ได้ทดสอบ
หลังจากขับรถเข้าไปโรงเรียน ประมาณ 10 กิโลเมตร เปิด Server (เพราะไม่มีเครื่องสำรองไฟครับ )
กลับมาบ้านอีกครั้ง ลองดูใหม่ผลสรุปว่า ผ่านครับ
แต่ผมไม่สามารถให้มันแสดงผ่านเว็บได้เลยครับ ท่านใดมี โค้ดแสดงด้วย WinAmp ขอด้วยครับ
เพราะว่าต้องเปิดผ่าน วินแอมป์เท่านั้น เดี่ยวผมจะลองดูที่ Windows Media ดูว่าจะผ่านหรือเปล่า ผลปรากฎว่า "ไม่ผ่านครับ" เปิดดูไม่ได้
วันที่ 28 กรกฎาคม 2550 เวลา 11.50 น. sombut45@hotmail.com
ต้องขอขอบพระคุณ Thaibsd.com, mr.gill , อ.เกรียงไกร แห่งมหาวิทยาลัยราชภัฏสุรินทร์ และอาจารย์กิตติพงษ์ สุวรรณราช
และพี่ ๆ น้อง ๆ ชาว BSD ทุกคนครับ สำหรับคำแนะนำที่ดีครับ
ต้องขอขอบพระคุณ Thaibsd.com, mr.gill , อ.เกรียงไกร แห่งมหาวิทยาลัยราชภัฏสุรินทร์ และอาจารย์กิตติพงษ์ สุวรรณราช
และพี่ ๆ น้อง ๆ ชาว BSD ทุกคนครับ สำหรับคำแนะนำที่ดีครับ