欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種實現(xiàn)直播視頻同步的播放器客戶端、系統(tǒng)及方法與流程

文檔序號:11778964閱讀:446來源:國知局
一種實現(xiàn)直播視頻同步的播放器客戶端、系統(tǒng)及方法與流程

本發(fā)明涉及視頻直播技術(shù)領(lǐng)域,特別涉及一種實現(xiàn)直播視頻同步的播放器客戶端、系統(tǒng)及方法。



背景技術(shù):

隨著通信技術(shù)的不斷發(fā)展,視頻直播行業(yè)正在興起。當(dāng)前,視頻直播的服務(wù)通常可以由直播平臺提供,該直播平臺可以同時與主播客戶端以及用戶客戶端進(jìn)行連接。其中,主播客戶端可以作為直播視頻的源頭,在錄制直播內(nèi)容的同時,將錄制的直播內(nèi)容實時推送至直播平臺的服務(wù)器中。然后,用戶客戶端可以從直播平臺的服務(wù)器處獲取主播客戶端推送的直播內(nèi)容。這樣便可以實現(xiàn)直播視頻的推送和觀看的過程。

目前,直播系統(tǒng)通常存在如下問題:1.用戶客戶端在下載直播內(nèi)容時,有時候會受到網(wǎng)絡(luò)波動的影響,導(dǎo)致一段時間內(nèi)無法獲取到當(dāng)前的直播內(nèi)容。這樣,在用戶客戶端中便會出現(xiàn)直播中止的卡頓畫面。同時在多次卡頓之后,如果沒有相關(guān)的追趕機制會導(dǎo)致用戶看到的直播畫面越來越落后于主播推流的畫面,嚴(yán)重影響用戶體驗。2.當(dāng)主播推流出現(xiàn)網(wǎng)絡(luò)波動的時候,用戶客戶端無法獲取直播內(nèi)容,通常會向直播平臺的服務(wù)器發(fā)起回源請求。一旦大量的用戶客戶端同時發(fā)起回源請求時,會導(dǎo)致直播平臺的服務(wù)器的負(fù)載陡增。由于網(wǎng)絡(luò)波動是頻繁存在的,因此現(xiàn)有的直播平臺的服務(wù)器就會頻繁地接收到大量的回源請求,會對直播平臺的服務(wù)器產(chǎn)生較大的負(fù)載,從而會加大服務(wù)器的維護(hù)成本。



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

為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實施例提供了一種實現(xiàn)直播視頻同步的播放器客戶端、系統(tǒng)及方法。所述技術(shù)方案如下:

一方面,一種實現(xiàn)直播視頻同步的播放器客戶端,所述播放器客戶端與視頻服務(wù)器保持通信連接,所述播放器客戶端用于與所述視頻服務(wù)器中的視頻編號保持同步,其中,每個所述視頻編號與一個視頻片段相關(guān)聯(lián);從所述視頻服務(wù)器中下載待播放的視頻片段;根據(jù)最新同步的第一編號、完成下載的最新視頻片段的第二編號以及當(dāng)前正在播放的視頻片段的第三編號,確定待跳轉(zhuǎn)的目標(biāo)視頻片段,并從當(dāng)前正在播放的視頻片段跳轉(zhuǎn)至所述目標(biāo)視頻片段以繼續(xù)播放。

另一方面,一種實現(xiàn)直播視頻同步的系統(tǒng),所述系統(tǒng)包括直播視頻源、視頻服務(wù)器以及播放器客戶端,所述直播視頻源用于向所述視頻服務(wù)器推送視頻流;所述視頻服務(wù)器用于將所述視頻流進(jìn)行切片,并按照時間順序為切片后的視頻片段設(shè)置視頻編號;所述播放器客戶端用于與所述視頻服務(wù)器中的視頻編號保持同步,其中,每個所述視頻編號與一個視頻片段相關(guān)聯(lián);從所述視頻服務(wù)器中下載待播放的視頻片段;根據(jù)最新同步的第一編號、完成下載的最新視頻片段的第二編號以及當(dāng)前正在播放的視頻片段的第三編號,確定待跳轉(zhuǎn)的目標(biāo)視頻片段,并從當(dāng)前正在播放的視頻片段跳轉(zhuǎn)至所述目標(biāo)視頻片段以繼續(xù)播放。

