View
1.208
Download
1
Embed Size (px)
DESCRIPTION
เอกสารประกอบการบรรยายเรื่องการสร้าง web conference เมื่อ 9 เม.ย. 2554
Citation preview
การสรางระบบ Web Conferencing ดวย TOSAKUN
Components
9 เมษายน 2554
Produced by Team TOSAKUN http://www.n3amedia.biz
Part 1
Web Conference Introduction
Produced by Team TOSAKUN http://www.n3amedia.biz
ความหมายจาก Wiki
Web conferencing is used to conduct live meetings,
training, or presentations via the Internet. In a web conference, each participant sits at his or her own computer and is connected to other participants via the internet. This can be either a downloaded application on each of the attendees' computers or a web-based application where the attendees access the meeting by clicking on a link distributed by e-mail (meeting invitation) to enter the conference.
Produced by Team TOSAKUN http://www.n3amedia.biz
ทมา http://en.wikipedia.org/wiki/Web_conference
แรงผลกดนทมผลตอ Web Conferencing
• ตองการ Time to market ทสนลง • การกระจายตวของผเชยวชาญ • การขาดแคลนบคลากร • ประหยดงบประมาณ • การทองเทยว • การสงบคคลากรออกไปท างาน • โรคระบาด การสารธารณสข • ความมนคงของประเทศ • ฯล
Produced by Team TOSAKUN http://www.n3amedia.biz
บรการ Web Conferencing ทพบในปจจบน
• Video Call • Web Casting • Collaboration • Education & Training • Media Sharing • Customer Support
Produced by Team TOSAKUN http://www.n3amedia.biz
แนวโนมการใชงาน Web Conferencing
Produced by Team TOSAKUN http://www.n3amedia.biz
ตวแบบการตดต งระบบ Video Conference
ปจจบนมอยสองตวแบบ • Multiplepoint Control Unit (MCU) • Continuous Presence
Produced by Team TOSAKUN http://www.n3amedia.biz
Hardware Base Multipoint Control Unit
Produced by Team TOSAKUN http://www.n3amedia.biz
MCU
Source: http://www.tandberg.com
Multipoint Control Unit
Produced by Team TOSAKUN http://www.n3amedia.biz
• ใช อปกรณ Switching ควบคมทศทางของสญญาณ • ผเขารวมประชมจะไดรบสญญาณเพยง 1 สญญาณ • มกใชงานรวมกบระบบ Gate Keeper หรอระบบแปลง IP
address • ตวแบบการใชงาน
• Chair control
• Follow speaker (นยมใช)
• User control
MCU : Chair control
Produced by Team TOSAKUN http://www.n3amedia.biz
Chair man เปนผ
ควบคม MCU เพอท า
การ Broadcast
สญญาณของผเขา
ประชมคนใดคนหนง
MCU : Follow speaker
Produced by Team TOSAKUN http://www.n3amedia.biz
Speaker สงความ
ตองการให MCU
เพอท าการ Broadcast
สญญาณของตวเอง
MCU : User control
Produced by Team TOSAKUN http://www.n3amedia.biz
Speaker เปนผก าหนด
วาตองการจะ
Broadcast สญญาณ
ไปใหผเขาประชมคน
ใด หรอตองการรบ
สญญาณจากใคร
Continuous Presence
Produced by Team TOSAKUN http://www.n3amedia.biz
• ผเขาประชมรบสญญาณจากผเขารวมประชมทกคน • ตองการ Bandwidth โดยรวมมากกวาแบบ MCU • มสภาพคลายการประชมจรงกวา MCU • เพมประสทธภาพไดดวยการใชการท า Multicasting(1,2)
• TOSAKUN MEETING ใชตวแบบน
(1) http://www.cc.mahidol.ac.th/newsletter/Old/Vol7/content_1.htm
(2) http://tv.ku.ac.th/tech.html
Continuous presence
Produced by Team TOSAKUN http://www.n3amedia.biz
Protocol สอสารทใชกบ Video Conference
H.323(1)
• TCP และ UDP • รองรบ video, void, data • ซบซอน • Provider รบรอง
Session Initiation Protocol (SIP)(2)
• ออกแบบมาเพอรองรบ voice : VoIP • ไมรองรบ multipoint conference • Flexible มากกวา H.323 → ประยกตใชกบ data แบบอนได • IM, Presence → Buddy list
Produced by Team TOSAKUN http://www.n3amedia.biz
(1) http://en.wikipedia.org/wiki/H.323
(2) http://th.wikipedia.org/wiki/Session_Initiation_Protocol
Protocol สอสารทใชกบ Video Conference
T.120(3)
• Share data แบบ Real Time • ใชรวมกบ H.323 • ประโยชน
• Application sharing
• Whiteboarding
• File transfer
• Chat
• Microsoft : NetMeeting
Produced by Team TOSAKUN http://www.n3amedia.biz
(3) http://www.dtic.mil/ieb_cctwg/contrib-docs/T.120/T.120-WP.html
ความหมายของ Streaming
“constantly received by and presented to an end-user while being delivered by a streaming provider...”
ทมา http://en.wikipedia.org/wiki/Streaming_media
Produced by Team TOSAKUN http://www.n3amedia.biz
Keyword = constantly
Part 2
RED 5 Media Server
Produced by Team TOSAKUN http://www.n3amedia.biz
RED5 Media Server
Produced by Team TOSAKUN http://www.n3amedia.biz
• Web Server + Streaming Server + Application Server (J2EE) • Platform independent (Java) • GNU License • ความสามารถ
• Live streaming publishing (h264,flv,mp3)
• Streaming video / audio (flv / mp3)
• Recording stream (flv)
• Shared Objects และ Remoting
• RTMP* RTMPT, RTMPE, RTMPS
Official web site :http://www.red5.org/
*ม performance ดทสดในกลม
RED5 Media Server
Produced by Team TOSAKUN http://www.n3amedia.biz
• การประยกต RED5
• Live Video Broadcasting
• Video On Demand
• Multiplayer Game
• Flex Base Data Driven (Hibernate, Spring JDBC)
• Web Conference
• พฒนาโดย Macromedia • เคยเปน Proprietary → ปจจบน Open • เพอ streaming video, audio บน Internet • ใช port เบอร 1935 (เปลยนได) • สรางการเชอมตอแบบถาวร (persistent connection) • แบงขอมลออกเปนทอนสนๆ (fragment) • ขนาดของ fragment จะไมแนนอน (audio:64 bytes, video:128bytes) • Media : Mp3 ,FLV video • Data : Remote RPC
(1) http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol
Real Time Messaging Protocol (RTMP)(1)
Produced by Team TOSAKUN http://www.n3amedia.biz
HTTP RTMP
http://freetosakun.n3amedia.info rtmp://freetosakun.n3amedia.info
http://freetosakun.n3amedia.info:8080
rtmp://freetosakun.n3amedia.info:8080
http://freetosakun.n3amedia.info/conference
rtmp://freetosakun.n3amedia.info/conference
วธการเขยนเหมอนกบ HTTP
Real Time Messaging Protocol (RTMP)
Produced by Team TOSAKUN http://www.n3amedia.biz
Scope ใน RTMP
Produced by Team TOSAKUN http://www.n3amedia.biz
Server
App. #1
Room #1 ... Room #N
App. #N
... Room #N Room #1
... Application
scope
Room
Scope
RTMP Scope กบ URI และ Tree Structure
Produced by Team TOSAKUN http://www.n3amedia.biz
Host / Server
App. #1
Room #1 ... Room #N
rtmp://host/app#1/room1
...
rtmp://host/app#1/roomN
ขนตอนการตดตง RED5
Produced by Team TOSAKUN http://www.n3amedia.biz
Install JDK – Windows :
http://www.oracle.com/technetwork/java/javase/downloads/
– Ubuntu : sudo apt-get install openjdk-6-jdk
– Fedora / CentOS : su -c "yum install java-1.6.0-openjdk"
– SUSE : su -c "yum install java-1.6.0-openjdk"
ขนตอนการตดตง RED5
Produced by Team TOSAKUN http://www.n3amedia.biz
Download binary – http://trac.red5.org/wiki/1_0_RC1
– อาน http://trac.red5.org/wiki/Releases/1.0TicketHitList (ถามเวลา)
– วางไฟลบน server
– ก าหนดคา RED5_HOME และ JAVA_HOME ใน startup script
ขนตอนการตดตง RED5
Produced by Team TOSAKUN http://www.n3amedia.biz
ปรบคา RED5_HOME และ JAVA_HOME
ขนตอนการตดตง RED5
Produced by Team TOSAKUN http://www.n3amedia.biz
ปรบคา HTTP port ใน red5.properties
ขนตอนการตดตง RED5
Produced by Team TOSAKUN http://www.n3amedia.biz
ปรบคา RTMP port ใน red5.properties
ขนตอนการตดตง RED5
Produced by Team TOSAKUN http://www.n3amedia.biz
ปรบคา RTMP port ใน red5.properties
ขนตอนการตดตง RED5
Produced by Team TOSAKUN http://www.n3amedia.biz
Start RED5 server Cd to RED5 directory
ใชค าสง Linux : sh ./red5.sh, bash ./red5.sh
Windows : red5
ขนตอนการตดตง RED5
Produced by Team TOSAKUN http://www.n3amedia.biz
RED5 ใหบรการท localhost ผาน HTTP port เบอร 5080
ขนตอนการตดตง RED5
Produced by Team TOSAKUN http://www.n3amedia.biz
ตดตง Demo Application ของ RED5
ขนตอนการตดตง RED5
Produced by Team TOSAKUN http://www.n3amedia.biz
ทดสอบ Demo Application ของ RED5 ดวย oflaDemo และ publisher
รปแบบการพฒนางานบน RED5
Produced by Team TOSAKUN http://www.n3amedia.biz
Server Side
Java Application compile
Media Server
(Tomcat + Red 5)
Internet Client Side
(SWP/Java/PHP) ทรพยากร
+ Java code
ActionScript / Java / PHP ฯล
com
pile
Part 3
TOSAKUN MEETING
Produced by Team TOSAKUN http://www.n3amedia.biz
TOSAKUN MEETING
Produced by Team TOSAKUN http://www.n3amedia.biz
• เปน Web Application ใชงานบน RED5 • พฒนาโดย TEAM TOSAKUN (N3A Media Limited
Partnership) • ปรบระบบ Live Streaming Media → Conference • Continuous presence model • Server side : Java • Client side : ActionScript 3.0 • Open source
Official web site :http://freetosakun.n3amedia.info
TOSAKUN MEETING เหมาะกบ
Produced by Team TOSAKUN http://www.n3amedia.biz
• Web Application • Informal Meeting • Small group (4-5 seats/room) • Many rooms , few people policy
Receiver
สถาปตยกรรม TOSAKUN MEETING
Produced by Team TOSAKUN http://www.n3amedia.biz
Broadcaster
Receiver
Connection
ActionScript 3.0
TOSAKUN
Java Application
RED5 Server
...
สถาปตยกรรม TOSAKUN MEETING
Produced by Team TOSAKUN http://www.n3amedia.biz
TOSAKUN
Java Application
Client #1
Client #2
Client #N
Video Audio
Remoting
RED5 Server
การตดตง TOSAKUN MEETING บน RED5
Produced by Team TOSAKUN http://www.n3amedia.biz
Download ไฟล conference.war
น าไปวางไวท webapps ใน RED5
Restart RED5
Virtual Room ใน TOSAKUN MEETING ดวย RTMP
Produced by Team TOSAKUN http://www.n3amedia.biz
Conference
Room1 rtmp://[host]/conference/room1
rtmp://[host]/conference/room2 Room2
...
Application
Scope
Room
Scope
Application
Scope RTMP URL
Produced by Team TOSAKUN http://www.n3amedia.biz
การออกแบบระบบ Web Conferencing
• แบบท 1 : Many rooms, few people • แบบท 2 : Few rooms, many people
การค านวณ Bandwidth
สงทตองทราบ • จ านวนผใช • Bandwidth ของผใชแตละคน (โดยประมาณ) • Bandwidth ของ Server • คา resolution ของวดโอ (อาจจะ)
ขอแนะน า • ค านวณคา bandwidth ทผเขารวมประชมและท server • แยกพจารณาระหวาง upstream กบ downstream
Produced by Team TOSAKUN http://www.n3amedia.biz
การค านวณคา Bandwidth รวมของServer
BWs = upstream + downstream = P(P-1) S + P S = SP2
เมอ
P = จ านวนผ เขารวมประชมทงหมด
S = คาเฉลย stream bit rate ของผ เขารวมประชมแตละคน
Produced by Team TOSAKUN Produced by Team TOSAKUN http://www.n3amedia.biz
การค านวณคา Bandwidth รวมของ Participants
เมอ
P = จ านวนผ เขารวมประชมทงหมด
S = คาเฉลย stream bitrate ของผ เขารวมประชมแตละคน
Produced by Team TOSAKUN Produced by Team TOSAKUN http://www.n3amedia.biz
BWc = upstream + downstream = S + (P -1) x S = SP
ตวอยาง
ตวอยาง1 : สมมตวาหองประชมมผเขารวมประชม 4 คน แตละคนแพรภาพและเสยงดวย bandwidth เฉลยท 100 Kbps
Upstream bandwidth = 4 x 100 Kbps = 400 kbps
Downstream bandwidth = 3 x 100 kbps = 300 kbps
Upstream bandwidth = 100 kbps
Downstream bandwidth = 4 x 3 x 100 kbps = 1200 kbps = 1.2 Mbps
Server :
Client :
Produced by Team TOSAKUN Produced by Team TOSAKUN http://www.n3amedia.biz
ตวอยาง2 : สมมตวาระบบสามารถใหบรการ Bandwidth รวมท 10 Mbps เราสามารถค านวณหาจ านวนหองประชมทสามารถใหบรการพรอมกนได
จากตวอยางกอนหนา Bandwidth รวมท Server ตองการ = 1200 + 400 kbps
= 1600 kbps = 1.6 Mbps
ระบบสามารถใหบรการได = 10 Mbps
จ านวนหองประชมทใหบรการไดพรอมกน = 10 / 1.6
= 6 หอง
Produced by Team TOSAKUN Produced by Team TOSAKUN http://www.n3amedia.biz
ตวอยาง 3 : การใชตวแบบ Many rooms, few people สมมตวาใหแตละหองประชมรองรบผเขารวมประชมได 2 คน แตละคนใช bandwidth เฉลย 100 kbps และ Server สามารถใหบรการได 10 Mbps
Produced by Team TOSAKUN Produced by Team TOSAKUN http://www.n3amedia.biz
แตละหองตองการ Bandwidth = 2 x 2 x 100 = 400 kbps
Bandwidth รวมของ Server = 10 x 1000 kbps
จ านวนหองประชม = (10 x 1000 ) / 400 = 25 หอง หรอรองรบผ เขาประชมได = 25 x 2 = 50 คน พรอมกน
ตวอยาง4 : การใชตวแบบ Few rooms, many people สมมตวาใหแตละคนใช bandwidth เฉลย 100 kbps และ Server สามารถใหบรการได 10 Mbps
Produced by Team TOSAKUN Produced by Team TOSAKUN http://www.n3amedia.biz
N x N x 100 = 10 x 1000 kbps
N x N = 100
ดงนนจะไดหองประชมรองรบผ เขาประชม 10 คน จ านวน 1 หอง
Produced by Team TOSAKUN Produced by Team TOSAKUN http://www.n3amedia.biz
ขอแนะน าการบรหาร Bandwidth
• เผอทส าหรบ Network overhead อน ๆ ไมนอยกวา 20 % • Internet แบบ ADSL ทวไป มกมคา upstream นอยกวา
downstream มาก เชน 6/512 • ควรให Server มคา upstream และ downstream ทใกลเคยงกน • ระยะหางระหวางผเขารวมประชมกบ Server มผลตอ response time • ควรใช Internet provider ทเปนเจาเดยวกน • ความมเสถยรภาพของ network มผลมากกวาจ านวน bandwidth
Produced by Team TOSAKUN Produced by Team TOSAKUN http://www.n3amedia.biz
คาเฉลย Bit Rate ในการสงสญญาณ Video
Video Capture (W x H pixels)
Frame rate (fps)
Bit rate (kbps)
160 x 120 8 11
15 21
24 34
30 42
8 45
15 84
24 134
30 168
8 179
15 335
24 536
30 670
วดคาโดย networx : http://www.softperfect.com/products/networx
Questions ?