本發(fā)明屬于網(wǎng)絡(luò)直播技術(shù)領(lǐng)域,具體涉及一種音視頻直播中檢測客戶端播放狀態(tài)的系統(tǒng)及方法。
背景技術(shù):
直播,作為一種實時展示方式,受到越來越多的人,特別是年輕人的追捧。直播分為文字圖片直播和視頻直播,傳統(tǒng)電視臺多以視頻直播為主,比如新聞類的《新聞聯(lián)播》、演藝類的《春節(jié)聯(lián)歡晚會》等。在網(wǎng)絡(luò)時代,多以圖文直播為主,比如直播體育賽事、新聞等。在移動互聯(lián)網(wǎng)時代,文字、圖片、視頻皆可進(jìn)行直播,通過網(wǎng)絡(luò),參與者既可以作為發(fā)起直播的人,也可以作為觀看或收聽直播的人。直播狀態(tài)是否正常,對于發(fā)起直播的人和觀看或收聽直播的人來說,都是至關(guān)重要的。
目前的音視頻直播狀態(tài)檢測只是通過數(shù)據(jù)是否到達(dá)、信令是否走通來判斷是否直播成功。但這種音視頻直播狀態(tài)檢測技術(shù)對于發(fā)起直播的人來說,他們并不知道音視頻直播的實際運(yùn)作情況,因此這種直播狀態(tài)檢測技術(shù)并不是很精確。
技術(shù)實現(xiàn)要素:
為了解決上述的客戶端直播狀態(tài)檢測不精確的技術(shù)問題,本發(fā)明實施例提出了一種音視頻直播中檢測客戶端播放狀態(tài)的系統(tǒng)及方法。
一種音視頻直播中檢測客戶端播放狀態(tài)的系統(tǒng),包括:采集端、服務(wù)器和客戶端,其中,采集端與服務(wù)器連接,服務(wù)器與客戶端連接;
采集端在采集的音視頻數(shù)據(jù)中加入狀態(tài)檢測信息的標(biāo)記,并將加入了狀態(tài)檢測信息標(biāo)記的音視頻數(shù)據(jù)上傳到服務(wù)器;
服務(wù)器檢測接收到的音視頻數(shù)據(jù),如果檢測到狀態(tài)檢測信息的標(biāo)記,則將此時的圖像進(jìn)行解碼;
客戶端從服務(wù)器獲取音視頻數(shù)據(jù)并播放;客戶端在播放音視頻數(shù)據(jù)時,如果檢測到狀態(tài)檢測信息的標(biāo)記,則實時記錄該狀態(tài)檢測信息的標(biāo)記,同時進(jìn)行播放區(qū)域截圖,并將截圖數(shù)據(jù)和狀態(tài)檢測信息的標(biāo)記數(shù)據(jù)一起實時發(fā)送到服務(wù)器;
服務(wù)器比較對應(yīng)于同一狀態(tài)檢測信息的標(biāo)記的解碼后的圖像與發(fā)送的截圖數(shù)據(jù)是否一致,如果不一致或在限定時間內(nèi)服務(wù)器沒有接收到客戶端發(fā)送的截圖數(shù)據(jù)和狀態(tài)檢測信息的標(biāo)記數(shù)據(jù),則判定客戶端播放狀態(tài)異常。
進(jìn)一步地,所述客戶端將截圖數(shù)據(jù)和狀態(tài)檢測信息的標(biāo)記數(shù)據(jù)一起實時發(fā)送到服務(wù)器時,還連同客戶端的身份標(biāo)識信息一起發(fā)送。
進(jìn)一步地,加入狀態(tài)檢測信息的標(biāo)記的幀為關(guān)鍵幀。
進(jìn)一步地,狀態(tài)檢測信息的標(biāo)記為時間戳和/或彈幕。
進(jìn)一步地,在判定客戶端播放狀態(tài)異常時,服務(wù)器向發(fā)起音視頻直播的用戶反饋該客戶端播放狀態(tài)異常,或向服務(wù)器管理員反饋播放狀態(tài)異常的客戶端的身份標(biāo)識信息。
一種音視頻直播中檢測客戶端播放狀態(tài)的方法,該方法包括:
采集步驟:采集端采集音視頻數(shù)據(jù);
加標(biāo)記步驟:采集端定時在采集到的音視頻數(shù)據(jù)中加入狀態(tài)檢測信息的標(biāo)記;
上傳步驟:經(jīng)過加標(biāo)記步驟后,采集端將加入了狀態(tài)檢測信息的標(biāo)記的音視頻數(shù)據(jù)上傳到服務(wù)器;
第一檢測步驟:服務(wù)器檢測接收到的音視頻數(shù)據(jù),如果服務(wù)器檢測到狀態(tài)檢測信息的標(biāo)記,則將此時的圖像進(jìn)行解碼;
第二檢測步驟:客戶端從服務(wù)器獲取音視頻數(shù)據(jù),客戶端在播放音視頻數(shù)據(jù)時,如果檢測到狀態(tài)檢測信息的標(biāo)記,則實時記錄該狀態(tài)檢測信息的標(biāo)記,同時進(jìn)行播放區(qū)域截圖,并將截圖數(shù)據(jù)和狀態(tài)檢測信息的標(biāo)記數(shù)據(jù)一起實時發(fā)送到服務(wù)器;
判斷步驟:服務(wù)器接收客戶端發(fā)送的截圖數(shù)據(jù)和狀態(tài)檢測信息的標(biāo)記數(shù)據(jù),并比較對應(yīng)于同一狀態(tài)檢測信息的標(biāo)記的解碼后的圖像與發(fā)送的截圖數(shù)據(jù)是否一致,如果不一致或在限定時間內(nèi)服務(wù)器沒有接收到客戶端發(fā)送的截圖數(shù)據(jù)和狀態(tài)檢測信息的標(biāo)記數(shù)據(jù),則判定客戶端播放狀態(tài)異常。
進(jìn)一步地,在第二檢測步驟中,所述客戶端將截圖數(shù)據(jù)和狀態(tài)檢測信息的標(biāo)記數(shù)據(jù)一起實時發(fā)送到服務(wù)器時,還連同客戶端的身份標(biāo)識信息一起發(fā)送。
進(jìn)一步地,加入狀態(tài)檢測信息的標(biāo)記的幀為關(guān)鍵幀。
進(jìn)一步地,狀態(tài)檢測信息的標(biāo)記為時間戳和/或彈幕。
進(jìn)一步地,在判斷步驟中,當(dāng)判定客戶端播放狀態(tài)異常時,服務(wù)器向發(fā)起音視頻直播的用戶反饋該客戶端播放狀態(tài)異常,或向服務(wù)器管理員反饋播放狀態(tài)異常的客戶端的身份標(biāo)識信息。
本發(fā)明實施例的有益效果:本發(fā)明實施例提出的音視頻直播中檢測客戶端播放狀態(tài)的系統(tǒng)及方法,相比現(xiàn)有技術(shù)中通過數(shù)據(jù)是否到達(dá)、接口是否調(diào)用成功等技術(shù)方案來說,能夠更準(zhǔn)確及時地檢測直播過程中客戶端的當(dāng)前狀態(tài)。
附圖說明
圖1是本發(fā)明實施例提出的音視頻直播中檢測客戶端播放狀態(tài)的系統(tǒng)的結(jié)構(gòu)框圖;
圖2是本發(fā)明一實施例提出的音視頻直播中檢測客戶端播放狀態(tài)的方法的流程圖;
圖3是本發(fā)明另一實施例提出的音視頻直播中檢測客戶端播放狀態(tài)的方法的流程圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。但本領(lǐng)域技術(shù)人員知曉,本發(fā)明并不局限于附圖和以下實施例。
本發(fā)明實施例提出的音視頻直播中檢測客戶端播放狀態(tài)的系統(tǒng),如圖1所示,該系統(tǒng)包括:采集端11、服務(wù)器12和客戶端13,其中,采集端11與服務(wù)器12連接,服務(wù)器12與客戶端13連接。
采集端11采集音視頻數(shù)據(jù),并定時在采集到的音視頻數(shù)據(jù)的關(guān)鍵幀中加入時間戳,從而使得音視頻數(shù)據(jù)攜帶有狀態(tài)檢測信息;采集端11將加入了時間戳的音視頻數(shù)據(jù)上傳到服務(wù)器12。所述關(guān)鍵幀指的是不需要其他幀圖像作參考,就可以獨(dú)立進(jìn)行編碼的幀,亦可稱為獨(dú)立幀,一般是指的I幀。所述關(guān)鍵幀可以為一個或多個。
客戶端13從服務(wù)器12下載音視頻數(shù)據(jù)或由服務(wù)器12向客戶端13轉(zhuǎn)發(fā)音視頻數(shù)據(jù),客戶端13對來自服務(wù)器12的音視頻數(shù)據(jù)進(jìn)行播放;客戶端13在播放音視頻數(shù)據(jù)時,如果檢測到某幀音視頻數(shù)據(jù)中加入了時間戳,則記錄該時間戳數(shù)據(jù),同時進(jìn)行播放區(qū)域截圖,并將截圖數(shù)據(jù)和時間戳數(shù)據(jù)連同客戶端13的身份標(biāo)識信息一起實時發(fā)送到給服務(wù)器12,所述身份標(biāo)識信息可以為ip地址或MAC地址。
服務(wù)器12檢測采集端上傳的音視頻數(shù)據(jù),如果檢測到某幀數(shù)據(jù)中加入了時間戳?xí)r,則將加入了時間戳的該幀數(shù)據(jù)對應(yīng)的圖像進(jìn)行解碼,將解碼后的圖像轉(zhuǎn)換為解碼圖像的RGB數(shù)據(jù),關(guān)聯(lián)地保存時間戳數(shù)據(jù)和解碼圖像的RGB數(shù)據(jù)以及客戶端的身份標(biāo)識信息。
服務(wù)器12等待接收客戶端發(fā)送截圖數(shù)據(jù)和時間戳數(shù)據(jù)以及客戶端13的身份標(biāo)識信息,對于服務(wù)器中保存的每個時間戳數(shù)據(jù),服務(wù)器12如果在限定時間內(nèi)接收到客戶端13發(fā)送的與該時間戳數(shù)據(jù)對應(yīng)的截圖數(shù)據(jù),則對該發(fā)送的截圖數(shù)據(jù)進(jìn)行RGB轉(zhuǎn)換,轉(zhuǎn)換為發(fā)送的截圖的RGB數(shù)據(jù),服務(wù)器12通過圖形對比算法比較客戶端13發(fā)送的截圖的RGB數(shù)據(jù)和保存的解碼圖像的RGB數(shù)據(jù)是否一致;如果不一致或限定時間內(nèi)服務(wù)器12沒有接收到客戶端13發(fā)送的與該時間戳數(shù)據(jù)對應(yīng)的截圖數(shù)據(jù),則判定該客戶端13播放音視頻狀態(tài)異常,并進(jìn)行實時報警通知等操作,例如通知發(fā)起直播的人有客戶端播放音視頻狀態(tài)異常,或向服務(wù)器管理員反饋播放狀態(tài)異常的客戶端的身份標(biāo)識信息;如果一致,則判定客戶端13播放音視頻狀態(tài)正常。
所述系統(tǒng)可以同時對多個客戶端進(jìn)行播放狀態(tài)檢測。
進(jìn)一步地,限定時間可以由用戶(例如發(fā)起直播的人)自行設(shè)定,也可以由服務(wù)器自動設(shè)定。對于每個時間戳來說,其限定時間可以相同,也可以不同。
上述實施例中,以時間戳作為狀態(tài)檢測信息的標(biāo)記,本領(lǐng)域技術(shù)人員知曉,也可以采用其他時間標(biāo)記的方式,或采用其他類型的標(biāo)記方式,例如在某幀中加入彈幕,將彈幕作為狀態(tài)檢測信息的標(biāo)記;或者將時間戳和彈幕一起作為狀態(tài)檢測信息的標(biāo)記,此時時間戳和彈幕可以設(shè)置在同一幀中,也可以設(shè)置在不同幀中。
本發(fā)明實施例提出的音視頻直播中檢測客戶端播放狀態(tài)的方法,在本實施例中,以時間戳作為狀態(tài)檢測信息的標(biāo)記。本實施例提出的方法如圖2所示,該方法包括:
步驟S21、采集步驟:采集端采集音視頻數(shù)據(jù);
步驟S22、加標(biāo)記步驟:采集端定時在采集到的音視頻數(shù)據(jù)的關(guān)鍵幀中加入時間戳,從而使得音視頻數(shù)據(jù)攜帶有狀態(tài)檢測信息;所述關(guān)鍵幀指的是不需要其他幀圖像作參考,就可以獨(dú)立進(jìn)行編碼的幀,亦可稱為獨(dú)立幀,一般是指的I幀。所述關(guān)鍵幀可以為一個或多個。
步驟S23、上傳步驟:采集端將加入了時間戳的音視頻數(shù)據(jù)上傳到服務(wù)器;
步驟S24、第一檢測步驟:服務(wù)器檢測采集端上傳的音視頻數(shù)據(jù),當(dāng)服務(wù)器檢測到某幀數(shù)據(jù)中加入了時間戳?xí)r,則將加入了時間戳的該幀數(shù)據(jù)對應(yīng)的圖像進(jìn)行解碼,將解碼后的圖像轉(zhuǎn)換為解碼圖像的RGB數(shù)據(jù),關(guān)聯(lián)地保存時間戳數(shù)據(jù)和解碼圖像的RGB數(shù)據(jù);
步驟S25、第二檢測步驟:客戶端從服務(wù)器下載音視頻數(shù)據(jù)或服務(wù)器向客戶端轉(zhuǎn)發(fā)音視頻數(shù)據(jù),客戶端對來自服務(wù)器的音視頻數(shù)據(jù)進(jìn)行播放;客戶端在播放音視頻數(shù)據(jù)時如果檢測到某幀數(shù)據(jù)中加入了時間戳,則記錄該時間戳數(shù)據(jù),同時進(jìn)行播放區(qū)域截圖,并將截圖數(shù)據(jù)和時間戳數(shù)據(jù)連同客戶端的身份識別信息一起實時發(fā)送到服務(wù)器;身份識別信息可以為ip地址或MAC地址;
步驟S26、判斷步驟:服務(wù)器等待接收客戶端發(fā)送的截圖數(shù)據(jù)和時間戳數(shù)據(jù)以及客戶端的身份識別信息,對于服務(wù)器中保存的每個時間戳數(shù)據(jù),服務(wù)器如果在限定時間內(nèi)接收到客戶端發(fā)送的與該時間戳數(shù)據(jù)對應(yīng)的截圖數(shù)據(jù),則對該發(fā)送的截圖數(shù)據(jù)進(jìn)行RGB轉(zhuǎn)換,轉(zhuǎn)換為發(fā)送的截圖的RGB數(shù)據(jù);服務(wù)器通過圖形對比算法比較該發(fā)送的截圖的RGB數(shù)據(jù)和保存的解碼圖像的RGB數(shù)據(jù)是否一致;如果不一致或限定時間內(nèi)服務(wù)器沒有接收到客戶端發(fā)送的與該時間戳數(shù)據(jù)對應(yīng)的截圖數(shù)據(jù),則判定該客戶端播放音視頻狀態(tài)異常,并進(jìn)行實時報警通知等操作,例如通知發(fā)起直播的人有客戶端播放音視頻狀態(tài)異常,或向服務(wù)器管理員反饋播放狀態(tài)異常的客戶端的身份標(biāo)識信息;如果一致,則判定客戶端播放音視頻狀態(tài)正常。
本發(fā)明另一實施例提出的音視頻直播中檢測客戶端播放狀態(tài)的方法,在本實施例中,以彈幕作為檢測狀態(tài)信息的標(biāo)記,在音視頻數(shù)據(jù)的某些幀中加入彈幕。該實施例提出的方法如圖3所示,包括:
步驟S31、采集步驟:采集端采集音視頻數(shù)據(jù);
步驟S32、加標(biāo)記步驟:采集端定時在采集到的音視頻數(shù)據(jù)的某些幀中加入彈幕,從而使得音視頻數(shù)據(jù)攜帶有狀態(tài)檢測信息;
步驟S33、上傳步驟:采集端將加入彈幕的音視頻數(shù)據(jù)上傳到服務(wù)器;
步驟S34、第一檢測步驟:服務(wù)器檢測采集端上傳的音視頻數(shù)據(jù),當(dāng)服務(wù)器檢測到某幀數(shù)據(jù)中加入了彈幕時,則將加入了彈幕的該幀數(shù)據(jù)對應(yīng)的圖像進(jìn)行解碼,將解碼后的圖像轉(zhuǎn)換為解碼圖像的RGB數(shù)據(jù),關(guān)聯(lián)地保存彈幕和解碼圖像的RGB數(shù)據(jù);
步驟S35、第二檢測步驟:客戶端從服務(wù)器下載音視頻數(shù)據(jù)或服務(wù)器向客戶端轉(zhuǎn)發(fā)音視頻數(shù)據(jù),客戶端對來自服務(wù)器的音視頻數(shù)據(jù)進(jìn)行播放;客戶端在播放音視頻數(shù)據(jù)時如果檢測到某幀數(shù)據(jù)加入了彈幕,則記錄該彈幕數(shù)據(jù),同時進(jìn)行播放區(qū)域截圖,并將截圖數(shù)據(jù)和彈幕數(shù)據(jù)連同該客戶端的身份識別信息一起實時發(fā)送到服務(wù)器;所述身份標(biāo)識信息可以為ip地址或MAC地址;
步驟S36、判斷步驟:服務(wù)器等待接收客戶端發(fā)送的截圖數(shù)據(jù)和彈幕數(shù)據(jù)以及客戶端的身份標(biāo)識信息,對于服務(wù)器中保存的每個彈幕數(shù)據(jù),服務(wù)器如果在限定時間內(nèi)接收到客戶端發(fā)送的與該彈幕數(shù)據(jù)對應(yīng)的截圖數(shù)據(jù),則對該發(fā)送的截圖數(shù)據(jù)進(jìn)行RGB轉(zhuǎn)換,轉(zhuǎn)換為發(fā)送的截圖的RGB數(shù)據(jù);服務(wù)器通過圖形對比算法比較該發(fā)送的截圖的RGB數(shù)據(jù)和保存的解碼圖像的RGB數(shù)據(jù)是否一致;如果不一致或限定時間內(nèi)服務(wù)器沒有接收到客戶端發(fā)送的與該彈幕數(shù)據(jù)對應(yīng)的截圖數(shù)據(jù),則判定客戶端播放視頻狀態(tài)異常,并進(jìn)行實時報警通知等操作,例如通知發(fā)起直播的人有客戶端播放音視頻狀態(tài)異常,或向服務(wù)器管理員反饋播放狀態(tài)異常的客戶端的身份標(biāo)識信息;如果一致,則判定客戶端播放視頻狀態(tài)正常。
本領(lǐng)域技術(shù)人員可以理解,在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,“計算機(jī)可讀介質(zhì)”可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。
計算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計算機(jī)盤盒(磁裝置),隨機(jī)存取存儲器(RAM),只讀存儲器(ROM),可擦除可編輯只讀存儲器(EPROM或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(CDROM)。另外,計算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因為可以例如通過對紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時以其他合適方式進(jìn)行處理來以電子方式獲得所述程序,然后將其存儲在計算機(jī)存儲器中。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或它們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。
以上,對本發(fā)明的實施方式進(jìn)行了說明。但是,本發(fā)明不限定于上述實施方式。凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。