webrtc 和 rtp 協議 之sctp

2021-10-19 20:33:27 字數 2941 閱讀 2076

webrtc和rtp 一

pion的datachannel示例

zoom公司大家其實都知道,會議的體驗很好,因為他們善用了datachannel,有興趣大家可以仔細研究,推敲,到了今天,技術和核心技術得不到大家的理解,很多人依然認為技術可以獲取,缺的是錢,事實上,兩個都缺。sctp協議可以適用tcp,也可以使用udp,zoom公司在乙個版本中使用datachannel傳輸rtp資料,原因是什麼?為了體驗和效率。

>

>

>

realtime communication with webrtctitle

>

rel=

"stylesheet"

href

="css/main.css"

/>

head

>

>

>

realtime communication with webrtch1

>

"datachannelsend"

disabled

placeholder

="press start, enter some text, then press send."

>

textarea

>

"datachannelreceive"

disabled

>

textarea

>

"buttons"

>

"startbutton"

>

startbutton

>

"sendbutton"

>

sendbutton

>

"closebutton"

>

stopbutton

>

div>

src=

"">

script

>

src=

"js/main.js"

>

script

>

body

>

html

>

'use strict'

;var localconnection;

var remoteconnection;

var sendchannel;

var receivechannel;

var pcconstraint;

var dataconstraint;

var datachannelsend = document.

queryselector

('textarea#datachannelsend');

var datachannelreceive = document.

queryselector

('textarea#datachannelreceive');

var startbutton = document.

queryselector

('button#startbutton');

var sendbutton = document.

queryselector

('button#sendbutton');

var closebutton = document.

queryselector

('button#closebutton');

startbutton.onclick = createconnection;

sendbutton.onclick = senddata;

closebutton.onclick = closedatachannels;

function

enablestartbutton()

function

disablesendbutton()

function

createconnection()

function

oncreatesessiondescriptionerror

(error)

function

senddata()

function

closedatachannels()

function

gotdescription1

(desc)

function

gotdescription2

(desc)

function

icecallback1

(event)

}function

icecallback2

(event)

}function

onaddicecandidatesuccess()

function

onaddicecandidateerror

(error)

function

receivechannelcallback

(event)

function

onreceivemessagecallback

(event)

function

onsendchannelstatechange()

else

}function

onreceivechannelstatechange()

function

trace

(text)

if(window.performance)

else

}

上面一段**是可以執行的,不過大意義沒有,他無法產品化,接下去的第三課,我們會大刀去修改他,讓他真正實用起來,讀者可以先研究以下這一段示例**。

後面我們會使用rtp協議和信令服務繼續改寫,讓他實用並且產品化。

網路協議之rtp h264的rtp網路協議實現

一方面,如果每個ip分組都填滿1500位元組,那麼協議頭的開銷為2 7 如果rtp載荷的長度為730位元組,協議頭的開銷仍達到5 3 而假設 rtp載荷的長度不到40位元組,那麼將有50 的開銷用於頭部,這將對網路造成嚴重資源浪費。另一方面,如果將要封裝進rtp載荷的資料大於1460字 節,並且我們...

傳輸檔案 檔案傳輸協議FTP SFTP和SCP

應用層 通訊層 網路層 參考資料 ftp file transfer protocol 是tcp ip網路上兩台計算機傳送檔案的協 檔案,建立或改變伺服器上的目錄。相比於http,ftp協議要複雜得多。複雜的原因,是因為ftp協議要用到兩個tcp連線,乙個是命令鏈路,用來在 pasv埠範圍 的tcp...

WebRTC編譯系統之gn和ninja

webrtc現在使用 gn 來生成構建指令碼,使用 ninja 來構建。gn 比 gyp 快多了,太多,你還沒眨個眼,就結束了。我們來大概介紹下編譯 webrtc 會用到的 gn 和 ninja 相關的知識。想看編譯指南的,看這裡 ubuntu 14.04下編譯webrtc。gn 的介紹在這裡 這個...