另一方面,一種實現(xiàn)直播視頻同步的方法,所述方法包括:直播視頻源向視頻服務(wù)器推送視頻流;所述視頻服務(wù)器將所述視頻流進(jìn)行切片,并按照時間順序為切片后的視頻片段設(shè)置視頻編號;播放器客戶端與所述視頻服務(wù)器中的視頻編號保持同步,并從所述視頻服務(wù)器中下載待播放的視頻片段;所述播放器客戶端根據(jù)最新同步的第一編號、完成下載的最新視頻片段的第二編號以及當(dāng)前正在播放的視頻片段的第三編號,確定待跳轉(zhuǎn)的目標(biāo)視頻片段,并從當(dāng)前正在播放的視頻片段跳轉(zhuǎn)至所述目標(biāo)視頻片段以繼續(xù)播放。

由上可見,在本申請中,視頻服務(wù)器可以按照時間順序?qū)⒅辈ヒ曨l源推送的視頻流進(jìn)行切片和編號,這樣,根據(jù)視頻片段的編號,便可以確定視頻片段在整個視頻流中所處的位置。播放器客戶端在播放直播內(nèi)容時,可以與視頻服務(wù)器保持視頻編號的同步,這樣,在播放器客戶端中可以存儲最新同步的第一編號。此外,播放器客戶端在從視頻服務(wù)器中下載視頻片段時,同樣可以記錄最新完成下載的視頻片段的第二編號。同時,在播放器客戶端按照順序播放視頻片段時,可以記錄當(dāng)前正在播放的視頻片段的第三編號。在本申請中,對上述的第一編號、第二編號以及第三編號進(jìn)行分析后,可以確定出當(dāng)前應(yīng)當(dāng)播放的目標(biāo)視頻片段。這樣確定出的目標(biāo)視頻片段可以與視頻服務(wù)器中最新完成編號的視頻片段之間保持一定的延時。因此,在確定出所述目標(biāo)視頻片段后,可以直接從當(dāng)前正在播放的視頻片段跳轉(zhuǎn)至所述目標(biāo)視頻片段,從而能夠時刻保證當(dāng)前正在播放的視頻片段與最新完成編號的視頻片段之間存在一定的延時。這樣,能夠使得播放器客戶端始終處于播放狀態(tài),不會由于獲取不到視頻數(shù)據(jù)而向視頻服務(wù)器發(fā)送回源請求,從而減輕了視頻服務(wù)器的負(fù)載。此外,由于當(dāng)前正在播放的視頻片段與最新完成編號的視頻片段之間始終存在一定的延時,從而使得直播視頻源推送的視頻流在視頻服務(wù)器中有足夠的時間完成審核,從而保證了播放器客戶端播出的內(nèi)容均為合法的內(nèi)容。而且,在播放客戶端出現(xiàn)網(wǎng)絡(luò)抖動導(dǎo)致卡頓時,播放器可以自動的跳轉(zhuǎn)到新的目標(biāo)視頻片段進(jìn)行播放下載,避免了客戶端因為網(wǎng)絡(luò)抖動越播越慢,有效的提升了用戶體驗。

附圖說明

為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實施例一中實現(xiàn)直播視頻同步的系統(tǒng)架構(gòu)示意圖;

圖2是本發(fā)明實施例一中視頻切片的示意圖;

圖3是本發(fā)明實施例三中實現(xiàn)直播視頻同步的方法流程圖。

具體實施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。

實施例一

本申請?zhí)峁┮环N實現(xiàn)直播視頻同步的系統(tǒng),請參閱圖1,所述系統(tǒng)可以包括直播視頻源100、視頻服務(wù)器200以及播放器客戶端300。其中,所述直播視頻源可以是發(fā)布直播內(nèi)容的主播客戶端。所述直播視頻源可以是具備攝像功能和網(wǎng)絡(luò)通信功能的電子設(shè)備。例如,所述直播視頻源可以是計算機(臺式電腦、筆記本電腦)、智能手機、平板電腦、智能可穿戴設(shè)備等。所述視頻服務(wù)器可以是直播平臺的業(yè)務(wù)服務(wù)器。例如,所述視頻服務(wù)器可以是斗魚、虎牙、戰(zhàn)旗等直播平臺的后臺服務(wù)器。所述播放器客戶端可以是用戶使用的具備視頻播放功能的電子設(shè)備。例如,所述播放器客戶端同樣可以是計算機(臺式電腦、筆記本電腦)、智能手機、平板電腦、智能可穿戴設(shè)備等。所述播放器客戶端還可以是安裝于上述電子設(shè)備中的軟件。例如,所述播放器客戶端可以是斗魚、虎牙、戰(zhàn)旗等直播平臺在手機中的應(yīng)用(application,app)。

在本實施方式中,所述直播視頻源可以用于向所述視頻服務(wù)器推送視頻流。所述視頻服務(wù)器在接收到所述視頻流之后,可以將所述視頻流進(jìn)行切片。具體地,請參閱圖2,所述視頻服務(wù)器可以按照固定的時間間隔或者固定的幀數(shù)對所述視頻流進(jìn)行切片。例如,所述視頻服務(wù)器可以每20秒劃分一個視頻片段,或者每100幀劃分一個視頻片段。這樣,視頻服務(wù)器便可以將接收到的視頻流劃分為多個視頻片段。在本實施方式中,在劃分視頻片段時,還可以按照時間順序為切片后的視頻片段設(shè)置視頻編號。具體地,所述時間順序可以是視頻流的播放順序,播放時間越靠后的視頻片段,其對應(yīng)的視頻編號也可以越大。

請參閱圖1,在本實施方式中,所述視頻服務(wù)器200中可以包括視頻流接收單元201、審核處理單元202以及視頻編號單元203,其中,所述視頻流接收單元201可以用于接收所述直播視頻源發(fā)來的所述視頻流,并將所述視頻流分別發(fā)送至所述審核處理單元202和所述視頻編號單元203處。所述視頻編號單元203可以用于將所述視頻流進(jìn)行切片,并按照時間順序為切片后的視頻片段設(shè)置視頻編號。所述審核處理單元202可以用于識別所述視頻流中每一幀的內(nèi)容,以判斷所述視頻流中是否出現(xiàn)違禁內(nèi)容。具體地,所述審核處理單元202可以將每一幀中的內(nèi)容與違禁內(nèi)容數(shù)據(jù)庫中的內(nèi)容進(jìn)行對比,當(dāng)相似度超過指定閾值時,則可以判定當(dāng)前幀中的內(nèi)容存在違禁內(nèi)容。在實際應(yīng)用過程中,可以提取每一幀的特征向量,該特征向量中的各個元素例如可以是一幀畫面中各個像素點的像素值。同時,違禁內(nèi)容數(shù)據(jù)庫中的畫面也可以通過特征向量的形式進(jìn)行表示。這樣,在提取出每一幀對應(yīng)的特征向量后,可以計算每一幀的特征向量與各個違禁內(nèi)容的特征向量之間的空間距離。若計算的空間距離小于指定距離閾值,則表明兩者的相似度較高,可以將該幀畫面的內(nèi)容判定為違禁內(nèi)容。

在本實施方式中,所述播放器客戶端300可以包括編號同步單元301、視頻下載單元302以及視頻播放單元303。

其中,所述編號同步單元301可以用于從所述視頻服務(wù)器中讀取生成的視頻編號,并存儲讀取的所述視頻編號。這樣,所述播放器客戶端便可以與所述視頻服務(wù)器中的視頻編號保持同步。

所述視頻下載單元302可以按照視頻編號從小到大的順序,依次從所述視頻服務(wù)器中下載完成切片的視頻片段,并存儲下載的所述視頻片段。所述視頻下載單元下載的視頻片段可以由所述視頻播放單元進(jìn)行播放。具體地,所述視頻播放單元可以按照視頻編號從小到大的順序,依次從所述視頻下載單元中讀取并播放完成下載的視頻片段。例如,視頻播放單元在讀取完視頻編號為1的視頻片段后,可以播放該視頻編號為1的視頻片段。同時還可以繼續(xù)讀取視頻編號為2的視頻片段。

在本實施方式中,所述播放器客戶端300中還可以包括追幀單元304,所述追幀單元304可以接收所述編號同步單元發(fā)來的最新同步的第一編號n1、接收所述視頻下載單元發(fā)來的完成下載的最新視頻片段的第二編號n2并且接收所述視頻播放單元發(fā)來的當(dāng)前正在播放的視頻片段的第三編號n3。第一編號n1是指視頻服務(wù)器最新的視頻片段編號。在實際應(yīng)用過程中,n1通常會大于n2。原因在于,同步編號的過程中僅需要傳輸表征編號的報文,數(shù)據(jù)量非常小,因此同步編號的速度相當(dāng)快。而下載視頻片段的過程中涉及的視頻片段的數(shù)據(jù)量比較大,因此下載視頻片段的速度會比較慢。這樣,播放器客戶端可以在較短的時間內(nèi)完成同步視頻編號的過程,從而導(dǎo)致最新同步的視頻片段的編號往往會大于最新完成下載的視頻片段的編號。在實際應(yīng)用過程中,n2通常會大于或者等于n3。原因在于,視頻播放單元是從視頻下載單元中讀取視頻片段,因此視頻播放單元播放的視頻片段的編號始終不會大于視頻下載單元中最新完成下載的視頻片段的編號。

在實際應(yīng)用場景中,當(dāng)網(wǎng)絡(luò)出現(xiàn)波動時,至少會出現(xiàn)以下幾種情況:

1)直播視頻源與視頻服務(wù)器之間出現(xiàn)網(wǎng)絡(luò)波動,導(dǎo)致視頻流無法及時上傳至視頻服務(wù)器。在這種情況下,由于視頻流停止或者放緩,導(dǎo)致視頻編號的速度也會停止或者放緩。這樣,n1的增長速度便會停止或者放緩。而由于播放器客戶端與視頻服務(wù)器之間網(wǎng)絡(luò)正常,因此n2和n3都會按照正常的速度在增長。這樣,n2會逐漸逼近n1,直至與n1相等時,播放器客戶端便無法再從視頻服務(wù)器處獲取數(shù)據(jù),此時可能會引發(fā)播放器客戶端向視頻服務(wù)器發(fā)起無效回源請求。

2)視頻服務(wù)器與播放器客戶端之間出現(xiàn)網(wǎng)絡(luò)波動,導(dǎo)致播放器客戶端無法及時地下載視頻片段。此時,由于視頻編號同步時設(shè)計的數(shù)據(jù)量較小,因此n1的增長速度并不會受到太大影響,n1會正常增長。而由于下載速度變慢,從而導(dǎo)致n2的增長速度放緩。由于在播放器客戶端中會按照正常的速度播放已經(jīng)下載的視頻片段,因此n3的增長速度也會正常。這樣會導(dǎo)致n1和n2之間的差距越來越大,而n2與n3之間的差距越來越小。當(dāng)n3與n2相等時,用戶觀看的畫面便會頻繁地卡頓,原因在于只有在下載完視頻片段后才能向用戶播放。這樣的情況盡管不會導(dǎo)致發(fā)起無效回源請求,但是會嚴(yán)重影響用戶的觀看體驗。此外,就算網(wǎng)絡(luò)恢復(fù)正常,n1和n2之間的差距也已經(jīng)變得很大,這樣導(dǎo)致的問題就是用戶觀看到的內(nèi)容會與主播當(dāng)前實際錄制的內(nèi)容存在相當(dāng)大的延時,失去了直播的意義。

上述的兩種情況只是本申請中的例舉,并非表示實際場景中僅會存在上述兩種情況。

鑒于此,本申請中的播放器客戶端可以根據(jù)第一編號、第二編號以及第三編號,確定待跳轉(zhuǎn)的目標(biāo)視頻片段。所述目標(biāo)視頻片段可能與當(dāng)前正在播出的視頻片段之間存在一定的間隔,因此,在確定出所述目標(biāo)視頻片段之后,可以從當(dāng)前正在播放的視頻片段跳轉(zhuǎn)至所述目標(biāo)視頻片段以繼續(xù)播放。這樣處理的目的在于,始終保持當(dāng)前正在播出的視頻片段與最新完成編號的視頻片段之間相隔一定的間距,一方面保證不會由于沒有視頻片段播放而產(chǎn)生無效回源請求,另一方面還可以保證用戶觀看直播視頻的實時性,再者還能使得視頻服務(wù)器中有足夠的時間完成視頻流的審核過程。

在本實施方式中,所述追幀單元304可以基于所述第一編號、所述第二編號以及所述第三編號,確定追幀信息;其中,所述追幀信息中包括追幀方式和/或目標(biāo)視頻片段的編號;所述追幀方式包括后退追幀或者前進(jìn)追幀。

具體地,所述追幀方式可以通過數(shù)值來表示,例如,1可以表示前進(jìn)追幀,-1可以表示后退追幀,0可以表示不追幀。在本實施方式中,所述追幀單元中可以包括追幀方式確定模塊,所述追幀方式確定模塊可以根據(jù)所述第一編號、所述第二編號以及所述第三編號計算追幀值。具體地,在本實施方式中可以通過函數(shù)擬合的方式來計算追幀值。例如,所述函數(shù)擬合后的結(jié)果可以是:

x=a·n1+b·n2+c·n3+d

其中,x表示所述追幀值,a、b、c分別為擬合系數(shù),d表示偏置值。

在本實施方式中,所述擬合系數(shù)和偏置值均可以為常數(shù),例如,所述擬合系數(shù)可以分別為1、-1和0,所述偏置值也可以為0。這樣,假設(shè)n1(參數(shù)值,下文同)為30,n2(參數(shù)值,下文同)為15,n3(參數(shù)值,下文同)為13,那么計算出的追幀值可以為15。在本實施例中,第一閾值和第二閾值的含義是指,下載第二編號和視頻服務(wù)器第一編號之間的差值的最大值和最小值。

在本實施方式中,可以將所述追幀值分別與第一閾值和第二閾值進(jìn)行對比,其中,所述第一閾值大于所述第二閾值;當(dāng)所述追幀值大于所述第一閾值時,確定當(dāng)前采用前進(jìn)追幀的方式,以減小所述第一編號和所述第三編號之間的差值;當(dāng)所述追幀值小于所述第二閾值時,確定當(dāng)前采用后退追幀的方式,以增加所述第一編號和所述第三編號之間的差值。而當(dāng)所述追幀值處于第一閾值和第二閾值之間時,便可以不進(jìn)行追幀操作。

例如,所述第一閾值可以為10,所述第二閾值可以為3,這樣,上述計算出的追幀值為15,大于第一閾值,從而可以確定當(dāng)前采用前進(jìn)追幀的方式。這樣處理的目的在于,視頻片段的最新編號為30,而最新完成下載的視頻片段的編號僅為15,當(dāng)前正在播放的視頻片段的編號僅為13,表明當(dāng)前正在下載的視頻片段與主播實際錄制的視頻片段之間相差太大了,直播已經(jīng)不具備實時性了,此時可以直接前進(jìn)追幀,從距離n1較近的視頻片段處開始播放,從而保證直播視頻的實時性。由此可見,這種方式可以解決上述的情況2)中產(chǎn)生的直播失去實時性的問題。

在另一個例子中,假設(shè)n1為30,n2為28,n3為26,那么計算出的追幀值可以為2,小于第二閾值,從而可以確定當(dāng)前采用后退追幀的方式。這樣處理的目的在于,視頻片段的最新編號為30,而最新完成下載的視頻片段的編號已達(dá)到28,當(dāng)前正在播放的視頻片段的編號也已經(jīng)達(dá)到26,表明當(dāng)前正在播放的視頻片段已經(jīng)十分接近主播推送的最新視頻片段。這樣的話,主播推送的視頻片段很有可能來不及審核就被播放出去了,甚至?xí)霈F(xiàn)n2逼近n1的情況,導(dǎo)致無效回源請求的發(fā)生。這樣,按照本申請的方案,可以采用后退追幀的方式,從距離n1較遠(yuǎn)的視頻片段處開始播放,從而使得當(dāng)前正在播放的視頻片段與主播最新推送的視頻片段之間保持一定的距離,不僅為視頻片段的審核爭取了時間,也避免了由于無內(nèi)容可播時導(dǎo)致的無效回源請求的發(fā)生。

