两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

Chrome的webrtc?internals工具顯示終端應用程序的方法與流程

文檔序號:11250774閱讀:2336來源:國知局
Chrome的webrtc?internals工具顯示終端應用程序的方法與流程

本發(fā)明涉及一種通訊數(shù)據處理方法,具體的說,是涉及一種chrome的webrtc-internals工具顯示終端應用程序的方法。



背景技術:

webrtc作為三方的開源庫,擁有非常強大而完善的統(tǒng)計數(shù)據收集機制,開發(fā)者在基于webrtc開發(fā)即時通訊的應用時,通過webrtc現(xiàn)有的統(tǒng)計數(shù)據基于就能滿足對發(fā)生問題的跟蹤與定位。

chrome的webrtc-internals工具,主要是用來實時顯示基于webrtc網頁版的即時通訊運行時的統(tǒng)計數(shù)據,以方便跟蹤和定位webrtc的問題,其主要的流程如下圖1所示,(1)在chrome瀏覽器中,打開一個標簽(標簽1)運行網頁版的即時通訊。這是webrtc統(tǒng)計數(shù)據的生產與收集的模塊。(2)在chrome瀏覽器中,再打開一個標簽(標簽2)在網址欄中輸入chrome://webrtc-internals/運行webrtc-internals工具。在標簽2的網頁中,將實時的顯示標簽1中的webrtc在進行即時通訊時的統(tǒng)計數(shù)據,這是webrtc統(tǒng)計數(shù)據顯示的模塊,webrtc-internals顯示的數(shù)據,主要是與webrtc庫中的模塊進行進程間通信(ipc)獲得。

webrtc作為開源的三方庫,不僅可被網頁版的javascript程序調用,也可以被終端應用程序集成調用。而chrome提供的webrtc-internals工具只能顯示基于網頁版的webrtc統(tǒng)計數(shù)據,無法顯示終端應用程序集成的webrtc統(tǒng)計數(shù)據。



技術實現(xiàn)要素:

針對上述現(xiàn)有技術中的不足,本發(fā)明提供一種能夠將終端應用程序集成的webrtc統(tǒng)計數(shù)據在webrtc-internals中實時顯示的chrome的webrtc-internals工具顯示終端應用程序的方法。

本發(fā)明所采取的技術方案是:

一種chrome的webrtc-internals工具顯示終端應用程序的方法,包括即時通訊應用程序模塊和chrome瀏覽器模塊;即時通訊應用程序模塊包括;webrtc庫和統(tǒng)計數(shù)據模塊,統(tǒng)計數(shù)據模塊是設置有獲取統(tǒng)計數(shù)據接口模塊;chrome瀏覽器模塊包括webrtc-internals模塊和網頁渲染顯示模塊,webrtc庫中包括有與webrtc-internals模塊進行通訊的數(shù)據交互模塊。

所述數(shù)據交互模塊包括:命名管道a和命名管道b;命名管道a與統(tǒng)計數(shù)據接口模塊相通訊;命名管道b與webrtc-internals模塊相通訊。

所述即時通訊應用程序模塊調用webrtc庫進行數(shù)據處理;webrtc中的統(tǒng)計數(shù)據模塊會統(tǒng)計webrtc的統(tǒng)計數(shù)據;

線程處理模塊完成各自工作后,都會更新相應的統(tǒng)計數(shù)據到統(tǒng)計信息暫存模塊的對象中;

主線程模塊則周期性更新統(tǒng)計信息代理模塊對象,統(tǒng)計信息代理模塊對象從統(tǒng)計信息暫存模塊對象中拉取數(shù)據,保存在自己的統(tǒng)計信息成員變量中;

統(tǒng)計信息代理模塊對象獲取統(tǒng)計數(shù)據接口線程調用流程到達統(tǒng)計信息代理模塊對象,獲取統(tǒng)計數(shù)據而返;返回到命名管道a中,由管道a與管道b進行通訊,把統(tǒng)計數(shù)據傳送至管道b;

webrtc-internals工具定時的調用命名管道b的接口請求webrtc的統(tǒng)計數(shù)據;命名管道b收到請求后,會與即時通訊應用程序中的命名管道a進行通訊,命名管道a會調用webrtc庫中獲取統(tǒng)計數(shù)據的接口以獲取webrtc的統(tǒng)計數(shù)據,并返回到命名管道b中,最后傳給chrome瀏覽器渲染顯示。

所述即時通訊應用程序模塊調用webrtc庫進行數(shù)據處理的數(shù)據為進行音頻或視頻數(shù)據。

