Kurento架構(gòu)

參考 kurento architecture

架構(gòu)

信令部分 和 媒體部分

Kurento架構(gòu)仪缸,信令和媒體層
  • 信令層: 提供媒體協(xié)商能力、QoS參數(shù)化恰画、呼叫建立、用戶注冊(cè)拴还、用戶顯現(xiàn)等的一些模塊組成了信令層。(The parts of the system in charge of the management of communications, that is, the modules that provides functions for media negotiation, QoS parametrization, call establishment, user registration, user presence, etc. are conceived as forming part of the Signaling Plane.)
  • 媒體層: 媒體支持坟奥、編解碼和媒體處理等組成了此層...(Functionalities such as media transport, media encoding/decoding and media processing make the Media Plane, which takes care of the handling of media. The distinction comes from the telephony differentiation between the handling of voice and the handling of meta-information such as tone, billing, etc.)

Kurento接口

  • Kurento協(xié)議:websocket
  • Kurento API:是從面向?qū)ο蟮慕嵌仁褂胟urento協(xié)議.
  • Java 和 JS 客戶端: 簡(jiǎn)化API使用拇厢, 分別可以在Java服務(wù)端晒喷、 NodeJS孝偎、瀏覽器里實(shí)現(xiàn)和KMS的交互

Kurento模塊

插件式的模塊凉敲, KMS默認(rèn)使用模塊:kms-core, kms-elements, kms-filters。其他增強(qiáng)型的模塊如:kms-crowddetector, kms-pointerdetector, kms-chroma, 和 kms-platedetector爷抓。
用戶可通過(guò)自定義模塊擴(kuò)展其功能。

模塊構(gòu)架碉考,可使用內(nèi)置模塊擴(kuò)展功能,也可開發(fā)自定義模塊

使用Kurento創(chuàng)建應(yīng)用

  • 展現(xiàn)層(客戶端):負(fù)責(zé)媒體的展現(xiàn)和抓取
  • 應(yīng)用邏輯層:負(fù)責(zé)媒體業(yè)務(wù)邏輯。具體說(shuō)闻鉴, 這一層要通過(guò)控制KMS連接媒體組件Media Elements 創(chuàng)建恰當(dāng)?shù)拿襟w管道pipeline, 讓相關(guān)的媒體流從中通過(guò)
  • 服務(wù)層:為了支持業(yè)務(wù)層, 負(fù)責(zé)媒體的處理,如媒體錄制车酣、加密等,具體說(shuō)就是KMS

可將展現(xiàn)層放在客戶端躯肌, 服務(wù)層放在服務(wù)端, 業(yè)務(wù)邏輯層放二者之一即可:

核心的兩部分交互:媒體協(xié)商和媒體交換

一般為了簡(jiǎn)化客戶端清女,業(yè)務(wù)邏輯層放在服務(wù)端晰筛。當(dāng)然也可以使用如 Kurento JavaScript Client將業(yè)務(wù)層放在客戶端嫡丙。

客戶端读第、服務(wù)端及Kurento的交互

web和多媒體層架構(gòu)

1. 媒體協(xié)商階段(信令)

如上圖所示,在第一階段父泳,客戶端向應(yīng)用服務(wù)請(qǐng)求某種媒體能力吴汪,此過(guò)程可使用任何協(xié)議(http, websocket, SIP等)惠窄。

當(dāng)應(yīng)用服務(wù)接到請(qǐng)求漾橙,可以執(zhí)行其業(yè)務(wù)邏輯,可包括AAA:認(rèn)證(Authentication)霜运、授權(quán)(Authorization)和計(jì)費(fèi)(Accounting), CDR階段和web服務(wù)調(diào)用等

之后藕各,應(yīng)用服務(wù)端根據(jù)開發(fā)自定義的指令決定如何通過(guò)媒體組件連接來(lái)創(chuàng)建一個(gè)pipeline,一旦KMS創(chuàng)建成功pipeline激况,應(yīng)用服務(wù)將成功消息發(fā)送給客戶端,告知怎樣以及去哪(How and Where)獲取媒體服務(wù)誉碴。

字啊以上的過(guò)程中都沒(méi)有媒體數(shù)據(jù)(media data)真正交換, 所有的交互都是在協(xié)商媒體交換的問(wèn)題:什么黔帕、何時(shí)、何地成黄、怎樣(whats hosts wheres and whens)。所以稱為協(xié)商階段思瘟, 顯然此階段之保護(hù)指定協(xié)議。

2. 媒體流交換階段

