2013-07-23 8 views
6

मैं एक वेबआरटीसी अनुप्रयोग का परीक्षण करने की कोशिश कर रहा हूं। अभी मैं सबसे अच्छा कर सकता हूं कि कई निजी ब्राउज़र विंडो खोलें और उन्हें एक दूसरे से बात करने दें, लेकिन यह स्पष्ट रूप से स्केल नहीं करता है।एक वेबआरटीसी अनुप्रयोग का परीक्षण

मैं एक मशीन पर बड़ी संख्या में साथियों को बनाने का एक तरीका ढूंढ रहा हूं। मैं Phantom.js में देख रहा था लेकिन यह अभी तक WebRTC का समर्थन नहीं कर रहा था। कोई सुझाव?

उत्तर

8

समस्या यह है कि वर्तमान में फैंटॉमजेएस क्यूटीवेबकिट पर आधारित है, और वेबआरटीसी को क्रोमियम के साथ-साथ वेबकिट से घटक की आवश्यकता है।

यह फैंटॉम.जेएस के लिए यह सब कुछ फिर से लागू करने के लिए बहुत काम करेगा - और कोडेक समर्थन आदि के साथ भी समस्याएं हैं। यह भी मेरे लिए होता है कि एक बिना किसी वातावरण में getUserMedia का परीक्षण करना मुश्किल होगा(), जो वेबआरटीसी के लिए मौलिक है, लेकिन उपयोगकर्ता की बातचीत की आवश्यकता है और इसे स्क्रिप्ट नहीं किया जा सकता है।

import { MediaStream as libMediaStream } from 'mediastream'; 

getUserMedia (के लिए) यह https://www.npmjs.com/package/get-user-media-promise इस्तेमाल किया जा सकता है::

+7

मुझे लगता है कि हेडलेस वेबआरटीसी अनुप्रयोगों के लिए उपयोगी होगा जो वीडियो के बजाय डेटा चैनल का उपयोग करते हैं। उदाहरण के लिए, ब्राउज़र और गैर-ब्राउज़र नोड्स के मिश्रण से बने पीयर-टू-पीयर नेटवर्क। –

+0

@ जेसेहेलेट सहमत हैं! –

0

MediaStream के लिए यह https://www.npmjs.com/package/mediastream के रूप में इस्तेमाल किया जा सकता

(<any>window.navigator).mediaDevices = Object.assign({}, 
    window.navigator.mediaDevices, 
    { getUserMedia: require('get-user-media-promise')} 
); 

RTCPeerConnection, अपने इकाई परीक्षण पर निर्भर करता है, के रूप में चित्रित किया जा सकता है :

window['RTCPeerConnection'] =() => { 
    return { 
    close:() => { }, 
    getTracks:() => { }, 
    addStream:() => { }, 
    createOffer:() => { }, 
    addIceCandidate:() => { }, 
    setRemoteDescription:() => { }, 
    createAnswer:() => { }, 
    setLocalDescription:() => { } 
    }; 
}; 
संबंधित मुद्दे