在本實施方式中,在確定了追幀方式之后,還可以進(jìn)一步確定追幀之后的目標(biāo)視頻片段。具體地,所述追幀單元中可以包括目標(biāo)視頻片段確定模塊,所述目標(biāo)視頻片段確定模塊可以用于根據(jù)所述第一編號、所述第二編號以及所述第三編號計算目標(biāo)編號,按照所述追幀方式追趕所述目標(biāo)編號,并將所述目標(biāo)編號對應(yīng)的視頻片段作為所述目標(biāo)視頻片段。在本實施方式中同樣可以通過函數(shù)擬合的方式來計算所述目標(biāo)編號。例如,所述函數(shù)擬合后的結(jié)果可以是:

y=d·n1+e·n2+f·n3-h

其中,y表示所述目標(biāo)編號,d、e、f分別為擬合系數(shù),h表示指定延時參數(shù)。

在本實施方式中,所述擬合系數(shù)和指定延時參數(shù)均可以為常數(shù),例如,所述擬合系數(shù)可以分別為1、0和0,所述指定延時參數(shù)可以為6。這樣,假設(shè)n1為30,n2為15,n3為13,那么計算出的目標(biāo)編號可以為30-6=24。由上可知,需要追趕至視頻編號為24的視頻片段處。這樣,可以從視頻編號為24的視頻片段處開始下載和播放的過程,從而縮小當(dāng)前正在播放的視頻片段與最新完成編號的視頻片段之間的距離,以保證直播視頻的實時性。

需要說明的是,上述的目標(biāo)編號是根據(jù)指定延時參數(shù)進(jìn)行延時的編號。在實際應(yīng)用過程中,所述指定延時參數(shù)也可以為0,本申請對此并不做限定。也就是說,所述目標(biāo)視頻片段確定模塊可以根據(jù)所述第一編號、所述第二編號以及所述第三編號計算目標(biāo)編號,按照所述追幀方式追趕所述目標(biāo)編號,并將所述目標(biāo)編號對應(yīng)的視頻片段作為所述目標(biāo)視頻片段;還可以在計算出的所述目標(biāo)編號的基礎(chǔ)上減去指定延時參數(shù),得到經(jīng)過延時的目標(biāo)編號,按照所述追幀方式追趕所述經(jīng)過延時的目標(biāo)編號,并將所述經(jīng)過延時的目標(biāo)編號對應(yīng)的視頻片段作為所述目標(biāo)視頻片段。

在本實施方式中,在確定出目標(biāo)視頻片段后,如果所述目標(biāo)視頻片段與當(dāng)前正在播放的視頻片段的編號不同,則可以從當(dāng)前正在播放的視頻片段跳轉(zhuǎn)至所述目標(biāo)視頻片段以繼續(xù)播放。

在本實施方式中,所述追幀單元還可以用于將所述目標(biāo)視頻片段的編號發(fā)送至所述視頻下載單元,這樣,所述視頻下載單元便可以按照所述追幀方式定位至所述目標(biāo)視頻片段的編號處,并從所述目標(biāo)視頻片段的編號處開始下載視頻片段。

需要說明的是,為了保證視頻直播的合法性,當(dāng)本申請中的審核處理單元識別出的內(nèi)容屬于違禁內(nèi)容時,所述審核處理單元可以向所述視頻編號單元以及所述播放器客戶端發(fā)送停止指令,以使得所述視頻編號單元停止切片和編號的操作,并使得所述播放器客戶端停止播放視頻。

實施例二

本申請還提供一種實現(xiàn)直播視頻同步的播放器客戶端,所述播放器客戶端與視頻服務(wù)器保持通信連接,所述播放器客戶端用于與所述視頻服務(wù)器中的視頻編號保持同步,其中,每個所述視頻編號與一個視頻片段相關(guān)聯(lián);從所述視頻服務(wù)器中下載待播放的視頻片段;根據(jù)最新同步的第一編號、完成下載的最新視頻片段的第二編號以及當(dāng)前正在播放的視頻片段的第三編號,確定待跳轉(zhuǎn)的目標(biāo)視頻片段,并從當(dāng)前正在播放的視頻片段跳轉(zhuǎn)至所述目標(biāo)視頻片段以繼續(xù)播放。

在本實施方式中,所述播放器客戶端包括編號同步單元、視頻下載單元以及視頻播放單元,其中:

所述編號同步單元,用于從所述視頻服務(wù)器中讀取生成的視頻編號,并存儲讀取的所述視頻編號;