所述線程處理模塊包括:網絡模塊、解碼模塊和渲染顯示模塊。

所述周期性更新統(tǒng)計信息代理模塊對象的主線程模塊為視頻處理主線程模塊。

所述周期性更新統(tǒng)計信息代理模塊對象的主線程模塊為音頻處理主線程模塊。

本發(fā)明相對現(xiàn)有技術的有益效果:

本發(fā)明chrome的webrtc-internals工具顯示終端應用程序的方法,webrtc-internals工具不僅能顯示基于網頁版的webrtc統(tǒng)計數(shù)據,而且能顯示終端應用程序集成的webrtc統(tǒng)計數(shù)據。

附圖說明

圖1是現(xiàn)有技術chrome的webrtc-internals工具實時顯示基于webrtc網頁版的即時通訊運行時的統(tǒng)計數(shù)據的流程圖;

圖2是本發(fā)明chrome的webrtc-internals工具實時顯示基于webrtc網頁版的即時通訊運行時的統(tǒng)計數(shù)據的流程圖;

圖3是本發(fā)明的視頻數(shù)據的更新與獲取流程圖;

圖4是本發(fā)明chrome的webrtc-internals工具顯示終端應用程序的方法的ebrtc架構圖;

圖5是本發(fā)明chrome的webrtc-internals工具顯示終端應用程序的方法的webrtc實現(xiàn)的網頁間即時通訊的框架圖。

具體實施方式

以下參照附圖及實施例對本發(fā)明進行詳細的說明:

附圖1-5可知,一種chrome的webrtc-internals工具顯示終端應用程序的方法,包括即時通訊應用程序模塊和chrome瀏覽器模塊;即時通訊應用程序模塊包括;webrtc庫和統(tǒng)計數(shù)據模塊,統(tǒng)計數(shù)據模塊是設置有獲取統(tǒng)計數(shù)據接口模塊;chrome瀏覽器模塊包括webrtc-internals模塊和網頁渲染顯示模塊,webrtc庫中包括有與webrtc-internals模塊進行通訊的數(shù)據交互模塊。

所述數(shù)據交互模塊包括:命名管道a和命名管道b;命名管道a與統(tǒng)計數(shù)據接口模塊相通訊;命名管道b與webrtc-internals模塊相通訊。

把命名管道的通訊模塊分別集成到webrtc自帶的peerconnection_client測試程序和chrome的webrtc-internals工具,運行webrtc測試程序時,通過chrome打開webrtc-internals的測試工具,顯示指定字符串的內容。

所述即時通訊應用程序模塊調用webrtc庫進行數(shù)據處理;webrtc中的統(tǒng)計數(shù)據模塊會統(tǒng)計webrtc的統(tǒng)計數(shù)據;

下面以即時應用通訊應用程序在與遠端進行視頻通話時為例,說明webrtc收集視頻相關信息的收集流程。

三個線程處理模塊完成各自工作后,都會更新相應的統(tǒng)計數(shù)據到統(tǒng)計信息暫存模塊的對象中;

主線程模塊則周期性更新統(tǒng)計信息代理模塊對象,統(tǒng)計信息代理模塊對象從統(tǒng)計信息暫存模塊對象中拉取數(shù)據,保存在自己的統(tǒng)計信息成員變量中;

統(tǒng)計信息代理模塊對象獲取統(tǒng)計數(shù)據接口線程調用流程到達統(tǒng)計信息代理模塊對象,獲取統(tǒng)計數(shù)據而返;返回到命名管道a中,由管道a與管道b進行通訊,把統(tǒng)計數(shù)據傳送至管道b;

工作線程、更新線程和拉取線程共同協(xié)同工作完成統(tǒng)計數(shù)據的產生、更新和拉取。

chrome瀏覽器上輸入chrome://webrtc-internals/;

webrtc-internals工具定時的調用命名管道b的接口請求webrtc的統(tǒng)計數(shù)據;命名管道b收到請求后,會與即時通訊應用程序中的命名管道a進行通訊,命名管道a會調用webrtc庫中獲取統(tǒng)計數(shù)據的接口以獲取webrtc的統(tǒng)計數(shù)據,并返回到命名管道b中,最后傳給chrome瀏覽器渲染顯示。

所述即時通訊應用程序模塊調用webrtc庫進行數(shù)據處理的數(shù)據為進行音頻或視頻數(shù)據。

所述線程處理模塊包括:網絡模塊、解碼模塊和渲染顯示模塊。

所述周期性更新統(tǒng)計信息代理模塊對象的主線程模塊為視頻處理主線程模塊。

所述周期性更新統(tǒng)計信息代理模塊對象的主線程模塊為音頻處理主線程模塊

本發(fā)明的技術方案,通過在webrtc庫中新增與webrtc-internals工具的數(shù)據交互模塊,使得終端應用程序集成的webrtc統(tǒng)計數(shù)據也能在webrtc-internals中實時顯示。

webrtc,名稱源自網頁實時通信(webreal-timecommunication)的縮寫,是一個支持網頁瀏覽器進行實時語音對話或視頻對話的api。

(1)webrtc的目的

webrtc項目的最終目的主要是讓web開發(fā)者能夠基于瀏覽器(chrome、firefox等)輕易快捷開發(fā)出豐富的實時多媒體應用,而無需下載安裝任何插件,web開發(fā)者也無需關注多媒體的數(shù)字信號處理過程,只需編寫簡單的javascript程序即可實現(xiàn)。

(2)webrtc架構圖

如圖4架構圖說明:

a.網絡接口:是網頁開發(fā)者的接口層

b.webrtcc++接口:是面向瀏覽器廠商的接口層

c.音頻捕獲/播放、視頻捕獲、網絡輸入/輸出:是各瀏覽器廠商可以自己定義的接口

(3)webrtc架構組件包括:

a.網頁應用

網頁開發(fā)者開發(fā)的程序,網頁開發(fā)者可以基于集成webrtc的瀏覽器提供的網頁接口開發(fā)基于視頻、音頻的實時通信應用。

b.網絡接口

面向第三方開發(fā)者的webrtc標準api(javascript),使開發(fā)者能夠容易地開發(fā)出類似于網絡視頻聊天的web應用。

c.webrtcc++接口

本地c++接口層,使瀏覽器廠商容易實現(xiàn)webrtc標準的網絡接口,抽象地對數(shù)字信號過程進行處理。

(d)transport/session(傳輸/會話層)

會話層組件采用了libjingle庫的部分組件實現(xiàn),無須使用xmpp/jingle協(xié)議。

●rtpstack協(xié)議棧

realtimeprotocol

●p2pstun/turn/ice

p2p即端到端,可以通過stun(simpletraversalofudpthroughnats,即簡單的用udp穿透nat),turn(traversalusingrelaysaroundnat,即使用中繼穿透nat)和ice(interactiveconnectivityestablishment,即交互式連通建立方式)組件來建立不同類型網絡間的呼叫連接。

●會話管理(sessionmanagement)

一個抽象的會話層,提供會話建立和管理功能。該層協(xié)議留給應用開發(fā)者自定義實現(xiàn)。

(5)音頻引擎(voiceengine)

音頻引擎是包含一系列音頻多媒體處理的框架,包括從視頻采集卡到網絡傳輸端等整個解決方案。

ps:voiceengine是webrtc極具價值的技術之一,是google收購gips公司后開源的。在voip上,技術業(yè)界領先,后面的文章會詳細了解。

a.isac

internetspeechaudiocodec

針對voip和音頻流的寬帶和超寬帶音頻編解碼器,是webrtc音頻引擎的默認的編解碼器

采樣頻率:16khz,24khz,32khz;(默認為16khz)

自適應速率為10kbit/s~52kbit/;

自適應包大小:30~60ms;

算法延時:frame+3ms

b.ilbc

internetlowbitratecodec

voip音頻流的窄帶語音編解碼器

采樣頻率:8khz;

20ms幀比特率為15.2kbps

30ms幀比特率為13.33kbps

標準由ietfrfc3951和rfc3952定義

c.(音頻網絡均衡)neteqforvoice

針對音頻軟件實現(xiàn)的語音信號處理元件

neteq算法:自適應抖動控制算法以及語音包丟失隱藏算法。使其能夠快速且高解析度地適應不斷變化的網絡環(huán)境,確保音質優(yōu)美且緩沖延遲最小。

ps:neteq也是webrtc中一個極具價值的技術,對于提高voip質量有明顯效果,加以aec\nr\agc等模塊集成使用,效果更好。

d.acousticechocanceler(aec)

回聲消除器是一個基于軟件的信號處理元件,能實時的去除mic采集到的回聲。

e.noisereduction(nr)

噪聲抑制也是一個基于軟件的信號處理元件,用于消除與相關voip的某些類型的背景噪聲(嘶嘶聲,風扇噪音等等...)。

(6)視頻引擎(videoengine)

