Ads 468x60px

วันอังคารที่ 27 ธันวาคม พ.ศ. 2554

การถ่ายทอดสดด้วย ทั้งภาพและเสียง SchoutCast Server ด้วย FreeBSD 6.2

 การถ่ายทอดสดด้วย  ทั้งภาพและเสียง  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
นะครับ
            เรามาดูการติดตั้ง  Shoutcast Server  ฝั่งเครื่อง  Server  นะครับ
                2.1  ให้เราไปดาว์นโหลดไฟล์ที่จะติดตั้งกับ  FreeBSD  เสียก่อนครับ
                    www# cd  /tmp
                    www#fetce http://msbr.dyndns.org/download/shoutcast-1-9-5-freebsd5-elf.tar.gz
               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 ครับ 
     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
  นะครั้ง  งัยก็ลองติดตั้งดูนะครับ
      พอติดตั้งเสร็จแล้วเราก็จะได้ NSV Live Capture มาอยู่ที่ Start Menu

                               

มาดูหน้าตาเจ้า NSV Live Capture กัน

                                NSV interface

รู้จักหน้าตากันไปแล้วมาเริ่มการ Settings ค่าต่างๆของมันกันดีกว่า
1. เริ่มด้วยคลิกที่เมนู File แล้วเลือก Set Capture Destination... ดังรูป

                                Capconf

มันจะเปิดหน้าต่างขึ้นมา ดังรูป
                               
ให้เรากำหนดค่าต่าง ๆ ที่ Device Output  เพื่อแสดงภาพและเสียงในการติดต่อ  Server
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             : ไม่ต้องเปลี่ยน
เปลี่ยนค่าต่างๆ แล้วก็ OK ได้เลยครับ
จากนั้นก็มาดูเมนู 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  ทุกคนครับ สำหรับคำแนะนำที่ดีครับ

0 ความคิดเห็น: