Friday, September 18, 2009

Live Video Steaming โดยใช้ NSVcap + Shoutcast Server

Live Video Steaming โดยใช้ NSVcap + Shoutcast Server
สวัสดีกันอีกรอบครับ คืนนี้รู้สึกคันไม้คันมือมันร้อนวิชา
วันก่อนได้เขียนเรื่องการทำ Internet Radio ด้วย Shoutcast Server น่ะครับ
ซึ่งมันก็ได้แค่เสียงอะครับ แต่ความสามารถของ Shoutcast ไม่ได้หมดเพียงเท่านั้นน่ะครับ
วันนี้ผมจะมาแนะนำวิธีดึงความสามารถนี้ออกมาครับ
ความสามารถที่พูดถึงก็คือการทำ Live Streaming (นิยามเอง) หรือก็คือการถ่ายทอดสด Video พร้อมกับเสียงนั้นเองครับ
คนที่ยังไม่ได้อ่านเรื่องการทำ internet radio เชิญคลิกอ่านได้ที่นี่
http://cpe-ru.exteen.com/20060524/online-shoutcast-server-mr-gill

ผมเองได้ งง อยู่นานพอสมควรเลย เพราะเคยดู live streaming แบบนี้ในโปรแกรม winamp หลายครั้งแล้วแต่ตอนนั้นยังทำไม่เป็น

สำหรับท่านที่ไม่เคยรู้ว่าโปรแกรม winamp สามารถดูสื่อ online ได้ก็ลองเปิดโปรแกรม winamp แล้วกด Alt+L หรือคลิกตรง Media Library ดูก็ได้น่ะครับ แล้วก็เลือกตรง SHOUTcast TV (ต้องเป็น winamp v3.x ขึ้นไปน่ะครับ) แนะนำ winamp 5x น่ะครับ แล้วเพื่อนๆ ก็จะเจอกับแหล่งหนังโป๊ะที่ดูได้ฟรีๆ ฮิฮิ แต่เราไม่เน้นเรื่องนั้นน่ะครับผมแค่ชี้โพรงให้กระรอกได้ดูตัวอย่างการทำ Streaming เท่านั้น(อาจดูเพลินไปหน่อยก็ไม่ว่ากัน)

เอาตัวอย่างลองไปเปิดดูกันน่ะครับว่า Live Streaming ด้วย Shoutcast มันหน้าตายังไง
http://83.98.183.130:8090;stream.nsv << copy ลิงค์นี้ไปวางใน add url ของ winamp ดูน่ะครับ

นั้นแหละครับเป็นการทำ Steaming ด้วย Shoutcast แต่ของเขาอาจเก็บไว้ในรูปแบบไฟล์
ส่วนที่ผมจะแนะนำในวันนี้เป็นการทำ Streaming กันแบบสดๆ จากกล้อง webcam น่ะครับ

มาเตรียมอุปกรณ์กัน (เราต้องมีอะไรกันบ้างน๊อ)
1. เครื่องคอมพิวเตอร์ 1 เครื่อง สำหรับ Encode ผมใช้ Windows XP น่ะครับ
2. เครื่อง Server ที่ลง Shoutcast Server ไว้
3. กล้อง webcam 1 ตัว
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
โหลดแล้วติดตั้งตามลำดับเลยครับ ตัวที่ 2-6 เป็นตัว update อาจเยอะหน่อย

พอติดตั้งเสร็จแล้วเราก็จะได้ NSV Live Capture มาอยู่ที่ Start Menu



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



รู้จักหน้าตากันไปแล้วมาเริ่มการ 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 : กรอกพาสเวิดส์ที่ได้ตั้งไว้
5. The headers :

icy-name:CPE-RU <--ใส่ชื่อสถานีที่นี่
icy-genre:world <--ใส่ประเภทของสถานี
icy-pub:0 <--ต้องการให้แสดงชื่อสถานีบน Winamp TV directory หรือไม่ 0=ไม่แสดง 1=แสดง
icy-br:100 <--บิตเรตที่ stream
icy-url:http://cpe-ru.homeip.net <--ชื่อเว็ปไซน์
icy-reset:1 <--ไม่ต้องเปลี่ยน
เปลี่ยนค่าต่างๆ แล้วก็ OK ได้เลยครับ
จากนั้นก็มาดูเมนู Devices กันบ้าง



ตรงส่วนเอาไว้เลือกอุปกรณ์สำหรับ Capture ครับจะเห็นไว้ว่าแยกออกเป็น 2 ส่วน คือ ส่วนบนเป็นอุปกรณ์กล้อง (webcam)สำหรับ Capture Video และส่วนล่างจะเป็นส่วนของ Soundcard เอาไว้สำหรับ capture เสียง

มาดูเมนู Options กันบ้าง



ให้เลือก Preview เพื่อจะได้จัดตำแหน่งหรือตั้งค่าเกี่ยวกับแสงของกล้องได้สะดวกขึ้น

จากนั้นคลิกเลือก Video Capture Filter...



เพื่อเข้าไปตั้งค่าต่างๆ ของกล้อง



การตั้งค่าของกล้องนี้จะแตกต่างกันออกไปแล้วแต่ยี่ห้อของกล้องนั้นๆ น่ะครับ
เสร็จแล้วก็ OK

จากนั้นก็มาเลือกที่ Video Capture Pin...





ส่วนนี้จะเป็นการเลือกลักษณะสีที่จะ Stream และขนาดของ Video ที่ต้องการ ปกติจะเป็น 320x240
เรื่องของกล้องก็เสร็จไปนิดนึงแล้วนะครับ ต่อมาก็จัดการเกี่ยวกับเสียง


คลิกเลือกที่เมนู Capture จากนั้นคลิกเลือกที่ Capture Audio เพื่อทำให้ภาพที่ส่งออกไปมีเสียงด้วย



เมื่อเลือก Capture Audio แล้วกลับไปที่เมูน Options กันอีกครั้ง
คลิกเลือกที่ Audio Capture Filter...



จะปรากฏหน้าจอแบบนี้ขึ้นมา



ตรง Pine Line: เลือก input ของเสียงที่จะส่งน่ะครับ เนื่องจากผมไม่มีเครื่องเสียงแยกผมก็ขอเล่น Sterero Mix เลยละกัน
สำหรับท่านที่มีเครื่องไม้เครื่องมือ ครบก็สามารถเลือกได้ตามความเหมาะสมน่ะครับ เมื่อเลือก input ได้แล้วก็คลิกที่ Enable ให้มี
เครื่องหมายถูกด้วยน่ะครับเพื่อเป็นการเปิดใช้งาน input ที่เราเลือก
เมื่อตั้งค่าต่างๆ เสร็จแล้วก็ OK

ทีนี่ก็มาที่เมนู NSV กันบ้างน่ะครับ คลิกที่ NSV แล้วเลือก Config...





ตั้งค่าตามนี้เลยครับ Deinterlace video กับ High quality deinterlace ให้ติ๊กถูกด้วยน่ะครับ
เพื่อให้ video ที่ส่งออกไปจะได้คมชัด ส่วนเสียงจะตั้งให้เป็น Stereo หรือ Mono ก็แล้วแต่ชอบน่ะครับ

จากนั้นที่คลิก Encoder Config...จะได้หน้าต่าง ดังรูป



ให้เลือก Audio format : เป็น Raw ACC v1.00 น่ะครับ Bitrate: เลือกตามต้องการ แต่ต้องคำนึงถึงอัตรา upstream ของอินเตอร์เน็ตที่เราใช้ด้วยน่ะครับ
ส่วน Video ให้เลือกเป็น VP62/VFW อย่างรูปด้านบน

จากนั้นก็คลิกที่ Configure



ตอนนี้เราจะอยู่ที่ tab General น่ะครับ
ใส่ค่า Bitrate (kilobites per sec) ได้ตามต้องการ ตรง Mode ผมเลือกเป็น Realtime / Live Encoding น่ะครับ

จากนั้นคลิกที่ tab Settings ครับ



ตรงนี้ผมก็เลือกให้เป็น RealTime - Streaming เหมือนกัน (ค่าเหล่านี้สามารถเปลี่ยนแปลงได้ ตามความเหมาะสมของอุปกรณ์และความเร็วเน็ต)

จากนั้นคลิกที่ tab Advanced ครับ



คลิกให้มีเครื่องหมายถูกที่หน้า Temporal Resampling กับ Spatial Resampling ด้วยน่ะครับ
เป็นอันเสร็จ
จากนั้นก็ OK ไปเรื่อยๆ จนกว่าจะออกมาหน้าหลักของ NSV Live Capture
เมื่ออยู่ตรงหน้าหลักของโปรแกรมแล้ว คลิกที่เมนู Capture แล้วคลิกเลือกที่ Start Capture ได้เลย





สังเกตที่ Status bar จะมีตัวเลขวิ่ง
เป็นอันเสร็จครับ

มาดูผลกัน
ก็เหมือนเดิมกับ การทำ Internet Radio เลยครับ
เข้าไปที่ http://yourhost:port จากนั้นคลิกที่ Listen
หรือเปิดโดยตรงจาก winamp เลยก็ได้ โดยการเปิดโปรแกรม winamp แล้ว add url (กด Crtl +L) แล้วใส่ http://youshost:port/listen.pls
เช่น http://cpe-ru.homeip.net:30000/listen.pls
ถ้าหากผ่านมันจะ buffer แล้วก็แสดง video พร้อมเสียงเลยครับ
ข้อสังเกตนิดนึงน่ะครับ คลิกขวาที่ชื่อสถานีใน winamp ดูแล้ว View file info...
เราจะเห็นว่า url จะเปลี่ยนไปเป็น http://yourhost:port/;stream.nsv
เช่น http://cpe-ru.homeip.net:30000/;stream.nsv

เป็นวิธีง่ายๆ ลองเอาไปทำกันดูน่ะครับ

สำหรับคนที่อยากให้มันเล่นผ่านเว็ปได้ มันก็มี plugin ของ winamp ที่เอาไปแปะหน้าเว็ปได้ครับ

ลองเอา Code ข้างบนนี้ลองไปใช้ดูครับเปลี่ยน url เอา

Live DJ



codebase="http://www.nullsoft.com/nsv/embed/nsvplayx_vp3_mp3.cab#Version=-1,-1,-1,-1" id="nsvplayx" align="absmiddle">














คัดลอกไปที่คลิปบอร์ดเครดิต http://cpe-ru.exteen.com/20060603/live-video-steaming-nsvcap-shoutcast-server

No comments: