2012-08-13 16 views
5

मैं जानना चाहता हूं कि डाटाचैनल्स पर डेटा भेजते समय कितना ओवरहेड वेबआरटीसी उत्पन्न होता है। मुझे पता है कि प्रत्येक फ्रेम के लिए Websockets 2 - 14 बाइट्स ओवरहेड है। क्या वेबआरटीसी अधिक ओवरहेड का उपयोग करता है? मुझे वेब पर कुछ उपयोगी जानकारी नहीं मिल रही है। मेरे लिए यह स्पष्ट है कि डेटाचैनल्स का अभी उपयोग नहीं किया जा सकता है। Mediastreams के साथ कितना ओवरहेड का उपयोग किया जाता है?वेबआरटीसी ओवरहेड

धन्यवाद

उत्तर

2

WebRTC आरटीपी का उपयोग करता है अपने मीडिया भेजने के लिए। यूटीपी पर आरटीपी चलाता है।

  1. आरटीपी हैडर ही 12 बाइट्स से शुरू होता है और वहाँ से बढ़ सकता है, क्या इस्तेमाल किया जाता है पर निर्भर करता है:

    सामान्य आईपी और UDP हेडर को छोड़कर, दो अतिरिक्त हेडर हैं।

  2. पेलोड हेडर - हेडर जो विशिष्ट कोडेक के प्रत्येक डेटा पैकेट के लिए उपयोग किया जाता है। यह कोडेक पर ही निर्भर करता है।

आरटीपी बुनियादी तर्क है कि आप बेहतर मीडिया गुणवत्ता, मीडिया खुद को यथासंभव अधिक से अधिक बिट्स समर्पित जिसका मतलब है कि हासिल करना चाहते हैं की वजह से इसकी पेलोड से अधिक यथासंभव कम भूमि के ऊपर है करने के लिए बनाया गया है।

+0

धन्यवाद, कैसे Datachannels के बारे में?मैंने पढ़ा है कि वे यूडीपी पर डीटीएलएस पर एससीटीपी का उपयोग कर रहे हैं लेकिन एप्लिकेशन लेयर पर प्रोटोकॉल क्या है? – chaosbohne

+0

ड्राफ्ट-जेएसयूपी-आरटीसीवेब-डेटा-प्रोटोकॉल देखें - http://tools.ietf.org/html/draft-jesup-rtcweb-data-protocol – jesup

+1

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

3

एप्लिकेशन परत पर, आप डेटा चैनल को भेजने और एससीटीपी प्राप्त करने के बारे में सोच सकते हैं। एससीटीपी हेडर के पीपीआईडी ​​(पेलोड प्रोटोकॉल आइडेंटिफ़ायर) फ़ील्ड में, डाटाचैनल यह इंगित करने के लिए 0x51 मानता है कि यह यूटीएफ -8 डेटा और 0x52 बाइनरी डेटा के लिए भेज रहा है।

हाँ, आप सही हैं। आरटीसीडीएटा चैनल डीटीएलएस और यूडीपी पर एससीटीपी का उपयोग करता है। डीटीएलएस का उपयोग सुरक्षा के लिए किया जाता है। हालांकि, एससीटीपी में अधिकांश एनएटी/फायरवॉल सेटअपों की समस्याएं हैं। इसलिए, उस पर काबू पाने के लिए, एससीटीपी यूडीपी के माध्यम से सुरंग है। तो कुल मिलाकर भूमि के ऊपर डेटा भेजने के लिए की भूमि के ऊपर होगा:

SCTP + DTLS + UDP + IP

और वह यह है कि:

28 bytes + 20-40 bytes + 8 bytes + 20 - 40 bytes

तो, भूमि के ऊपर मोटे तौर पर के बारे में 120 बाइट्स होगा। एससीटीपी पैकेट का अधिकतम आकार जो एक वेबआरटीसी क्लाइंट भेज सकता है वह 1280 बाइट्स है। तो अधिकतम पर, आप प्रति एससीटीपी पैकेट के लगभग 1160 बाइट डेटा भेज सकते हैं।

0

enter image description here

यहाँ 2 peer.js उदाहरणों (babylon.js सामने के छोर) का एक स्क्रीनशॉट वास्तव में 3 बाइट्स हर 16ms (~ प्रति सेकंड 60) भेज रहा है।

प्रोफाइलर 30,000 बिट्स/सेकंड पता चलता है:

30,000 बिट्स/8 बाइट/60 बिट्स प्रति सेकंड = 62.5 बाइट प्रति है, तो 3 बाइट्स के बाद मैं भेज रहा हूं यह है ~ 59.5 बाइट्स प्रोफाइलर के अनुसार ।

मैं नहीं यकीन है कि अगर कुछ भेजे पर नहीं गिना जाता है, क्योंकि यह केवल कि आधे रूपरेखा है हूँ, 15k बिट्स/सेकंड

संबंधित मुद्दे