多屏同步播放方法、系統(tǒng)及相關(guān)裝置制造方法
【專利摘要】本發(fā)明涉及一種多屏同步播放方法、系統(tǒng)及相關(guān)裝置,該方法包括:向各客戶端發(fā)送同步播放指令,以使各個客戶端響應(yīng)所述同步播放指令而啟動播放;定時向各個客戶端發(fā)送同步校驗包,以使各個客戶端將當前播放時長與同步校驗包中的播放時長比對,以及當各個客戶端當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),判斷為播放同步,控制各客戶端繼續(xù)播放;當某個或某幾個客戶端當前播放時長與同步校驗包中的播放時長超過同步允許范圍,判斷播放不同步,則控制各客戶端調(diào)整各自對應(yīng)的當前播放時長至與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放,如此,實現(xiàn)多屏同步播放,同時達到更好的同步效果以及適應(yīng)更多類型視頻格式。
【專利說明】多屏同步播放方法、系統(tǒng)及相關(guān)裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻處理【技術(shù)領(lǐng)域】,特別涉及一種多屏同步播放方法、系統(tǒng)及相關(guān)裝置。
【背景技術(shù)】
[0002]隨著科學技術(shù)的高速發(fā)展,社會越來越信息化、智能化,多媒體的應(yīng)用越來越廣泛,并對其的發(fā)展提出更多更高的要求。例如在某些戶外、展廳或其他公共場所,需要多個顯示屏同時播放同一視頻文件,因此,給業(yè)內(nèi)提出多屏同步控制的技術(shù)問題。
[0003]作為該領(lǐng)域中,常用的多屏同步控制大多都取用幀比較方式來控制多屏同步的,然而,這種方式只能適用于少類型格式,也就是說其適用性較差,同時,這種幀比較控制方式,在通信時是全體性進行比較前進的方式,會影響到播放的流暢,其同步效果較差。
【發(fā)明內(nèi)容】
[0004]本發(fā)明旨在至少解決上述現(xiàn)有技術(shù)存在的技術(shù)問題之一。
[0005]為此,本發(fā)明的目的在于提供一種多屏同步播放方法、系統(tǒng)及相關(guān)裝置,以實現(xiàn)多屏同步播放,同時達到更好的同步效果以及適應(yīng)更多類型視頻格式。
[0006]為實現(xiàn)上述目的,第一方面,本發(fā)明提供的多屏同步播放方法包括:
[0007]與各個客戶端建立連接;
[0008]向各客戶端發(fā)送同步播放指令,以使各個客戶端響應(yīng)所述同步播放指令而啟動播放;
[0009]定時向各個客戶端發(fā)送同步校驗包,以使各個客戶端將當前播放時長與同步校驗包中的播放時長比對,以及
[0010]當各個客戶端當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),判斷為各個客戶%5播放冋步,控制各客戶%5繼續(xù)播放;
[0011 ]當某個或某幾個客戶端當前播放時長與同步校驗包中的播放時長超過同步允許范圍,判斷各個客戶端播放不同步,則控制各客戶端調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放。
[0012]優(yōu)選地,在與各個客戶端建立連接之后,該方法還包括:
[0013]向客戶端發(fā)送身份簽到請求,以使所述客戶端響應(yīng)所述身份簽到請求進行身份簽到。
[0014]優(yōu)選地,在向客戶端發(fā)送身份簽到請求,以使所述客戶端相應(yīng)所述身份簽到請求進行身份簽到之后,該方法還包括:
[0015]向客戶端發(fā)送時鐘校正命令,以使所述客戶端將自身的時鐘校正為與服務(wù)器端的時鐘一致。
[0016]優(yōu)選地,在向各客戶端發(fā)送同步播放指令,以使各個客戶端響應(yīng)所述同步播放指令而啟動播放之后,該方法還包括:
[0017]向客戶端發(fā)送暫停指令,以使客戶端處于暫停狀態(tài);
[0018]向客戶端發(fā)送狀態(tài)請求,以獲取客戶端當前狀態(tài),當所有客戶端均處于暫停狀態(tài)時,發(fā)送繼續(xù)播放命令至各個客戶端,使各個客戶端繼續(xù)播放,當某個或某幾個客戶端未處于暫停狀態(tài),則定時繼續(xù)發(fā)送狀態(tài)請求,如果在預(yù)定次數(shù)的狀態(tài)請求內(nèi),所有客戶端均處于暫停狀態(tài),則發(fā)送繼續(xù)播放命令至各個客戶端,使各個客戶端繼續(xù)播放,否則,重新發(fā)送同步播放指令。
[0019]優(yōu)選地,所述播放采用K-Lite解碼器解碼播放。
[0020]為實現(xiàn)上述目的,第二方面,本發(fā)明提供的服務(wù)器端,包括:
[0021]連接模塊,與各個客戶端建立連接;
[0022]同步播放指令發(fā)送模塊,向各客戶端發(fā)送同步播放指令,以使各個客戶端響應(yīng)所述同步播放指令而啟動播放;
[0023]同步校驗包發(fā)送模塊,定時向各個客戶端發(fā)送同步校驗包,以使各個客戶端將當前播放時長與同步校驗包中的播放時長比對,以及
[0024]同步控制模塊,用于當各個客戶端當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),判斷為各個客戶端播放同步,控制各客戶端繼續(xù)播放;當某個或某幾個客戶端當前播放時長與同步校驗包中的播放時長超過同步允許范圍,判斷各個客戶端播放不同步,則控制各客戶端調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放。
[0025]優(yōu)選地,該服務(wù)器端還包括:
[0026]簽到請求模塊,用于向客戶端發(fā)送身份簽到請求,以使所述客戶端響應(yīng)所述身份簽到請求進行身份簽到。
[0027]優(yōu)選地,該服務(wù)器端還包括:
[0028]時鐘校正請求模塊,用于向客戶端發(fā)送時鐘校正命令,以使所述客戶端將自身的時鐘校正為與服務(wù)器端的時鐘一致。
[0029]優(yōu)選地,該服務(wù)器端還包括:
[0030]暫停指令發(fā)送模塊,用于向客戶端發(fā)送暫停指令,以使客戶端處于暫停狀態(tài);
[0031]狀態(tài)控制模塊,用于向客戶端發(fā)送狀態(tài)請求,以獲取客戶端當前狀態(tài);當所有客戶端均處于暫停狀態(tài)時,發(fā)送繼續(xù)播放命令至各個客戶端,使各個客戶端繼續(xù)播放;當某個或某幾個客戶端未處于暫停狀態(tài),則定時繼續(xù)發(fā)送狀態(tài)請求,如果在預(yù)定次數(shù)的狀態(tài)請求內(nèi),所有客戶端均處于暫停狀態(tài),則繼續(xù)播放命令至各個客戶端,使各個客戶端繼續(xù)播放,否貝U,重新發(fā)送同步播放指令。
[0032]為實現(xiàn)上述目的,第三方面,本發(fā)明提供的多屏同步播放系統(tǒng),包括如上所述的服務(wù)器端及多個客戶端,
[0033]客戶端用于接收并響應(yīng)服務(wù)器端發(fā)送的同步播放指令而啟動播放;
[0034]還用于接收服務(wù)器端發(fā)送的同步校驗包,并將當前播放時長與同步校驗包中的播放時長比對;以及
[0035]當各個客戶端當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),判斷為各個客戶端播放同步,則在服務(wù)器端的控制下繼續(xù)播放;當某個或某幾個客戶端當前播放時長與同步校驗包中的播放時長超過同步允許范圍,判斷各個客戶端播放不同步,則在服務(wù)器端的控制下調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放。
[0036]根據(jù)本發(fā)明提供的多屏同步播放方法、系統(tǒng)及相關(guān)裝置,通過服務(wù)器端定時向各個客戶端發(fā)送同步校驗包,使各個客戶端將當前播放時長與校驗包中播放時長進行比較,判斷各個客戶端將當前播放時長與校驗包中播放時長是否在同步允許范圍內(nèi),若各個客戶端均在同步允許范圍內(nèi),則控制各客戶端繼續(xù)播放;若某個或某幾個客戶端超過同步允許范圍,則控制各客戶端調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放,如此,實現(xiàn)多屏同步播放,由于采用時長比較的方式,所以幾乎適用于所有可播放的媒體文件,有著極廣的適用性,而同步校驗上,以服務(wù)器端的播放時長作為標準衡量播放位置,發(fā)送給各個客戶端與之比較,如果超過同步容許范圍則進行同步調(diào)整,這樣免避了過多的通訊調(diào)整,更好保證播放的流暢性。
【專利附圖】
【附圖說明】
[0037]圖1是本發(fā)明實施例多屏同步播放方法的一種實現(xiàn)方式的流程圖;
圖2是本發(fā)明實施例多屏同步播放方法的另一種實現(xiàn)方式的流程圖;
圖3是本發(fā)明實施例服務(wù)器端的一種結(jié)構(gòu)示意圖;
圖4是本發(fā)明實施例服務(wù)器端的另一種結(jié)構(gòu)示意圖;
圖5是本發(fā)明實施例多屏同步播放系統(tǒng)結(jié)構(gòu)示意圖;
[0038]本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
【具體實施方式】
[0039]以下將結(jié)合附圖及具體實施例詳細說明本發(fā)明的技術(shù)方案,以便更清楚、直觀地理解本發(fā)明的發(fā)明實質(zhì)。
[0040]參照圖1所述,本發(fā)明實施例提供了多屏同步播放方法一種實現(xiàn)流程,為了便于描述,僅示出了與本發(fā)明實施例相關(guān)的部分,該方法是從服務(wù)器端的角度進行描述的,主要是由服務(wù)器端執(zhí)行完成,具體包括以下步驟:
[0041]S101、與各個客戶端建立連接。
[0042]本實施例中,服務(wù)器端與客戶端建立的連接是指網(wǎng)絡(luò)連接,例如服務(wù)器端連接至網(wǎng)絡(luò)設(shè)備,而客戶端接入網(wǎng)絡(luò)即可,服務(wù)器端與客戶端即可在網(wǎng)絡(luò)上通信??梢岳斫獾氖牵蛻舳丝梢允前惭b于戶外、展廳或其他公共場所的播放及顯示設(shè)備。
[0043]S102、向各客戶端發(fā)送同步播放指令,以使各個客戶端響應(yīng)所述同步播放指令而啟動播放。
[0044]也就是,在與各個客戶端建立連接之后,服務(wù)器端根據(jù)用戶選擇即可載入視頻文件,并將該視頻文件傳輸至需要同步播放的客戶端,客戶端根據(jù)同步播放指令,對視頻文件進行解碼播放。
[0045]S103、定時向各個客戶端發(fā)送同步校驗包,以使各個客戶端將當前播放時長與同步校驗包中的播放時長比對。
[0046]可以理解的是,同步校驗包中包含有服務(wù)器端的播放時長,例如服務(wù)器播放至5分22秒位置,則5分22秒即是服務(wù)器的播放時長。當客戶端接收到同步校驗包時,需要客將自身當前播放時長與同步校驗包中播放時長(服務(wù)器的播放時長)例如5分22秒進行比較。
[0047]S104、當各個客戶端當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),判斷為各個客戶端播放同步,控制各客戶端繼續(xù)播放。
[0048]考慮到各個客戶端在接收服務(wù)器端的同步校驗包可能存在一定的時間差,但是該時間差非常小,所以只要各個客戶端當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),則判斷為各個客戶端播放同步。
[0049]當某個或某幾個客戶端當前播放時長與同步校驗包中的播放時長超過同步允許范圍,判斷各個客戶端播放不同步,則控制各客戶端調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放。
[0050]也就是說,在該步驟,當前播放時長與同步校驗包中的播放時長超過同步允許范圍的客戶端,需要將客戶端的播放時長調(diào)整至盡量與同步校驗包中播放時長一致(即在同步允許范圍內(nèi)),即當客戶端的當前播放時長超前時,則將客戶端當前的播放時長向后調(diào)整,而當客戶端的當前播放時長滯后時,則將客戶端當前播放時長向前調(diào)整,這樣就能夠使不同的客戶端恢復(fù)至與其他客戶端同步播放的狀態(tài)。
[0051 ] 換言之,在上述步驟S104和S105中,服務(wù)器端是根據(jù)各個客戶端比較的結(jié)果而控制各個客戶端是否繼續(xù)播放以及是否需要進行播放時長的同步調(diào)整后再繼續(xù)播放。
[0052]可以理解的是,在發(fā)明的一個實施例中,服務(wù)器端及客戶端進行視頻播放時,可采用K-Lite解碼器解碼播放,K-Lite解碼器解碼是一種萬能解碼器,經(jīng)測試能播放幾乎任意流行的格式的媒體文件。
[0053]根據(jù)本實施例提供的多屏同步播放方法,通過服務(wù)器端定時向各個客戶端發(fā)送同步校驗包,使各個客戶端將當前播放時長與校驗包中播放時長進行比較,判斷各個客戶端將當前播放時長與校驗包中播放時長是否在同步允許范圍內(nèi),若各個客戶端均在同步允許范圍內(nèi),則控制各客戶端繼續(xù)播放;若某個或某幾個客戶端超過同步允許范圍,則控制各客戶端調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放,如此,實現(xiàn)多屏同步播放,由于采用時長比較的方式,所以幾乎適用于所有可播放的媒體文件,有著極廣的適用性,而同步校驗上,以服務(wù)器端的播放時長作為標準衡量播放位置,發(fā)送給各個客戶端與之比較,如果超過同步容許范圍則進行同步調(diào)整,這樣免避了過多的通訊調(diào)整,更好保證播放的流暢性。
[0054]參照圖2所示,本發(fā)明的另一個實施例提供了多屏同步播放方法的另一種實現(xiàn)流程,為了便于描述,僅示出了與本發(fā)明實施例相關(guān)的部分,該方法是從服務(wù)器端的角度進行描述的,主要是由服務(wù)器端執(zhí)行完成,具體包括以下步驟:
[0055]S201、與各個客戶端建立連接。
[0056]本實施例中,服務(wù)器端與客戶端建立的連接是指網(wǎng)絡(luò)連接,例如服務(wù)器端連接至網(wǎng)絡(luò)設(shè)備,而客戶端接入網(wǎng)絡(luò)即可,服務(wù)器端與客戶端即可在網(wǎng)絡(luò)上通信??梢岳斫獾氖牵蛻舳丝梢允前惭b于戶外、展廳或其他公共場所的播放及顯示設(shè)備。
[0057]S202、向客戶端發(fā)送身份簽到請求,以使所述客戶端響應(yīng)所述身份簽到請求進行身份簽到。
[0058]S203、向客戶端發(fā)送時鐘校正命令,以使所述客戶端將自身的時鐘校正為與服務(wù)器端的時鐘一致。
[0059]由于服務(wù)器端與各個客戶端的時鐘可能存在不一致的情況,所以,在播放之前將各個客戶端的時鐘與服務(wù)器端的時鐘進行校正統(tǒng)一,有利于后續(xù)同步播放的控制。
[0060]S204、向各客戶端發(fā)送同步播放指令,以使各個客戶端響應(yīng)所述同步播放指令而啟動播放。
[0061]也就是,在與各個客戶端建立連接之后,服務(wù)器端根據(jù)用戶選擇即可載入視頻文件,并將該視頻文件傳輸至需要同步播放的客戶端,客戶端根據(jù)同步播放指令,對視頻文件進行解碼播放。
[0062]S205、向客戶端發(fā)送暫停指令,以使客戶端處于暫停狀態(tài)。
[0063]S206、向客戶端發(fā)送狀態(tài)請求,以獲取客戶端當前狀態(tài),當所有客戶端均處于暫停狀態(tài)時,發(fā)送繼續(xù)播放命令至各個客戶端,使各個客戶端繼續(xù)播放;當某個或某幾個客戶端未處于暫停狀態(tài),則定時繼續(xù)發(fā)送狀態(tài)請求,如果在預(yù)定次數(shù)的狀態(tài)請求內(nèi),所有客戶端均處于暫停狀態(tài),則發(fā)送繼續(xù)播放命令至各個客戶端,使各個客戶端繼續(xù)播放,否則,重新發(fā)送同步播放指令。
[0064]在步驟S205至S206中,先利用服務(wù)器端向客戶端發(fā)送暫停指令,控制客戶端暫停,再通過發(fā)送狀態(tài)請求獲取各個客戶端的狀態(tài),其目的是為了檢測服務(wù)器端與各個客戶端之間的通信狀態(tài),服務(wù)器端是否能夠?qū)Ω鱾€客戶端實時控制,只有在通信正常的情況下,才能利用服務(wù)器端控制各個客戶端同步播放。
[0065]可以理解的是,無論是一次請求后或是預(yù)定次數(shù)請求后,只要未超過預(yù)定次數(shù)的請求,各個客戶端均能夠處于暫停狀態(tài),則繼續(xù)播放,隨之進入S207步驟,繼續(xù)流程;而如果超過了預(yù)定次數(shù)的請求,還有客戶端不能處于暫停狀態(tài),則重新發(fā)送同步播放指令,也就是返回至S204步驟,從S204步驟開始重新執(zhí)行流程。
[0066]S207、定時向各個客戶端發(fā)送同步校驗包,以使各個客戶端將當前播放時長與同步校驗包中的播放時長比對。
[0067]可以理解的是,同步校驗包中包含有服務(wù)器端的播放時長,例如服務(wù)器端播放至5分22秒位置,則5分22秒即是服務(wù)器端的播放時長。當客戶端接收到同步校驗包時,需要客將自身當前播放時長與同步校驗包中播放時長(服務(wù)器端的播放時長)例如5分22秒進行比較。
[0068]S208、當各個客戶端當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),判斷為各個客戶端播放同步,控制各客戶端繼續(xù)播放;
[0069]考慮到各個客戶端在接收服務(wù)器端的同步校驗包可能存在一定的時間差,但是該時間差非常小,所以只要各個客戶端當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),則判斷為各個客戶端播放同步。
[0070]當某個或某幾個客戶端當前播放時長與同步校驗包中的播放時長超過同步允許范圍,判斷各個客戶端播放不同步,則控制各客戶端調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放。
[0071]也就是說,在該步驟,當前播放時長與同步校驗包中的播放時長超過同步允許范圍的客戶端,需要將播放時長調(diào)整至盡量與同步校驗包中播放時長一致(即在同步允許范圍內(nèi)),即當客戶端的當前播放時長超前時,則將客戶端當前播放時長向后調(diào)整,而當客戶端的當前播放時長滯后時,則將客戶端當前播放時長向前調(diào)整,這樣就能夠使不同的客戶端恢復(fù)至與其他客戶端同步播放的狀態(tài)。
[0072]可以理解的是,服務(wù)器端及客戶端進行視頻播放時,可采用K-Lite解碼器解碼播放,K-Lite解碼器解碼是一種萬能解碼器,經(jīng)測試能播放幾乎任意流行的格式的媒體文件。
[0073]根據(jù)本實施例提供的多屏同步播放方法,通過服務(wù)器端定時向各個客戶端發(fā)送同步校驗包,使各個客戶端將當前播放時長與校驗包中播放時長進行比較,判斷各個客戶端將當前播放時長與校驗包中播放時長是否在同步允許范圍內(nèi),若各個客戶端均在同步允許范圍內(nèi),則控制各客戶端繼續(xù)播放;若某個或某幾個客戶端超過同步允許范圍,則控制各客戶端調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放,如此,實現(xiàn)多屏同步播放,由于采用時長比較的方式,所以幾乎適用于所有可播放的媒體文件,有著極廣的適用性,而同步校驗上,以服務(wù)器端的播放時長作為標準衡量播放位置,發(fā)送給各個客戶端與之比較,如果超過同步容許范圍則進行同步調(diào)整,這樣免避了過多的通訊調(diào)整,更好保證播放的流暢性。
[0074]參照圖3所示,本發(fā)明實施例提供了服務(wù)器端的一種組成結(jié)構(gòu),為了便于描述,僅示出了與本發(fā)明實施例相關(guān)的部分,該服務(wù)器端具體可用于執(zhí)行上述方法的流程,該服務(wù)器端具體包括:
[0075]連接模塊301,用于與各個客戶端建立連接。
[0076]本實施例中,服務(wù)器端30與客戶端40建立的連接是指網(wǎng)絡(luò)連接,例如服務(wù)器端連接至網(wǎng)絡(luò)設(shè)備,而客戶端接入網(wǎng)絡(luò)即可,服務(wù)器端30與客戶端40即可在網(wǎng)絡(luò)上通信。可以理解的是,客戶端40可以是安裝于戶外、展廳或其他公共場所的播放及顯示設(shè)備。
[0077]同步播放指令發(fā)送模塊302,用于發(fā)送向各客戶端40發(fā)送同步播放指令,以使各個客戶端40響應(yīng)所述同步播放指令而啟動播放。
[0078]同步校驗包發(fā)送模塊303,用于定時向各個客戶端40發(fā)送同步校驗包,以使各個客戶端40將當前播放時長與同步校驗包中的播放時長比對。
[0079]可以理解的是,同步校驗包中包含有服務(wù)器端30的播放時長,例如服務(wù)器端30播放至5分22秒位置,則5分22秒即是服務(wù)器端30的播放時長。當客戶端接收到同步校驗包時,需要客將自身當前播放時長與同步校驗包中播放時長(服務(wù)器的播放時長)例如5分22秒進行比較。
[0080]同步控制模塊304,用于當各個客戶端40當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),判斷為各個客戶端40播放同步,控制各客戶端40繼續(xù)播放;當某個或某幾個客戶端40當前播放時長與同步校驗包中的播放時長超過同步允許范圍,判斷各個客戶端40播放不同步,則控制各客戶端40調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放。
[0081]由于考慮到各個客戶端40在接收服務(wù)器端的同步校驗包可能存在一定的時間差,但是該時間差非常小,所以只要各個客戶端40當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),則判斷為各個客戶端40播放同步。
[0082]也就是說,當前播放時長與同步校驗包中的播放時長超過同步允許范圍的客戶端,需要將客戶端40的播放時長調(diào)整至盡量與同步校驗包中播放時長一致(即在同步允許范圍內(nèi)),即當客戶端40的當前播放時長超前時,則通過該同步控制模塊304控制客戶端40將當前的播放時長向后調(diào)整,而當客戶端40的當前播放時長滯后時,則通過該同步控制模塊304控制客戶端40將當前播放時長向前調(diào)整,這樣就能夠使不同的客戶端40恢復(fù)至與其他客戶端40同步播放的狀態(tài)。
[0083]參照圖4所示,在本發(fā)明實施例提供了服務(wù)器端的一種組成結(jié)構(gòu),為了便于描述,僅示出了與本發(fā)明實施例相關(guān)的部分,該服務(wù)器端具體可用于執(zhí)行上述方法的流程,該服務(wù)器端具體包括:
[0084]連接模塊301,用于與各個客戶端40建立連接。
[0085]本實施例中,服務(wù)器端30與客戶端40建立的連接是指網(wǎng)絡(luò)連接,例如服務(wù)器端30連接至網(wǎng)絡(luò)設(shè)備,而客戶端40接入網(wǎng)絡(luò)即可,服務(wù)器端與客戶端即可在網(wǎng)絡(luò)上通信??梢岳斫獾氖牵蛻舳丝梢允前惭b于戶外、展廳或其他公共場所的播放及顯示設(shè)備。
[0086]簽到請求模塊305,用于向客戶端40發(fā)送身份簽到請求,以使所述客戶端40響應(yīng)所述身份簽到請求進行身份簽到。
[0087]時鐘校正請求模塊306,用于向客戶端40發(fā)送時鐘校正命令,以使所述客戶端40將自身的時鐘校正為與服務(wù)器端30的時鐘一致。
[0088]由于服務(wù)器端30與各個客戶端40的時鐘可能存在不一致的情況,所以,在播放之前將各個客戶端40的時鐘與服務(wù)器端30的時鐘進行校正統(tǒng)一,有利于后續(xù)同步播放的控制。
[0089]同步播放指令發(fā)送模塊302,用于發(fā)送向各客戶端40發(fā)送同步播放指令,以使各個客戶端40響應(yīng)所述同步播放指令而啟動播放。
[0090]也就是,在與各個客戶端40建立連接之后,服務(wù)器端30根據(jù)用戶選擇即可載入視頻文件,并將該視頻文件傳輸至需要同步播放的客戶端40,客戶端40根據(jù)同步播放指令,對視頻文件進行解碼播放。
[0091]暫停指令發(fā)送模塊307,用于向客戶端40發(fā)送暫停指令,以使客戶端40處于暫停狀態(tài)。
[0092]狀態(tài)控制模塊308,用于向客戶端40發(fā)送狀態(tài)請求,以獲取客戶端40當前狀態(tài)。當所有客戶端40均處于暫停狀態(tài)時,發(fā)送繼續(xù)播放命令至各個客戶端40,使各個客戶端40繼續(xù)播放;當某個或某幾個客戶端40未處于暫停狀態(tài),則定時繼續(xù)發(fā)送狀態(tài)請求,如果在預(yù)定次數(shù)的狀態(tài)請求內(nèi),所有客戶端40均處于暫停狀態(tài),則發(fā)送繼續(xù)播放命令至各個客戶端40,使各個客戶端40繼續(xù)播放,否則,重新發(fā)送同步播放指令。
[0093]先利用服務(wù)器端30向客戶端40發(fā)送暫停指令,控制客戶端40暫停,再通過發(fā)送狀態(tài)請求獲取各個客戶端40的狀態(tài),其目的是為了檢測服務(wù)器端30與各個客戶端40之間的通信狀態(tài),服務(wù)器端30是否能夠?qū)Ω鱾€客戶端40實時控制,只有在通信正常的情況下,才能利用服務(wù)器端30控制各個客戶端40同步播放。
[0094]可以理解的是,無論是一次請求后或是預(yù)定次數(shù)請求后,只要未超過預(yù)定次數(shù)的請求,各個客戶端40均能夠處于暫停狀態(tài),則繼續(xù)播放;而如果超過了預(yù)定次數(shù)的請求,還有客戶端40不能處于暫停狀態(tài),則重新發(fā)送同步播放指令。
[0095]同步校驗包發(fā)送模塊303,用于定時向各個客戶端40發(fā)送同步校驗包,以使各個客戶端40將當前播放時長與同步校驗包中的播放時長比對。
[0096]可以理解的是,同步校驗包中包含有服務(wù)器端30的播放時長,例如服務(wù)器端30播放至5分22秒位置,則5分22秒即是服務(wù)器端30的播放時長。當客戶端40接收到同步校驗包時,需要客將自身當前播放時長與同步校驗包中播放時長(服務(wù)器端的播放時長)例如5分22秒進行比較。
[0097]同步控制模塊304,當各個客戶端40當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),判斷為各個客戶端40播放同步,控制各客戶端40繼續(xù)播放。
[0098]考慮到各個客戶端40在接收服務(wù)器端的同步校驗包可能存在一定的時間差,但是該時間差非常小,所以只要各個客戶端40當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),則判斷為各個客戶端40播放同步。
[0099]當某個或某幾個客戶端40當前播放時長與同步校驗包中的播放時長超過同步允許范圍,判斷各個客戶端40播放不同步,則控制各客戶端40調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放。
[0100]也就是說,當前播放時長與同步校驗包中的播放時長超過同步允許范圍的客戶端40,需要將其播放時長調(diào)整至盡量與同步校驗包中播放時長一致(即在同步允許范圍內(nèi)),即當客戶端40的當前播放時長超前時,則將客戶端40當前播放時長向后調(diào)整,而當客戶端40的當前播放時長滯后時,則將客戶端40當前播放時長向前調(diào)整,這樣就能夠使不同的客戶端40恢復(fù)至與其他客戶端40同步播放的狀態(tài)。
[0101]參照圖5所示,本發(fā)明提供的多屏同步播放系統(tǒng),包括如上述實施例所述的服務(wù)器端30及多個客戶端40,
[0102]客戶端40用于接收并響應(yīng)服務(wù)器端30發(fā)送的同步播放指令而啟動播放;
[0103]還用于接收服務(wù)器端30發(fā)送的同步校驗包,并將當前播放時長與同步校驗包中的播放時長比對;以及
[0104]當各個客戶端40當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),判斷為各個客戶端40播放同步,則在服務(wù)器端30的控制下繼續(xù)播放;當某個或某幾個客戶端40當前播放時長與同步校驗包中的播放時長超過同步允許范圍,判斷各個客戶端40播放不同步,則在服務(wù)器端30的控制下調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放。
[0105]可以理解是,服務(wù)器端30可以采用獨立分開的功能控制服務(wù)器31及同步控制服務(wù)器32,功能控制服務(wù)器31主要負責功能控制,例如播放、暫停等,具體可以包括上述實施例所述的簽到請求模塊、時鐘校正請求模塊、同步播放指令發(fā)送模塊、暫停指令發(fā)送模塊、狀態(tài)請求模塊、狀態(tài)控制模塊等,而同步控制服務(wù)器32主要用于向客戶端40發(fā)送同步校驗包的,實現(xiàn)客戶端40的同步控制,具體包括上述實施例所述的同步校驗包發(fā)送模塊及同步控制模塊。如此,相對于單服務(wù)器控制方式,也就是功能控制與同步校驗控制都是在一個服務(wù)器端,由于服務(wù)器端極為頻繁的發(fā)送同步信息,很可能某的時候有沖突造成而些控制功能失效現(xiàn)象,而本系統(tǒng)采用雙服務(wù)器控制方式,即功能控制與同步控制進行分開制度,清淅分工,很好地免避了通信上的沖突,確保視頻同步效果更好。
[0106]綜上所述,根據(jù)本發(fā)明各個實施例提供的多屏同步播放方法、系統(tǒng)及相關(guān)裝置,通過服務(wù)器端定時向各個客戶端發(fā)送同步校驗包,使各個客戶端將當前播放時長與校驗包中播放時長進行比較,判斷各個客戶端將當前播放時長與校驗包中播放時長是否在同步允許范圍內(nèi),若各個客戶端均在同步允許范圍內(nèi),則控制各客戶端繼續(xù)播放;若某個或某幾個客戶端超過同步允許范圍,則控制各客戶端調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放,如此,實現(xiàn)多屏同步播放,由于采用時長比較的方式,所以幾乎適用于所有可播放的媒體文件,有著極廣的適用性,而同步校驗上,以服務(wù)器端的播放時長作為標準衡量播放位置,發(fā)送給各個客戶端與之比較,如果超過同步容許范圍則進行同步調(diào)整,這樣免避了過多的通訊調(diào)整,更好保證播放的流暢性。
[0107]以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制其專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,直接或間接運用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
【權(quán)利要求】
1.一種多屏同步播放方法,其特征在于,包括: 與各個客戶端建立連接; 向各客戶端發(fā)送同步播放指令,以使各個客戶端響應(yīng)所述同步播放指令而啟動播放;定時向各個客戶端發(fā)送同步校驗包,以使各個客戶端將當前播放時長與同步校驗包中的播放時長比對,以及 當各個客戶端當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),判斷為各個客戶端播放同步,控制各客戶端繼續(xù)播放; 當某個或某幾個客戶端當前播放時長與同步校驗包中的播放時長超過同步允許范圍,判斷各個客戶端播放不同步,則控制各客戶端調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放。
2.根據(jù)權(quán)利要求1所述的多屏同步播放方法,其特征在于,在與各個客戶端建立連接之后,該方法還包括: 向客戶端發(fā)送身份簽到請求,以使所述客戶端響應(yīng)所述身份簽到請求進行身份簽到。
3.根據(jù)權(quán)利要求2所述的多屏同步播放方法,其特征在于,在向客戶端發(fā)送身份簽到請求,以使所述客戶端相應(yīng)所述身份簽到請求進行身份簽到之后,該方法還包括: 向客戶端發(fā)送時鐘校正命令,以使所述客戶端將自身的時鐘校正為與服務(wù)器端的時鐘—致。
4.根據(jù)權(quán)利要求1所述的多屏同步播放方法,其特征在于,在向各客戶端發(fā)送同步播放指令,以使各個客戶端響應(yīng)所述同步播放指令而啟動播放之后,該方法還包括: 向客戶端發(fā)送暫停指令,以使客戶端處于暫停狀態(tài); 向客戶端發(fā)送狀態(tài)請求,以獲取客戶端當前狀態(tài),當所有客戶端均處于暫停狀態(tài)時,發(fā)送繼續(xù)播放命令至各個客戶端,使各個客戶端繼續(xù)播放,當某個或某幾個客戶端未處于暫停狀態(tài),則定時繼續(xù)發(fā)送狀態(tài)請求,如果在預(yù)定次數(shù)的狀態(tài)請求內(nèi),所有客戶端均處于暫停狀態(tài),則發(fā)送繼續(xù)播放命令至各個客戶端,使各個客戶端繼續(xù)播放,否則,重新發(fā)送同步播放指令。
5.根據(jù)權(quán)利要求1至4中任一項所述的多屏同步播放方法,其特征在于,所述播放采用K-Lite解碼器解碼播放。
6.一種服務(wù)器端,其特征在于,包括: 連接模塊,用于與各個客戶端建立連接; 同步播放指令發(fā)送模塊,用于向各客戶端發(fā)送同步播放指令,以使各個客戶端響應(yīng)所述同步播放指令而啟動播放; 同步校驗包發(fā)送模塊,用于定時向各個客戶端發(fā)送同步校驗包,以使各個客戶端將當前播放時長與同步校驗包中的播放時長比對,以及 同步控制模塊,用于當各個客戶端當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),判斷為各個客戶端播放同步,控制各客戶端繼續(xù)播放;當某個或某幾個客戶端當前播放時長與同步校驗包中的播放時長超過同步允許范圍,判斷各個客戶端播放不同步,則控制各客戶端調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放。
7.根據(jù)權(quán)利要求6所述的服務(wù)器端,其特征在于,該服務(wù)器端還包括: 簽到請求模塊,用于向客戶端發(fā)送身份簽到請求,以使所述客戶端響應(yīng)所述身份簽到請求進行身份簽到。
8.根據(jù)權(quán)利要求7所述的服務(wù)器端,其特征在于,該服務(wù)器端還包括: 時鐘校正請求模塊,用于向客戶端發(fā)送時鐘校正命令,以使所述客戶端將自身的時鐘校正為與服務(wù)器端的時鐘一致。
9.根據(jù)權(quán)利要求6所述的服務(wù)器端,其特征在于,該服務(wù)器端還包括: 暫停指令發(fā)送模塊,用于向客戶端發(fā)送暫停指令,以使客戶端處于暫停狀態(tài); 狀態(tài)控制模塊,用于向客戶端發(fā)送狀態(tài)請求,以獲取客戶端當前狀態(tài);當所有客戶端均處于暫停狀態(tài)時,發(fā)送繼續(xù)播放命令至各個客戶端,使各個客戶端繼續(xù)播放;當某個或某幾個客戶端未處于暫停狀態(tài),則定時繼續(xù)發(fā)送狀態(tài)請求,如果在預(yù)定次數(shù)的狀態(tài)請求內(nèi),所有客戶端均處于暫停狀態(tài),則繼續(xù)播放命令至各個客戶端,使各個客戶端繼續(xù)播放,否則,重新發(fā)送同步播放指令。
10.一種多屏同步播放系統(tǒng),其特征在于,包括如權(quán)利要求6-9中任一項所述服務(wù)器端及多個客戶端, 客戶端用于接收并響應(yīng)服務(wù)器端發(fā)送的同步播放指令而啟動播放; 還用于接收服務(wù)器端發(fā)送的同步校驗包,并將當前播放時長與同步校驗包中的播放時長比對;以及 當各個客戶端當前播放時長與同步校驗包中的播放時長在同步允許范圍內(nèi),判斷為各個客戶端播放同步,則在服務(wù)器端的控制下繼續(xù)播放; 當某個或某幾個客戶端當前播放時長與同步校驗包中的播放時長超過同步允許范圍,判斷各個客戶端播放不同步,則在服務(wù)器端的控制下調(diào)整各自對應(yīng)的當前播放時長,使各自當前播放時長與所述同步校驗包中的播放時長在同步允許范圍再繼續(xù)播放。
【文檔編號】H04N21/238GK104284200SQ201410415975
【公開日】2015年1月14日 申請日期:2014年8月21日 優(yōu)先權(quán)日:2014年8月21日
【發(fā)明者】楊兵, 白薇薇 申請人:楊兵