所述視頻下載單元,用于按照視頻編號從小到大的順序,依次從所述視頻服務(wù)器中下載完成切片的視頻片段,并存儲下載的所述視頻片段;

所述視頻播放單元,用于從所述視頻下載單元中讀取并播放完成下載的視頻片段。

在本實施方式中,所述播放器客戶端中還包括追幀單元,所述追幀單元用于接收所述編號同步單元發(fā)來的最新同步的第一編號、接收所述視頻下載單元發(fā)來的完成下載的最新視頻片段的第二編號并且接收所述視頻播放單元發(fā)來的當(dāng)前正在播放的視頻片段的第三編號;基于所述第一編號、所述第二編號以及所述第三編號,確定追幀信息;所述追幀信息中包括追幀方式和/或目標(biāo)視頻片段的編號;所述追幀方式包括后退追幀或者前進(jìn)追幀。

在本實施方式中,所述追幀單元中包括追幀方式確定模塊,所述追幀方式確定模塊用于根據(jù)所述第一編號、所述第二編號以及所述第三編號計算追幀值,并將所述追幀值分別與第一閾值和第二閾值進(jìn)行對比,其中,所述第一閾值大于所述第二閾值;當(dāng)所述追幀值大于所述第一閾值時,確定當(dāng)前采用前進(jìn)追幀的方式,以減小所述第一編號和所述第三編號之間的差值;當(dāng)所述追幀值小于所述第二閾值時,確定當(dāng)前采用后退追幀的方式,以增加所述第一編號和所述第三編號之間的差值。

在本實施方式中,所述追幀單元中還包括目標(biāo)視頻片段確定模塊,所述目標(biāo)視頻片段確定模塊用于根據(jù)所述第一編號、所述第二編號以及所述第三編號計算目標(biāo)編號,按照所述追幀方式追趕所述目標(biāo)編號,并將所述目標(biāo)編號對應(yīng)的視頻片段作為所述目標(biāo)視頻片段。

在本實施方式中,所述目標(biāo)視頻片段確定模塊還包括延時參數(shù)設(shè)定模塊,用于在計算出的所述目標(biāo)編號的基礎(chǔ)上減去指定延時參數(shù),得到經(jīng)過延時的目標(biāo)編號,按照所述追幀方式追趕所述經(jīng)過延時的目標(biāo)編號,并將所述目標(biāo)編號對應(yīng)的視頻片段作為所述目標(biāo)視頻片段。

在本實施方式中,所述追幀單元還用于將所述追幀方式和/或所述目標(biāo)視頻片段的編號發(fā)送至所述視頻下載單元;

相應(yīng)地,所述視頻下載單元還用于按照所述追幀方式定位至所述目標(biāo)視頻片段的編號處,并從所述目標(biāo)視頻片段的編號處開始下載視頻片段。

實施例三

請參閱圖3,本申請還提供一種實現(xiàn)直播視頻同步的方法,所述方法包括:

s1:直播視頻源向視頻服務(wù)器推送視頻流;

s2:所述視頻服務(wù)器將所述視頻流進(jìn)行切片,并按照時間順序為切片后的視頻片段設(shè)置視頻編號;

s3:播放器客戶端與所述視頻服務(wù)器中的視頻編號保持同步,并從所述視頻服務(wù)器中下載待播放的視頻片段;

s4:所述播放器客戶端根據(jù)最新同步的第一編號、完成下載的最新視頻片段的第二編號以及當(dāng)前正在播放的視頻片段的第三編號,確定待跳轉(zhuǎn)的目標(biāo)視頻片段,并從當(dāng)前正在播放的視頻片段跳轉(zhuǎn)至所述目標(biāo)視頻片段以繼續(xù)播放。

在本實施方式中,所述方法還包括:

所述播放器客戶端基于所述第一編號、所述第二編號以及所述第三編號,確定追幀信息;所述追幀信息中包括追幀方式和/或目標(biāo)視頻片段的編號;所述追幀方式包括后退追幀或者前進(jìn)追幀。

在本實施方式中,所述追幀方式按照下述方式確定:

根據(jù)所述第一編號、所述第二編號以及所述第三編號計算追幀值,并將所述追幀值分別與第一閾值和第二閾值進(jìn)行對比,其中,所述第一閾值大于所述第二閾值;

