本發(fā)明實(shí)施例涉及智能終端技術(shù)領(lǐng)域,尤其涉及一種實(shí)時(shí)通話處理方法及裝置。
背景技術(shù):
隨著信息技術(shù)的進(jìn)步和居民收入的增加,智能終端的普及率大大提高。目前的智能終端能夠支持越來(lái)越多的功能,使得人們可以使用智能終端進(jìn)行各式各樣的操作。其中,通過(guò)智能終端中的瀏覽器訪問(wèn)網(wǎng)頁(yè),是人們獲取各類信息的常用手段之一。人們只需在瀏覽器的搜索欄中輸入待訪問(wèn)網(wǎng)頁(yè)的網(wǎng)址,瀏覽器就可以通過(guò)移動(dòng)網(wǎng)絡(luò)訪問(wèn)發(fā)布該網(wǎng)頁(yè)內(nèi)容的網(wǎng)站服務(wù)器,從而使得人們可以通過(guò)瀏覽器瀏覽該網(wǎng)頁(yè)發(fā)布的內(nèi)容。
現(xiàn)有的瀏覽器已經(jīng)不滿足于單純的包含瀏覽網(wǎng)頁(yè)的功能,例如還可以進(jìn)行視頻或語(yǔ)音聊天等。然而,在實(shí)現(xiàn)本發(fā)明實(shí)施例的過(guò)程中發(fā)明人發(fā)現(xiàn),現(xiàn)有的瀏覽器只能支持終端與終端之間的視頻或語(yǔ)音通話連接,還無(wú)法支持其他設(shè)備例如車載設(shè)備與終端之間進(jìn)行通話連接,從而限制了瀏覽器的應(yīng)用范圍。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種實(shí)時(shí)通話處理方法及裝置,用以解決現(xiàn)有的瀏覽器無(wú)法支持車載設(shè)備與終端之間進(jìn)行通話連接的缺陷。
第一方面,本發(fā)明提供了一種實(shí)時(shí)通話處理方法,包括:
第一終端的瀏覽器在建立與車載設(shè)備的第一通信連接之后,接收車載設(shè)備發(fā)送的實(shí)時(shí)通話請(qǐng)求;
第一終端的瀏覽器根據(jù)所述實(shí)時(shí)通話請(qǐng)求并基于webRTC建立與第二終端的瀏覽器的第二通信連接;
第一終端的瀏覽器在接收到所述車載設(shè)備發(fā)送的音/視頻數(shù)據(jù)包時(shí),通過(guò)所建立的第二通信連接發(fā)送到所述第二終端的瀏覽器;在通過(guò)所述第二通信連接接收到第二終端的瀏覽器發(fā)送的音/視頻數(shù)據(jù)包時(shí),將所述音/視頻數(shù)據(jù)包發(fā)送至所述車載設(shè)備。
可選地,所述方法還包括:
第一終端的瀏覽器在向通信連接的對(duì)端發(fā)送當(dāng)前音/視頻數(shù)據(jù)包的同時(shí),還發(fā)送用于表示本方已成功接收上一個(gè)音/視頻數(shù)據(jù)包的確認(rèn)信息;
其中,所述通信連接的對(duì)端包括車載設(shè)備和第二終端的瀏覽器。
可選地,所述方法還包括:
第一終端的瀏覽器若檢測(cè)獲知所述第一通信連接和/或第二通信連接的網(wǎng)絡(luò)帶寬小于預(yù)設(shè)值,則丟棄待發(fā)送的所述音/視頻數(shù)據(jù)包中的視頻幀數(shù)據(jù)。
可選地,所述根據(jù)所述實(shí)時(shí)通話請(qǐng)求并基于webRTC建立與第二終端的瀏覽器的第二通信連接,包括:
第一終端的瀏覽器向所述第二終端瀏覽器所連接的實(shí)時(shí)通話服務(wù)器發(fā)送鑒權(quán)請(qǐng)求消息;
第一終端的瀏覽器在接收到實(shí)時(shí)通話服務(wù)器返回的鑒權(quán)通過(guò)的響應(yīng)消息后,登錄所述實(shí)時(shí)通話服務(wù)器;
第一終端的瀏覽器與登錄到所述實(shí)時(shí)通話服務(wù)器的第二終端的瀏覽器通過(guò)所述實(shí)時(shí)通話服務(wù)器協(xié)商音/視頻編解碼方案;
在協(xié)商成功后,第一終端的瀏覽器基于webRTC與所述第二終端的瀏覽器建立第二通信連接。
可選地,所述音視頻編解碼方案為所述WebRTC支持的I420/VP8編解碼方案。
第二方面,本發(fā)明實(shí)施例還提供了一種實(shí)時(shí)通話處理裝置,應(yīng)用于瀏覽器中,包括:
連接單元,用于在建立與車載設(shè)備的第一通信連接之后,接收車載設(shè)備發(fā)送的實(shí)時(shí)通話請(qǐng)求;還用于根據(jù)所述實(shí)時(shí)通話請(qǐng)求并基于webRTC建立與第二終端的瀏覽器的第二通信連接;
通信單元,用于在接收到所述車載設(shè)備發(fā)送的音/視頻數(shù)據(jù)包時(shí),通過(guò)所建立的第二通信連接發(fā)送到所述第二終端的瀏覽器;還用于在通過(guò)所述第二通信連接接收到第二終端的瀏覽器發(fā)送的音/視頻數(shù)據(jù)包時(shí),將所述音/視頻數(shù)據(jù)包發(fā)送至所述車載設(shè)備。
可選地,所述通信單元,還用于在向通信連接的對(duì)端發(fā)送當(dāng)前音/視頻數(shù)據(jù)包的同時(shí),還發(fā)送用于表示本方已成功接收上一個(gè)音/視頻數(shù)據(jù)包的確認(rèn)信息;
其中,所述通信連接的對(duì)端包括車載設(shè)備和第二終端的瀏覽器。
可選地,所述通信單元,還用于若檢測(cè)獲知所述第一通信連接和/或第二通信連接的網(wǎng)絡(luò)帶寬小于預(yù)設(shè)值,則丟棄待發(fā)送的所述音/視頻數(shù)據(jù)包中的視頻幀數(shù)據(jù)。
可選地,所述連接單元,還用于:
向所述第二終端瀏覽器所連接的實(shí)時(shí)通話服務(wù)器發(fā)送鑒權(quán)請(qǐng)求消息;
在接收到實(shí)時(shí)通話服務(wù)器返回的鑒權(quán)通過(guò)的響應(yīng)消息后,登錄所述實(shí)時(shí)通話服務(wù)器;
與登錄到所述實(shí)時(shí)通話服務(wù)器的第二終端的瀏覽器通過(guò)所述實(shí)時(shí)通話服務(wù)器協(xié)商音/視頻編解碼方案;
在協(xié)商成功后,基于webRTC與所述第二終端的瀏覽器建立第二通信連接。
可選地,所述音視頻編解碼方案為所述WebRTC支持的I420/VP8編解碼方案。
本發(fā)明實(shí)施例提供的實(shí)時(shí)通話處理方法及裝置中,第一終端的瀏覽器在建立與車載設(shè)備的第一通信連接以及與第二終端的瀏覽器的第二通信連接之后,能夠在接收車載設(shè)備發(fā)送的音/視頻數(shù)據(jù)包時(shí),將其發(fā)送至第二終端的瀏覽器,在接收到第二終端發(fā)送的音/視頻數(shù)據(jù)包時(shí),將其發(fā)送至車載設(shè)備,從而實(shí)現(xiàn)車載設(shè)備與其他終端之間進(jìn)行視頻或音頻通話,有效擴(kuò)大瀏覽器的使用范圍,使其能夠應(yīng)用于車載領(lǐng)域中。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種實(shí)時(shí)通話處理方法實(shí)施例流程圖;
圖2為圖1示出的一種實(shí)時(shí)通話處理方法的信令交互實(shí)施例示意圖;
圖3為圖1示出的步驟S102的具體方法實(shí)施例流程圖;
圖4為本發(fā)明提供的一種實(shí)時(shí)通話處理裝置實(shí)施例結(jié)構(gòu)示意圖;
圖5為本發(fā)明提供的一種實(shí)時(shí)通話處理實(shí)體裝置實(shí)施例結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
第一方面,本發(fā)明實(shí)施例提供了一種實(shí)時(shí)通話處理方法,如圖1所示,包括:
S101、第一終端的瀏覽器在建立與車載設(shè)備的第一通信連接之后,接收車載設(shè)備發(fā)送的實(shí)時(shí)通話請(qǐng)求;
也就是說(shuō),第一終端的瀏覽器在建立與車載設(shè)備的第一通信連接之后,實(shí)時(shí)檢測(cè)車載設(shè)備發(fā)送的消息,并在接收到車載設(shè)備的實(shí)時(shí)通話請(qǐng)求時(shí),執(zhí)行下一步的操作。
其中,這里的第一終端的瀏覽器可以通過(guò)多種方式與車載設(shè)備建立連接,例如可以基于數(shù)據(jù)線進(jìn)行連接,也可以通過(guò)WIFI網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)、藍(lán)牙等方式進(jìn)行連接,本發(fā)明實(shí)施例對(duì)此不作具體限定。當(dāng)然還可以通過(guò)其他方式,本發(fā)明實(shí)施例對(duì)此也不作具體限定。
S102、第一終端的瀏覽器根據(jù)所述實(shí)時(shí)通話請(qǐng)求并基于webRTC建立與第二終端的瀏覽器的第二通信連接;
其中,這里的WebRTC(Web Real-Time Communication)也被稱作是網(wǎng)頁(yè)實(shí)時(shí)通信,它是一種可以支持網(wǎng)頁(yè)瀏覽器進(jìn)行實(shí)時(shí)語(yǔ)音對(duì)話或視頻對(duì)話的技術(shù)。網(wǎng)頁(yè)瀏覽器只需提供簡(jiǎn)單的Java script(Java語(yǔ)言腳本)即可實(shí)現(xiàn)實(shí)時(shí)通話的目的,因此實(shí)時(shí)通話技術(shù)具有簡(jiǎn)單易實(shí)現(xiàn)的特點(diǎn)。此外,實(shí)時(shí)通話技術(shù)還適于多種操作系統(tǒng)平臺(tái),同時(shí)還能夠支持跨平臺(tái)操作。在本發(fā)明實(shí)施例中,這里的實(shí)時(shí)通話技術(shù)主要應(yīng)用于Android操作平臺(tái)下,由Android操作平臺(tái)中的瀏覽器提供Java script進(jìn)行實(shí)時(shí)的通話連接。
因此,第一終端的瀏覽器在接收到實(shí)時(shí)通話請(qǐng)求后,可以基于webRTC與第二終端的瀏覽器建立第二通信連接,從而進(jìn)行下一步的通信。
S103、第一終端的瀏覽器在接收到所述車載設(shè)備發(fā)送的音/視頻數(shù)據(jù)包時(shí),通過(guò)所建立的第二通信連接發(fā)送到所述第二終端的瀏覽器;在通過(guò)所述第二通信連接接收到第二終端的瀏覽器發(fā)送的音/視頻數(shù)據(jù)包時(shí),將所述音/視頻數(shù)據(jù)包發(fā)送至所述車載設(shè)備。
也就是說(shuō),在建立連接之后,若第一終端的瀏覽器通過(guò)第一通信連接,接收到車載設(shè)備發(fā)送的音/視頻數(shù)據(jù)包,則認(rèn)為車載設(shè)備預(yù)向第二終端的瀏覽器發(fā)送數(shù)據(jù)。此時(shí)第一終端瀏覽器可以通過(guò)步驟S101中建立的第二通信連接將從車載設(shè)備接收到的音/視頻數(shù)據(jù)包發(fā)送至第二終端的瀏覽器,以使第二終端的瀏覽器調(diào)用第二終端的播放器播放該音/視頻數(shù)據(jù)包,從而第二終端就可以看到由車載設(shè)備傳來(lái)的畫面及聲音。
類似地,若第一終端瀏覽器通過(guò)第二通信連接,接收到由第二終端的瀏覽器發(fā)送的音/視頻數(shù)據(jù)包時(shí),則認(rèn)為第二終端預(yù)向車載設(shè)備發(fā)送數(shù)據(jù)。此時(shí),第一終端瀏覽器不會(huì)調(diào)用自身的播放器播放該音/視頻數(shù)據(jù)包,而是通過(guò)第一通信連接將這一音/視頻數(shù)據(jù)包發(fā)送至車載設(shè)備,以使車載設(shè)備調(diào)用自身的播放器播放該音/視頻數(shù)據(jù)包,從而車載設(shè)備就可以看到由第二終端傳來(lái)的畫面及聲音。
不難理解的是,由于車載設(shè)備與第二終端進(jìn)行的是實(shí)時(shí)視頻通話,因此上述兩個(gè)過(guò)程可以同時(shí)進(jìn)行,使得車載設(shè)備以及第二終端能同時(shí)接收到對(duì)方的音視頻數(shù)據(jù),并同時(shí)向?qū)Ψ桨l(fā)送音視頻數(shù)據(jù),從而保證實(shí)時(shí)通話的進(jìn)行。
本發(fā)明實(shí)施例提供的實(shí)時(shí)通話處理方法中,第一終端的瀏覽器在建立與車載設(shè)備的第一通信連接以及與第二終端的瀏覽器的第二通信連接之后,能夠在接收車載設(shè)備發(fā)送的音/視頻數(shù)據(jù)包時(shí),將其發(fā)送至第二終端的瀏覽器,在接收到第二終端發(fā)送的音/視頻數(shù)據(jù)包時(shí),將其發(fā)送至車載設(shè)備,從而實(shí)現(xiàn)車載設(shè)備與其他終端之間進(jìn)行視頻或音頻通話,有效擴(kuò)大瀏覽器的使用范圍,使其能夠應(yīng)用于車載領(lǐng)域中。
為便于理解本發(fā)明實(shí)施例提供的實(shí)時(shí)通話處理方法的各個(gè)終端之間的交互過(guò)程,下面結(jié)合附圖2對(duì)各個(gè)終端的交互過(guò)程進(jìn)行詳細(xì)說(shuō)明。
當(dāng)車載設(shè)備預(yù)與第二終端建立視頻通話時(shí),由于不能之間建立連接,因此需要借助第一終端瀏覽器。因此,車載設(shè)備可以向第一終端瀏覽器發(fā)送第一通信連接請(qǐng)求,第一終端瀏覽器在接收到這一請(qǐng)求后向車載設(shè)備回復(fù)第一通信連接響應(yīng),從而建立與車載設(shè)備之間的第一通信連接。在車載設(shè)備與第一終端瀏覽器建立連接之后,若第一終端瀏覽器接收到車載設(shè)備發(fā)送的實(shí)時(shí)通話請(qǐng)求時(shí),則認(rèn)為該車載設(shè)備預(yù)與第二終端進(jìn)行實(shí)時(shí)通話,此時(shí)第一終端瀏覽器首先根據(jù)這一請(qǐng)求,向第二終端瀏覽器發(fā)送第二通信連接建立請(qǐng)求。第二終端瀏覽器在接收到建立請(qǐng)求后,會(huì)向第一終端瀏覽器返回第二通信連接建立響應(yīng),從而建立與第一終端瀏覽器之前的第二通信連接。至此,車載設(shè)備與第一終端瀏覽器、第一終端瀏覽器與第二終端瀏覽器的連接已經(jīng)建立完畢。
當(dāng)?shù)谝唤K端瀏覽器接收到車載設(shè)備發(fā)送的音/視頻數(shù)據(jù)包時(shí),則將該音/視頻數(shù)據(jù)包時(shí)轉(zhuǎn)發(fā)至第二終端瀏覽器,以使第二終端能夠看見(jiàn)車載設(shè)備采集的影像;當(dāng)?shù)谝唤K端瀏覽器接收到第二終端瀏覽器發(fā)送的音/視頻數(shù)據(jù)包時(shí),則將該音/視頻數(shù)據(jù)包時(shí)轉(zhuǎn)發(fā)至車載設(shè)備,以使車載設(shè)備能夠看見(jiàn)第二終端采集的影像,實(shí)現(xiàn)車載設(shè)備與第二終端的實(shí)時(shí)通話連接。
在具體實(shí)施時(shí),上述方法實(shí)施例中的步驟S102可以有多種實(shí)現(xiàn)方式,下面對(duì)其中一種可選的實(shí)施方式進(jìn)行詳細(xì)說(shuō)明。如圖3所示,步驟S102可以具體包括:
S1021、第一終端的瀏覽器向所述第二終端瀏覽器所連接的實(shí)時(shí)通話服務(wù)器發(fā)送鑒權(quán)請(qǐng)求消息;
為便于理解,首先解釋一下鑒權(quán)請(qǐng)求的概念。
鑒權(quán)請(qǐng)求,是一種在經(jīng)過(guò)HTTP鑒權(quán)挑戰(zhàn)的過(guò)程中發(fā)出的請(qǐng)求。而鑒權(quán)挑戰(zhàn)(Challenge response authentication mechanism)是一種鑒權(quán)模式,其請(qǐng)求響應(yīng)順序具體如下:a)客戶端發(fā)送“無(wú)鑒權(quán)”請(qǐng)求給服務(wù)器;b)服務(wù)器給客戶端返回401(Unauthorized,意為未經(jīng)授權(quán)的),并附上服務(wù)器需要的鑒權(quán)方式(包括基本鑒權(quán)或摘要鑒權(quán))以及其他信息;c)客戶端基于服務(wù)器返回的信息重新組織請(qǐng)求消息,并帶上鑒權(quán)信息再次發(fā)送請(qǐng)求。
也就是說(shuō),第二終端瀏覽器此時(shí)可以連接在某一實(shí)時(shí)通話平臺(tái)上,若第一瀏覽器預(yù)與第二終端瀏覽器進(jìn)行連接,則首先需要登錄這一實(shí)時(shí)通話平臺(tái)。因此第一終端瀏覽器會(huì)向該實(shí)時(shí)通話平臺(tái)發(fā)送用于請(qǐng)求登錄的鑒權(quán)請(qǐng)求,以使該實(shí)時(shí)通話平臺(tái)對(duì)第一終端瀏覽器進(jìn)行認(rèn)證。
S1022、第一終端的瀏覽器在接收到實(shí)時(shí)通話服務(wù)器返回的鑒權(quán)通過(guò)的響應(yīng)消息后,登錄所述實(shí)時(shí)通話服務(wù)器;
也就是說(shuō),在實(shí)時(shí)通話平臺(tái)對(duì)第一終端瀏覽器進(jìn)行了認(rèn)證并認(rèn)證通過(guò)之后,向第一終端瀏覽器返回鑒權(quán)通過(guò)的消息,此時(shí)第一終端瀏覽器就可以登陸實(shí)時(shí)通話平臺(tái)中。
在實(shí)際應(yīng)用中,在第一終端瀏覽器登錄了該實(shí)時(shí)通話平臺(tái)之后,一般地會(huì)首先更新訂閱信息。
其中,這里的更新訂閱信息也被稱為是更新subscribe訂閱信息,subscribe訂閱信息是基于訂閱發(fā)布模式的一種信息。而訂閱發(fā)布模式定義了一種一對(duì)多的依賴關(guān)系,讓多個(gè)訂閱者對(duì)象同時(shí)監(jiān)聽(tīng)某一個(gè)主題對(duì)象。這個(gè)主題對(duì)象在自身狀態(tài)變化時(shí),會(huì)通知所有訂閱者對(duì)象,使他們能夠自動(dòng)更新自己的狀態(tài)。更新訂閱信息可以被通俗的理解為,用戶在每一次登錄聊天軟件的時(shí)候,聊天軟件中好友的信息都會(huì)被更新。而用戶自身的信息被更新時(shí),其在好友的聊天軟件上顯示的信息也會(huì)被更新。
S1023、第一終端的瀏覽器與登錄到所述實(shí)時(shí)通話服務(wù)器的第二終端的瀏覽器通過(guò)所述實(shí)時(shí)通話服務(wù)器協(xié)商音/視頻編解碼方案;
顯然,只有第一終端的瀏覽器與第二終端的瀏覽器均使用統(tǒng)一的音/視頻編解碼方案對(duì)傳輸?shù)囊?視頻數(shù)據(jù)進(jìn)行編碼,才能保證傳輸?shù)臄?shù)據(jù)可以被相互識(shí)別,因此第一終端的瀏覽器此時(shí)需要與第二終端的瀏覽器對(duì)音/視頻編解碼方案進(jìn)行協(xié)商。
其中,這里的音/視頻編解碼方案可以為WebRTC支持的I420/VP8編解碼方案。當(dāng)然,還可以根據(jù)實(shí)際的傳輸情況選擇其他WebRTC支持的編碼方式,本發(fā)明實(shí)施例對(duì)此不作具體限定。
S1024、在協(xié)商成功后,第一終端的瀏覽器基于WebRTC與所述第二終端的瀏覽器建立第二通信連接。
在協(xié)商達(dá)成之后,第一終端的瀏覽器就可以通過(guò)該實(shí)時(shí)通話平臺(tái),并基于WebRTC技術(shù)與第二終端建立第二通信連接,從而為下一步的數(shù)據(jù)傳輸做好準(zhǔn)備。
不難理解的是,步驟S102通過(guò)這樣的鑒權(quán)挑戰(zhàn)可以加強(qiáng)連接的安全性,確保連接至實(shí)時(shí)通話平臺(tái)的終端均為安全可靠的終端,避免車載設(shè)備通過(guò)第一終端與不安全的設(shè)備進(jìn)行視頻或音頻通話,為用戶的信息安全提供了保障。
在具體實(shí)施時(shí),本發(fā)明實(shí)施例提供的方法還可以包括:
S103’、第一終端的瀏覽器在向通信連接的對(duì)端發(fā)送當(dāng)前音/視頻數(shù)據(jù)包的同時(shí),還發(fā)送用于表示本方已成功接收上一個(gè)音/視頻數(shù)據(jù)包的確認(rèn)信息;
其中,所述通信連接的對(duì)端包括車載設(shè)備和第二終端的瀏覽器。
具體來(lái)說(shuō),在音/視頻數(shù)據(jù)包的交互過(guò)程中,第一終端瀏覽器為了告知車載設(shè)備以已經(jīng)接受到上一個(gè)第二終端的瀏覽器的音/視頻數(shù)據(jù)包,或?yàn)榱烁嬷诙K端的瀏覽器以已經(jīng)接受到上一個(gè)車載設(shè)備的音/視頻數(shù)據(jù),需要向車載設(shè)備或第二終端瀏覽器發(fā)送數(shù)據(jù)包的確認(rèn)信息。而這一確認(rèn)信息如果在接收到每一幀數(shù)據(jù)包之后單獨(dú)發(fā)送,勢(shì)必會(huì)使得交互過(guò)程復(fù)雜化。因此,本發(fā)明實(shí)施例提供的方法還可以在發(fā)送當(dāng)前音/視頻數(shù)據(jù)包的同時(shí),還傳輸用于表示已成功接收上一音/視頻數(shù)據(jù)包的確認(rèn)信息,使得車載設(shè)備或第二終端瀏覽器在接收到下一數(shù)據(jù)包的同時(shí)也可以接收到上一數(shù)據(jù)包的確認(rèn)信息,從而能夠簡(jiǎn)化交互流程,有效提升數(shù)據(jù)交互的效率,提高通話的質(zhì)量。
進(jìn)一步地,步驟S103’的基礎(chǔ)上,為了能夠在帶寬不足時(shí)優(yōu)先保證音頻通話的質(zhì)量,本發(fā)明實(shí)施例提供的方法還可以包括:
S103”、第一終端的瀏覽器若檢測(cè)獲知所述第一通信連接和/或第二通信連接的網(wǎng)絡(luò)帶寬小于預(yù)設(shè)值,則丟棄待發(fā)送的所述音/視頻數(shù)據(jù)包中的視頻幀數(shù)據(jù)。
具體來(lái)說(shuō),在正常的環(huán)境下,第一終端的瀏覽器在向車載設(shè)備或者第二終端的瀏覽器發(fā)送數(shù)據(jù)包的過(guò)程中,會(huì)將音頻數(shù)據(jù)以及視頻數(shù)據(jù)一并發(fā)送給對(duì)方。然而在某些網(wǎng)絡(luò)不好的環(huán)境下,若第一終端的瀏覽器檢測(cè)獲知通信連接的網(wǎng)絡(luò)帶寬小于預(yù)設(shè)值,則認(rèn)為網(wǎng)絡(luò)的帶寬有限,不能夠滿足同時(shí)傳輸高質(zhì)量視頻數(shù)據(jù)和音頻數(shù)據(jù)的傳輸要求,這時(shí)為了保證通話不被打斷,需要優(yōu)先保證音頻的通話質(zhì)量。因此此時(shí)第一終端的瀏覽器會(huì)丟棄待發(fā)送的音/視頻數(shù)據(jù)包中的視頻幀數(shù)據(jù),保證音頻數(shù)據(jù)優(yōu)先傳輸。在這種情況下,雖然車載設(shè)備一側(cè)以及第二終端側(cè)均無(wú)法看見(jiàn)連貫流暢的視頻畫面,但是語(yǔ)音信號(hào)的交互還是可以順暢進(jìn)行的。
可以理解的是,上述這種丟棄視頻幀數(shù)據(jù)的情況只是在網(wǎng)絡(luò)狀況不好時(shí)的一種過(guò)渡方式,在網(wǎng)絡(luò)狀況恢復(fù)時(shí),也即檢測(cè)獲知通信連接的網(wǎng)絡(luò)帶寬大于或等于預(yù)設(shè)值時(shí),第一終端的瀏覽器會(huì)保留視頻幀數(shù)據(jù),從而恢復(fù)為正常的高清流暢的通話。
第二方面,本發(fā)明實(shí)施例提供了一種實(shí)時(shí)通話處理裝置,如圖2所示,包括連接單元201以及通信單元202。
其中,連接單元201用于在建立與車載設(shè)備的第一通信連接之后,接收車載設(shè)備發(fā)送的實(shí)時(shí)通話請(qǐng)求;還用于根據(jù)實(shí)時(shí)通話請(qǐng)求并基于webRTC建立與第二終端的瀏覽器的第二通信連接;通信單元202用于在接收到車載設(shè)備發(fā)送的音/視頻數(shù)據(jù)包時(shí),通過(guò)所建立的第二通信連接發(fā)送到第二終端的瀏覽器;還用于在通過(guò)第二通信連接接收到第二終端的瀏覽器發(fā)送的音/視頻數(shù)據(jù)包時(shí),將音/視頻數(shù)據(jù)包發(fā)送至車載設(shè)備。
具體來(lái)說(shuō),連接單元201在建立與車載設(shè)備的第一通信連接之后,實(shí)時(shí)檢測(cè)車載設(shè)備發(fā)送的消息,并在接收到車載設(shè)備的實(shí)時(shí)通話請(qǐng)求時(shí),基于webRTC與第二終端的瀏覽器建立第二通信連接。在建立連接之后,若通信單元202通過(guò)第一通信連接接收到車載設(shè)備發(fā)送的音/視頻數(shù)據(jù)包,則認(rèn)為車載設(shè)備預(yù)向第二終端的瀏覽器發(fā)送數(shù)據(jù)。此時(shí)通信單元202可以基于第二通信連接將從車載設(shè)備接收到的音/視頻數(shù)據(jù)包發(fā)送至第二終端的瀏覽器,以使第二終端的瀏覽器調(diào)用第二終端的播放器播放該音/視頻數(shù)據(jù)包,從而第二終端就可以看到由車載設(shè)備傳來(lái)的畫面及聲音。
類似地,通信單元202通過(guò)第二通信連接接收到由第二終端的瀏覽器發(fā)送的音/視頻數(shù)據(jù)包時(shí),則認(rèn)為第二終端預(yù)向車載設(shè)備發(fā)送數(shù)據(jù)。此時(shí),通信單元202不會(huì)調(diào)用自身的播放器播放該音/視頻數(shù)據(jù)包,而是通過(guò)第一通信連接將這一音/視頻數(shù)據(jù)包發(fā)送至車載設(shè)備,以使車載設(shè)備調(diào)用自身的播放器播放該音/視頻數(shù)據(jù)包,從而車載設(shè)備就可以看到由第二終端傳來(lái)的畫面及聲音。
不難理解的是,由于車載設(shè)備與第二終端進(jìn)行的是實(shí)時(shí)視頻通話,因此通信單元202可以同時(shí)執(zhí)行上述兩個(gè)過(guò)程,使得車載設(shè)備以及第二終端能同時(shí)接收到對(duì)方的音視頻數(shù)據(jù),并同時(shí)向?qū)Ψ桨l(fā)送音視頻數(shù)據(jù),從而保證實(shí)時(shí)通話的進(jìn)行。
本發(fā)明實(shí)施例提供的實(shí)時(shí)通話處理裝置中,在連接單元201建立與車載設(shè)備的第一通信連接以及與第二終端的瀏覽器的第二通信連接之后,通信單元202能夠在接收車載設(shè)備發(fā)送的音/視頻數(shù)據(jù)包時(shí),將其發(fā)送至第二終端的瀏覽器,在接收到第二終端發(fā)送的音/視頻數(shù)據(jù)包時(shí),將其發(fā)送至車載設(shè)備,從而實(shí)現(xiàn)車載設(shè)備與其他終端之間進(jìn)行視頻或音頻通話,有效擴(kuò)大瀏覽器的使用范圍,使其能夠應(yīng)用于車載領(lǐng)域中。
在具體實(shí)施時(shí),連接單元201可以采用下述方式建立與第二終端瀏覽器之間的第二通信連接,具體包括:在接收到實(shí)時(shí)通話請(qǐng)求后,第一終端的瀏覽器向第二終端瀏覽器所連接的實(shí)時(shí)通話平臺(tái)發(fā)送鑒權(quán)請(qǐng)求;在接收到實(shí)時(shí)通話平臺(tái)返回的鑒權(quán)通過(guò)的消息后,登錄實(shí)時(shí)通話平臺(tái);在登錄了該平臺(tái)之后,開(kāi)始與第二終端的瀏覽器協(xié)商音/視頻編解碼方案;在協(xié)商成功后,連接單元201可以基于webRTC與第二終端的瀏覽器建立第二通信連接。
不難理解的是,連接單元201通過(guò)這樣的鑒權(quán)挑戰(zhàn)與第二終端的瀏覽器建立連接可以加強(qiáng)連接的安全性,確保連接至實(shí)時(shí)通話平臺(tái)的終端均為安全可靠的終端,避免車載設(shè)備通過(guò)第一終端與不安全的設(shè)備進(jìn)行視頻或音頻通話,為用戶的信息安全提供了保障。
在具體實(shí)施時(shí),通信單元202還用于在向通信連接的對(duì)端發(fā)送當(dāng)前音/視頻數(shù)據(jù)包的同時(shí),還發(fā)送用于表示本方已成功接收上一個(gè)音/視頻數(shù)據(jù)包的確認(rèn)信息;其中,所述通信連接的對(duì)端包括車載設(shè)備和第二終端的瀏覽器。
具體來(lái)說(shuō),在音/視頻數(shù)據(jù)包的交互過(guò)程中,通信單元202為了告知車載設(shè)備以已經(jīng)接受到上一個(gè)第二終端的瀏覽器的音/視頻數(shù)據(jù)包,或?yàn)榱烁嬷诙K端的瀏覽器以已經(jīng)接受到上一個(gè)車載設(shè)備的音/視頻數(shù)據(jù),需要向車載設(shè)備或第二終端瀏覽器發(fā)送數(shù)據(jù)包的確認(rèn)信息。而這一確認(rèn)信息如果在接收到每一幀數(shù)據(jù)包之后單獨(dú)發(fā)送,勢(shì)必會(huì)使得交互過(guò)程復(fù)雜化。因此,通信單元202在發(fā)送當(dāng)前音/視頻數(shù)據(jù)包的同時(shí),還傳輸用于表示已成功接收上一音/視頻數(shù)據(jù)包的確認(rèn)信息,使得車載設(shè)備或第二終端瀏覽器在接收到下一數(shù)據(jù)包的同時(shí)也可以接收到上一數(shù)據(jù)包的確認(rèn)信息,從而能夠簡(jiǎn)化交互流程,有效提升數(shù)據(jù)交互的效率,提高通話的質(zhì)量。
進(jìn)一步地,通信單元202還用于若檢測(cè)獲知所述第一通信連接和/或第二通信連接的網(wǎng)絡(luò)帶寬小于預(yù)設(shè)值,則丟棄待發(fā)送的所述音/視頻數(shù)據(jù)包中的視頻幀數(shù)據(jù)。
具體來(lái)說(shuō),在正常的環(huán)境下,通信單元202在向車載設(shè)備或者第二終端的瀏覽器發(fā)送數(shù)據(jù)包的過(guò)程中,會(huì)將音頻數(shù)據(jù)以及視頻數(shù)據(jù)一并發(fā)送給對(duì)方。然而在某些網(wǎng)絡(luò)不好的環(huán)境下,若通信單元202檢測(cè)獲知通信連接的網(wǎng)絡(luò)帶寬小于預(yù)設(shè)值,則認(rèn)為網(wǎng)絡(luò)的帶寬有限,不能夠滿足同時(shí)傳輸高質(zhì)量視頻數(shù)據(jù)和音頻數(shù)據(jù)的傳輸要求,這時(shí)為了保證通話不被打斷,需要優(yōu)先保證音頻的通話質(zhì)量。因此此時(shí)第一終端的瀏覽器會(huì)丟棄待發(fā)送的音/視頻數(shù)據(jù)包中的視頻幀數(shù)據(jù),保證音頻數(shù)據(jù)優(yōu)先傳輸。在這種情況下,雖然車載設(shè)備一側(cè)以及第二終端側(cè)均無(wú)法看見(jiàn)連貫流暢的視頻畫面,但是語(yǔ)音信號(hào)的交互還是可以順暢進(jìn)行的。
可以理解的是,上述這種丟棄視頻幀數(shù)據(jù)的情況只是在網(wǎng)絡(luò)狀況不好時(shí)的一種過(guò)渡方式,在網(wǎng)絡(luò)狀況恢復(fù)時(shí),也即通信單元202檢測(cè)獲知通信連接的網(wǎng)絡(luò)帶寬大于或等于預(yù)設(shè)值時(shí),通信單元202將會(huì)保留視頻幀數(shù)據(jù),從而恢復(fù)為正常的高清流暢的通話。
由于本實(shí)施例所介紹的實(shí)時(shí)通話處理裝置為可以執(zhí)行本發(fā)明實(shí)施例中的實(shí)時(shí)通話處理方法的裝置,故而基于本發(fā)明實(shí)施例中所介紹的實(shí)時(shí)通話處理方法,本領(lǐng)域所屬技術(shù)人員能夠了解本實(shí)施例的實(shí)時(shí)通話處理裝置的具體實(shí)施方式以及其各種變化形式,所以在此對(duì)于該實(shí)時(shí)通話處理裝置如何實(shí)現(xiàn)本發(fā)明實(shí)施例中的實(shí)時(shí)通話處理方法不再詳細(xì)介紹。只要本領(lǐng)域所屬技術(shù)人員實(shí)施本發(fā)明實(shí)施例中實(shí)時(shí)通話處理方法所采用的裝置,都屬于本申請(qǐng)所欲保護(hù)的范圍。
圖5為本發(fā)明實(shí)時(shí)通話處理裝置的實(shí)體結(jié)構(gòu)示意圖。如圖5所示,該實(shí)時(shí)通話處理裝置包括:
處理器(processor)51、存儲(chǔ)器(memory)52和總線53,其中,處理器51和存儲(chǔ)器52通過(guò)總線53完成相互間的通信。處理器51可以調(diào)用存儲(chǔ)器52中的邏輯指令,以執(zhí)行如下方法:
在建立與車載設(shè)備的第一通信連接之后,接收車載設(shè)備發(fā)送的實(shí)時(shí)通話請(qǐng)求;根據(jù)所述實(shí)時(shí)通話請(qǐng)求并基于webRTC建立與第二終端的瀏覽器的第二通信連接;在接收到所述車載設(shè)備發(fā)送的音/視頻數(shù)據(jù)包時(shí),通過(guò)所建立的第二通信連接發(fā)送到所述第二終端的瀏覽器;在通過(guò)所述第二通信連接接收到第二終端的瀏覽器發(fā)送的音/視頻數(shù)據(jù)包時(shí),將所述音/視頻數(shù)據(jù)包發(fā)送至所述車載設(shè)備。
不難理解的是,上述實(shí)施例中的舉例說(shuō)明只是為了便于更好地理解本發(fā)明實(shí)施例提供的方法或裝置,并不能構(gòu)成對(duì)本發(fā)明的具體限定。且上述的各個(gè)優(yōu)選實(shí)施方式之間不會(huì)相互影響,各個(gè)優(yōu)選實(shí)施方式之間的任意組合所得到的方案均應(yīng)該落入本發(fā)明的保護(hù)范圍。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。