媒體協(xié)商過(guò)后滨攻, 真正專注于媒體數(shù)據(jù)的交換」馊疲客戶端使用在協(xié)商階段獲取的信息畜份,向KMS獲取媒體數(shù)據(jù)诞帐。

使用Kurento做實(shí)時(shí)WebRTC應(yīng)用

Kurento允許瀏覽器建通過(guò)WebRTC建立實(shí)時(shí)媒體會(huì)話爆雹。另外,可使用KMS作為不同客戶端間交互的媒體代理慧起。所以KMS可以扮演會(huì)議橋接(conference bridge (Multi-Conference Unit, MCU))、端到端通信系統(tǒng)(machine-to-machine)完慧、視頻呼叫錄制系統(tǒng)等( video call recording system)谋旦。

如下圖,客戶端通過(guò)SDP暴露自己的媒體嗯嗯管理拴孤,因此甲捏,應(yīng)用服務(wù)能夠?qū)嵗‘?dāng)?shù)腤ebRTC端點(diǎn)(endpoint)演熟,請(qǐng)求KMS,KMS基于自身的和客戶端的媒體能力生成相應(yīng)的SDP回應(yīng)兄纺, 客戶端獲取到回應(yīng)后開始媒體數(shù)據(jù)交換化漆」来啵總結(jié)為下圖:

在WebRTC會(huì)話中的主要交互

應(yīng)用開發(fā)者可在媒體協(xié)商階段根據(jù)需要?jiǎng)?chuàng)建pipeline疙赠,如:創(chuàng)建一個(gè)WebRTC應(yīng)用錄制客戶端音視頻,并且在識(shí)別到人臉時(shí)給戴上一個(gè)帽子:

pipeline示例

Kurento設(shè)計(jì)原則:

  • 媒體和信令分離
  • 媒體和應(yīng)用服務(wù)可分布式水平擴(kuò)展
  • 適合于云 PaaS
  • 媒體管道 Piplines
  • 對(duì)應(yīng)用開發(fā)友好:屏蔽了KMS的復(fù)雜性圃阳,可用任何平臺(tái)和語(yǔ)言
  • End-to-End的交流能力:開發(fā)者不用處理媒體編解碼璧帝、傳輸和渲染等復(fù)制事宜
  • 可全權(quán)處理的媒體流:不止普通軟件(如Skype)人與人交流捍岳,可實(shí)現(xiàn)人與機(jī)器睬隶、機(jī)器與機(jī)器之間的交流。
  • 過(guò)程可監(jiān)控:可為QoS監(jiān)控晕城、賬單、審計(jì)等生成豐富詳細(xì)的信息
  • 無(wú)縫的IMS(IP Multimedia Subsystem)集成
  • 透明的媒體適應(yīng)層:使得不同設(shè)備(屏幕尺寸砖顷、耗電能力赃梧、傳輸速率等)的會(huì)聚成為可能
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市授嘀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌览闰,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件压鉴,死亡現(xiàn)場(chǎng)離奇詭異锻拘,居然都是意外死亡击蹲,警方通過(guò)查閱死者的電腦和手機(jī)婉宰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)心包,“玉大人,你說(shuō)我怎么就攤上這事轮听。” “怎么了血巍?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵珊随,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我叶洞,道長(zhǎng),這世上最難降的妖魔是什么螟炫? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任艺晴,我火速辦了婚禮,結(jié)果婚禮上封寞,老公的妹妹穿的比我還像新娘。我一直安慰自己狈究,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布亿眠。 她就那樣靜靜地躺著宁改,像睡著了一般缕探。 火紅的嫁衣襯著肌膚如雪还蹲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天潭兽,我揣著相機(jī)與錄音斗遏,去河邊找鬼山卦。 笑死诵次,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的逾一。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼箱玷,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼陌宿!你這毒婦竟也來(lái)了锡足?” 一聲冷哼從身側(cè)響起壳坪,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎扩灯,沒(méi)想到半個(gè)月后霜瘪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體珠插,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡捻撑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年缤底,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了顾患。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片个唧。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖犁河,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情桨螺,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布灭翔,位于F島的核電站,受9級(jí)特大地震影響哄褒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜呐赡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一唱矛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧绎谦,春花似錦、人聲如沸窃肠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至糯而,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間熄驼,已是汗流浹背烘豹。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留携悯,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓憔鬼,卻偏偏與公主長(zhǎng)得像胃夏,于是被迫代替她去往敵國(guó)和親咸灿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子侮叮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容