當(dāng)所述追幀值大于所述第一閾值時,確定當(dāng)前采用前進(jìn)追幀的方式,以減小所述第一編號和所述第三編號之間的差值;當(dāng)所述追幀值小于所述第二閾值時,確定當(dāng)前采用后退追幀的方式,以增加所述第一編號和所述第三編號之間的差值。

在本實施方式中,所述目標(biāo)視頻片段按照下述方式確定:

根據(jù)所述第一編號、所述第二編號以及所述第三編號計算目標(biāo)編號,按照所述追幀方式追趕所述目標(biāo)編號,并將所述目標(biāo)編號對應(yīng)的視頻片段作為所述目標(biāo)視頻片段。

在本實施方式中,所述方法還包括:

在計算出的所述目標(biāo)編號的基礎(chǔ)上減去指定延時參數(shù),得到經(jīng)過延時的目標(biāo)編號,并按照所述追幀方式追趕所述經(jīng)過延時的目標(biāo)編號,將所述目標(biāo)編號對應(yīng)的視頻片段作為所述目標(biāo)視頻片段。

在本實施方式中,所述方法還包括:

按照所述追幀方式定位至所述目標(biāo)視頻片段的編號處,并從所述目標(biāo)視頻片段的編號處開始下載視頻片段。

由上可見,在本申請中,視頻服務(wù)器可以按照時間順序?qū)⒅辈ヒ曨l源推送的視頻流進(jìn)行切片和編號,這樣,根據(jù)視頻片段的編號,便可以確定視頻片段在整個視頻流中所處的位置。播放器客戶端在播放直播內(nèi)容時,可以與視頻服務(wù)器保持視頻編號的同步,這樣,在播放器客戶端中可以存儲最新同步的第一編號。此外,播放器客戶端在從視頻服務(wù)器中下載視頻片段時,同樣可以記錄最新完成下載的視頻片段的第二編號。同時,在播放器客戶端按照順序播放視頻片段時,可以記錄當(dāng)前正在播放的視頻片段的第三編號。在本申請中,對上述的第一編號、第二編號以及第三編號進(jìn)行分析后,可以確定出當(dāng)前應(yīng)當(dāng)播放的目標(biāo)視頻片段。這樣確定出的目標(biāo)視頻片段可以與視頻服務(wù)器中最新完成編號的視頻片段之間保持一定的延時。因此,在確定出所述目標(biāo)視頻片段后,可以直接從當(dāng)前正在播放的視頻片段跳轉(zhuǎn)至所述目標(biāo)視頻片段,從而能夠時刻保證當(dāng)前正在播放的視頻片段與最新完成編號的視頻片段之間存在一定的延時。這樣,能夠使得播放器客戶端始終處于播放狀態(tài),不會由于獲取不到視頻數(shù)據(jù)而向視頻服務(wù)器發(fā)送無效回源請求,從而減輕了視頻服務(wù)器的負(fù)載。此外,由于當(dāng)前正在播放的視頻片段與最新完成編號的視頻片段之間始終存在一定的延時,從而使得直播視頻源推送的視頻流在視頻服務(wù)器中有足夠的時間完成審核,從而保證了播放器客戶端播出的內(nèi)容均為合法的內(nèi)容。而且,在播放客戶端出現(xiàn)網(wǎng)絡(luò)抖動導(dǎo)致卡頓時,播放器可以自動的跳轉(zhuǎn)到新的目標(biāo)視頻片段進(jìn)行播放下載,避免了客戶端因為網(wǎng)絡(luò)抖動越播越慢,有效的提升了用戶體驗。

上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。

以上所描述的系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。

通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。

以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
山东省| 宜兰市| 朝阳市| 疏附县| 新源县| 综艺| 富川| 正安县| 塔城市| 金沙县| 吕梁市| 东光县| 中卫市| 望江县| 安福县| 鹿邑县| 瑞金市| 阳泉市| 仁寿县| 玉屏| 深州市| 沙坪坝区| 海林市| 兖州市| 潞城市| 玛多县| 平凉市| 邻水| 宁波市| 麦盖提县| 余干县| 怀安县| 罗甸县| 乾安县| 开阳县| 青龙| 正宁县| 巴塘县| 六安市| 故城县| 苏尼特左旗|