webrtc視頻處理引擎

videoengine是包含一系列視頻處理的整體框架,從攝像頭采集視頻到視頻信息網絡傳輸再到視頻顯示整個完整過程的解決方案。

a.vp8

視頻圖像編解碼器,是webrtc視頻引擎的默認的編解碼器。

vp8適合實時通信應用場景,因為它主要是針對低延時而設計的編解碼器。

ps:vpx編解碼器是google收購on2公司后開源的,vpx現(xiàn)在是webm項目的一部分,而webm項目是google致力于推動的html5標準之一

b.視頻抖動(videojitterbuffer)

視頻抖動緩沖器,可以降低由于視頻抖動和視頻信息包丟失帶來的不良影響。

c.圖像增強(imageenhancements)

圖像質量增強模塊

對網絡攝像頭采集到的圖像進行處理,包括明暗度檢測、顏色增強、降噪處理等功能,用來提升視頻質量。

(7)webrtc的運行時信息

a.發(fā)送端采集統(tǒng)計:對應于媒體數(shù)據的產生,包括幀率,幀大小,媒體數(shù)據源的時鐘頻率,編解碼器名稱,等等。

b.發(fā)送端rtp統(tǒng)計:對應于媒體數(shù)據的發(fā)送,包括發(fā)送數(shù)據包數(shù),發(fā)送字節(jié)數(shù),往返時間rtt,等等。

c.接收端rtp統(tǒng)計:對應于媒體數(shù)據的接收,包括接收數(shù)據包數(shù),接收字節(jié)數(shù),丟棄數(shù)據包數(shù),丟失數(shù)據包數(shù),網絡抖動jitter,等等。

d.接收端渲染統(tǒng)計:對應于媒體數(shù)據的渲染,包括丟棄幀數(shù),丟失幀數(shù),渲染幀數(shù),渲染延遲,等等。

另外還有一些雜項統(tǒng)計,如datachannel度量,網絡接口度量,證書統(tǒng)計等等。在眾多信息中,有一些反映webrtc運行狀態(tài)的核心度量,包括往返時間rtt,丟包率和接收端延遲等,分別表述如下:

往返時間rtt:表示數(shù)據在網絡上傳輸所用的時間,一般通過rtcp的sr/rr數(shù)據包中的相關域進行計算。該度量直接反映網絡狀況的好壞。

丟包率影響接收端音視頻質量,在嚴重的情況下可能導致聲音跳變或者視頻馬賽克,從側面反映網絡狀況的好壞。

音視頻數(shù)據到達接收端之后,要經歷收包、解碼、渲染等過程,該過程會帶來延遲。接收端延遲是數(shù)據從采集到渲染單向延遲的重要組成部分。

通過以上分析可知,webrtc返回信息包含數(shù)據管線的各個階段的統(tǒng)計信息,從數(shù)據采集、編碼到發(fā)送,再到數(shù)據接收、解碼和渲染。這為監(jiān)控webrtc應用的運行狀態(tài)提供第一手數(shù)據。

(8)通過webrtc實現(xiàn)的網頁間即時通訊的框架圖。

開始視頻通話前發(fā)起端和接收端需要一些交互,如通知對方開始視頻,接收視頻,視頻參數(shù)協(xié)商(sdp信息),nat地址交換,這個過程我們稱之為信令交互,webrtc沒有定義標準信令格式,既可以使用sip(sessioninitiationprotocol)也可以使用xmpp(extensiblemessagingpresenceprotocol),還可以使用自定義的信令格式,最簡單的方式就是使用websocket或xmlhttprequest,自定義格式完成信令交互過程。

以上所述,僅是本發(fā)明的較佳實施例而已,并非對本發(fā)明的結構作任何形式上的限制。凡是依據本發(fā)明的技術實質對以上實施例所作的任何簡單修改、等同變化與修飾,均屬于本發(fā)明的技術方案范圍內。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
灯塔市| 民和| 云阳县| 息烽县| 海南省| 嘉荫县| 庆阳市| 江都市| 黄大仙区| 怀仁县| 京山县| 九龙坡区| 东平县| 济南市| 祁门县| 上杭县| 阿巴嘎旗| 桃园县| 赣榆县| 扬中市| 利津县| 蕉岭县| 康乐县| 甘肃省| 淅川县| 宁阳县| 甘谷县| 五华县| 湘乡市| 剑河县| 长丰县| 洞头县| 东城区| 乌恰县| 绿春县| 闵行区| 石屏县| 共和县| 明水县| 大田县| 丹棱县|