สิ่งอำนวยความสะดวกการสนทนาทางวิดีโอในแอปพลิเคชันเว็บโดยใช้ WebRTC

กำลังพยายามพัฒนาหรือจัดเตรียมสิ่งอำนวยความสะดวกในการสนทนาทางวิดีโอภายในเว็บแอปพลิเคชันของฉันที่ทำงานบนอินทราเน็ต (JSF และ JBoss) โดยใช้ WebRTC

ตอนนี้ ฉันมีคำถามสั้นๆ สองสามข้อ: การใช้ webRTC จะต้องอาศัยรหัสแอปพลิเคชันประเภทใดก็ได้ที่จะโฮสต์บนเซิร์ฟเวอร์ ฉันจะสามารถพัฒนาแอปพลิเคชันโดยไม่ต้องใช้เซิร์ฟเวอร์ใดๆ ได้หรือไม่ ข. ผู้ใช้บนอินทราเน็ตและผู้ใช้บนอินเทอร์เน็ตจะสื่อสารโดยใช้ WebRTC นี้หรือไม่ ค. หากไม่มีเซิร์ฟเวอร์ใดที่เกี่ยวข้องกับกระบวนการนี้ ฉันจะแจ้งให้ผู้ใช้รายอื่นทราบว่าเขาต้องเข้าชม URL นี้เพื่อสื่อสารกับฉันได้อย่างไร

ใครช่วยกรุณาให้ความกระจ่างเกี่ยวกับสิ่งเหล่านี้เพื่อเริ่มต้นให้ฉันหน่อยได้ไหม .. ฉันสับสนเล็กน้อย ดูเอกสารและลิงค์ต่างๆเกี่ยวกับเรื่องนี้ แต่ก็ยังงงอยู่บ้าง...


person AngelsandDemons    schedule 03.10.2013    source แหล่งที่มา
comment
อยากรู้ว่าทำไมถึง DOWNVOTE ??...   -  person AngelsandDemons    schedule 04.10.2013


คำตอบ (3)


หากคุณใช้ JBoss อยู่แล้ว ฉันแนะนำให้คุณลองใช้ Mobicents SIP Servlets (ซึ่งทำงานบน JBoss 7) และแอปพลิเคชันสาธิต WebRTC https://code.google.com/p/sipservlets/wiki/HTML5WebRTCVideoApplication

การส่งสัญญาณที่ใช้ใน SIP และผ่านเซิร์ฟเวอร์ในขณะที่สื่อเป็นแบบเพียร์ทูเพียร์

person jeand    schedule 14.10.2013

ตอบ ใช่ คุณต้องมีฟังก์ชันฝั่งเซิร์ฟเวอร์ เซิร์ฟเวอร์ใดและคุณจะทำอย่างไรก็ขึ้นอยู่กับคุณ (เช่น คุณสามารถใช้ node.js และ websockets ได้) โค้ดด้านล่างแสดงตัวอย่างฟังก์ชันการทำงานที่เซิร์ฟเวอร์ควรสามารถรองรับได้

var mess = JSON.parse(message.utf8Data);
switch(mess.type){
    case "answer":
        allClients.forEach(function (client){
           //Locate the correct client and send the answer to it
        });
        break;
    case "offer":
        allClients.forEach(function (client){
            //Locate the correct client and send the offer to it   
        });
        break;
    case "candidate":
        allClients.forEach(function (client){
            //Locate the correct candidate and send the candidate to it
        });
        break;
}

B: ใช่. แต่ฉันแน่ใจว่ามีการตั้งค่าไฟร์วอลล์ที่อาจทำให้เกิดปัญหาได้ อย่างไรก็ตาม webRTC ใช้ ICE เพื่อช่วยในหลายกรณีดังกล่าว คุณจะเห็นว่ามันสร้างข้อความ "ผู้สมัคร" จำนวนมากที่มีข้อมูลที่ช่วยในการตั้งค่าการเชื่อมต่อแบบเพียร์ทูเพียร์ จริงๆ แล้วขึ้นอยู่กับเซิร์ฟเวอร์ของคุณที่จะส่งต่อข้อความของผู้สมัครเหล่านั้นไปยังเพียร์

C. มีเซิร์ฟเวอร์ที่เกี่ยวข้อง...

person Mikael Holmgren    schedule 03.10.2013

แอปพลิเคชัน WebRTC ทุกแอปพลิเคชันต้องการบริการส่งสัญญาณเพื่อให้เพียร์สามารถแลกเปลี่ยนสื่อและข้อมูลเมตาของเครือข่ายได้

เพื่อรับมือกับ NAT และไฟร์วอลล์ แอป WebRTC สามารถใช้เซิร์ฟเวอร์ STUN และ TURN ได้ แม้ว่าคุณอาจไม่จำเป็นต้องใช้อินทราเน็ตก็ตาม

ฉันเก็บรายการทรัพยากร WebRTC ซึ่งมีลิงก์ไปยังบทแนะนำและตัวอย่างโค้ด

person Sam Dutton    schedule 03.10.2013