在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法和裝置制造方法
【專利摘要】本申請公開了一種在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法,所述多個媒體播放設(shè)備中的一個被選作為服務器,該方法包括:作為服務器的媒體播放設(shè)備接收到所述多個媒體播放設(shè)備發(fā)送的媒體下載請求后,從預先選定的媒體文件讀取媒體數(shù)據(jù)并將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備;作為服務器的媒體播放設(shè)備在從預先選定的媒體文件讀取媒體數(shù)據(jù)并將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備的過程中,如果接收全所述多個媒體播放設(shè)備返回的播放準備完畢消息,則向所述多個媒體播放設(shè)備發(fā)送開始播放命令,以使所述多個媒體播放設(shè)備開始播放從作為服務器的媒體播放設(shè)備接收到的媒體數(shù)據(jù)。本發(fā)明可以減小開銷。
【專利說明】在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法和裝
【技術(shù)領(lǐng)域】
[0001]本申請涉及通信【技術(shù)領(lǐng)域】,特別涉及在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法和裝置。
【背景技術(shù)】
[0002]目前,媒體播放設(shè)備,如多媒體電視,大多已經(jīng)能夠支持連接移動硬盤,U盤等便攜設(shè)備,甚至已經(jīng)能夠自由連接到互聯(lián)網(wǎng)或局域網(wǎng),使得這些便攜設(shè)備中的媒體文件以及互聯(lián)網(wǎng)或局域網(wǎng)中的媒體文件可以被瀏覽和播放,從而實現(xiàn)媒體共享。
[0003]然而,現(xiàn)有的媒體播放設(shè)備之間的媒體共享技術(shù)中,都需要額外的設(shè)備來提供共享的媒體文件,這對于日常應用,尤其是家庭為主的娛樂,需增加了額外的費用開銷,而且,現(xiàn)有的媒體共享相關(guān)技術(shù)中,只能提供媒體的共享服務,不能實現(xiàn)多個播放設(shè)備間的媒體同步播放。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明的目的在于提供一種在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法,該方法能夠減少開銷。
[0005]為了達到上述目的,本發(fā)明提供了一種在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法,所述多個媒體播放設(shè)備中的一個被選作為服務器,該方法包括:
[0006]作為服務器的媒體播放設(shè)備接收到所述多個媒體播放設(shè)備發(fā)送的媒體下載請求后,從預先選定的媒體文件讀取媒體數(shù)據(jù)并將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備;
[0007]作為服務器的媒體播放設(shè)備在從預先選定的媒體文件讀取媒體數(shù)據(jù)并將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備的過程中,如果接收全所述多個媒體播放設(shè)備返回的播放準備完畢消息,則向所述多個媒體播放設(shè)備發(fā)送開始播放命令,以使所述多個媒體播放設(shè)備開始播放從作為服務器的媒體播放設(shè)備接收到的媒體數(shù)據(jù)。
[0008]本發(fā)明還提供了一種在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的設(shè)備,該設(shè)備是從所述多個媒體播放設(shè)備中選出作為服務器的一個媒體播放設(shè)備,該設(shè)備包括:命令控制模塊、數(shù)據(jù)發(fā)送模塊;
[0009]所述命令控制模塊,用于接收所述多個媒體播放設(shè)備發(fā)送的媒體下載請求;用于接收所述多個媒體播放設(shè)備發(fā)送的播放準備完畢消息;用于在數(shù)據(jù)發(fā)送模塊從預先選定的媒體文件讀取媒體數(shù)據(jù)并將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備的過程中,如果接收全所述多個媒體播放設(shè)備返回的播放準備完畢消息,則向所述多個媒體播放設(shè)備發(fā)送播放命令,以使所述多個媒體播放設(shè)備開始播放從本設(shè)備接收到的媒體數(shù)據(jù);
[0010]所述數(shù)據(jù)發(fā)送模塊,用于命令控制模塊接收到所述多個媒體播放設(shè)備發(fā)送的媒體下載請求后,從預先選定的媒體文件讀取媒體數(shù)據(jù)并將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備。
[0011 ] 綜上所述,本發(fā)明中,從多個媒體播放設(shè)備中選擇一個媒體播放設(shè)備作為服務器,該服務器負責提供媒體文件給該多個媒體播放設(shè)備并對該多個媒體播放設(shè)備進行媒體的同步播放控制,從而不需要額外增加網(wǎng)絡(luò)設(shè)備就可以在多個媒體播放設(shè)備之間實現(xiàn)媒體共享和同步播放控制,因而能夠減少開銷。
【專利附圖】
【附圖說明】
[0012]圖1是本發(fā)明實施例一在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法流程圖;
[0013]圖2是本發(fā)明實施例二在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法流程圖;
[0014]圖3是本發(fā)明實施例在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的設(shè)備的結(jié)構(gòu)示意圖。
【具體實施方式】
[0015]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,下面結(jié)合附圖并舉實施例,對本發(fā)明的技術(shù)方案進行詳細說明。
[0016]為了實現(xiàn)在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制,本發(fā)明中,從多個媒體播放設(shè)備中選擇一個作為服務器,用來控制多個媒體播放設(shè)備間同步播放媒體,該服務器同時保持原有的作為媒體播放設(shè)備的功能。當需要進行媒體同步播放時,該多個媒體播放設(shè)備(該多個媒體播放設(shè)備包括作為服務器的媒體播放設(shè)備)均需向服務器發(fā)送媒體下載請求,服務器接收到該多個媒體播放設(shè)備發(fā)送的媒體下載請求后,可以從選定的媒體文件中讀取媒體數(shù)據(jù)并發(fā)送至該多個媒體播放設(shè)備;各媒體播放設(shè)備接收服務器發(fā)送的媒體數(shù)據(jù),并在接收到的媒體數(shù)據(jù)達到一定數(shù)量時,返回播放準備完畢消息,以通知服務器自身已作好播放準備;服務器如果接收全該多個媒體播放設(shè)備發(fā)送的播放準備完畢消息,則確定該多個媒體播放設(shè)備均已做好播放準備,因此向該多個媒體播放設(shè)備發(fā)送播放命令,使得該多個媒體播放設(shè)備開始播放從服務器接收到的媒體數(shù)據(jù),從而實現(xiàn)該多個媒體播放設(shè)備間的媒體同步播放。
[0017]在進行媒體同步播放之前,首先需要對媒體播放設(shè)備以及服務器進行配置,其中對于媒體播放設(shè)備,主要包括服務器信息的配置,例如服務器IP地址、服務器端口等,以便媒體播放設(shè)備根據(jù)配置的服務器信息建立與服務器間的網(wǎng)絡(luò)連接;對于服務器,需配置的信息包括:服務器端口、需進行同步播放控制的媒體播放設(shè)備的個數(shù)等,需要特別說明的是,由于服務器同時作為媒體播放設(shè)備,因此需要對其進行媒體播放設(shè)備相關(guān)的配置(即包括服務器信息在內(nèi)的相關(guān)配置)。
[0018]根據(jù)媒體播放設(shè)備和服務器之間進行媒體數(shù)據(jù)傳輸時采用的傳輸協(xié)議的不同,可以有以下兩種實施方式:
[0019]實施方式一、利用TCP傳輸協(xié)議進行媒體數(shù)據(jù)傳輸?shù)姆绞健?br>
[0020]參見圖1,圖1是本發(fā)明實施例一在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法流程圖,主要包括以下步驟:[0021]步驟101、當需要進行媒體同步播放時,各媒體播放設(shè)備向服務器發(fā)送媒體下載請求消息。
[0022]本實施例中,媒體播放設(shè)備可以是多媒體電視。
[0023]這里,需要在多個媒體播放設(shè)備間進行同步播放的媒體文件存儲在服務器中,由服務器提供給各媒體播放設(shè)備。當需要進行媒體同步播放時,各媒體播放設(shè)備均需向服務器發(fā)送媒體下載請求消息,以從服務器獲取媒體數(shù)據(jù)。
[0024]步驟102、服務器接收全所有媒體播放設(shè)備的媒體下載請求消息后,從預先選定的媒體文件讀取媒體數(shù)據(jù)并利用TCP傳輸協(xié)議將讀取的媒體數(shù)據(jù)發(fā)送至各媒體播放設(shè)備。
[0025]服務器可以根據(jù)預先配置的需進行同步播放控制的媒體播放設(shè)備的個數(shù)以及接收到的媒體下載請求消息的個數(shù)來判斷是否接收全所有媒體播放設(shè)備的媒體下載請求消
肩、O
[0026]本步驟中,服務器利用TCP傳輸協(xié)議向各媒體播放設(shè)備發(fā)送媒體數(shù)據(jù),使多個媒體播放設(shè)備共享媒體。服務器和各媒體播放設(shè)備之間需要建立一個專門用于傳輸媒體數(shù)據(jù)的可靠的TCP連接,服務器在向媒體播放設(shè)備發(fā)送媒體數(shù)據(jù)時,通過與各媒體播放設(shè)備之間的TCP連接將媒體數(shù)據(jù)發(fā)送到該媒體播放設(shè)備。服務器與各媒體播放設(shè)備之間建立的TCP連接在媒體文件被傳輸完畢后才會被關(guān)閉。利用TCP傳輸協(xié)議進行媒體數(shù)據(jù)的傳輸,可以保證媒體數(shù)據(jù)傳輸?shù)目煽啃浴?br>
[0027]服務器在傳輸媒體數(shù)據(jù)到各媒體播放設(shè)備的過程中,服務器和媒體播放設(shè)備之間可以并行執(zhí)行媒體播放控制相關(guān)的控制命令收發(fā)。這里,媒體播放控制相關(guān)的控制命令包括:由服務器主動發(fā)出的開始播放命令、暫停播放命令、停止播放命令、恢復播放命令、以及由媒體播放設(shè)備主動發(fā)出的播放準備完畢消息等。
[0028]步驟103、各媒體播放設(shè)備接收服務器發(fā)送來的媒體數(shù)據(jù),如果媒體數(shù)據(jù)達到預設(shè)數(shù)據(jù)量,則發(fā)送播放準備完畢消息至服務器。
[0029]這里,媒體播放設(shè)備在初始接收到服務器發(fā)送來的媒體數(shù)據(jù)時,并不會立刻開始進行解碼播放,而是先預緩存媒體數(shù)據(jù),當緩存的媒體數(shù)據(jù)達到預設(shè)數(shù)據(jù)量之后,再通過發(fā)送播放準備完畢消息來通知服務器自己已做好播放準備,可以開始播放媒體數(shù)據(jù),這種通過預先緩存數(shù)據(jù)到一定數(shù)量再開始解碼并播放媒體數(shù)據(jù)的方式,可以避免短數(shù)據(jù)包解碼時可能造成的解碼失敗并保證播放視頻播放畫面的流暢。
[0030]步驟104、服務器在從預先選定的媒體文件讀取媒體數(shù)據(jù)并將讀取的媒體數(shù)據(jù)利用TCP傳輸協(xié)議發(fā)送至各媒體播放設(shè)備的過程中,如果接收全所有媒體播放設(shè)備發(fā)送的播放準備完畢消息,則向所有媒體播放設(shè)備發(fā)送開始播放命令。
[0031]步驟105、各媒體播放設(shè)備接收到服務器發(fā)送的開始播放命令后,開始對從服務器接收到的媒體數(shù)據(jù)進行本地解碼和播放。
[0032]實施方式二、利用UDP傳輸協(xié)議進行媒體數(shù)據(jù)傳輸?shù)姆绞健?br>
[0033]參見圖2,圖2是本發(fā)明實施例二在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法流程圖,主要包括以下步驟:
[0034]步驟201、當需要進行媒體同步播放時,各媒體播放設(shè)備向服務器發(fā)送媒體下載請求消息。
[0035]本實施例中,媒體播放設(shè)備可以是多媒體電視。[0036]這里,需要在多個媒體播放設(shè)備間進行同步播放的媒體文件存儲在服務器中,由服務器提供給各媒體播放設(shè)備。當需要進行媒體同步播放時,各媒體播放設(shè)備均需向服務器發(fā)送媒體下載請求消息,以從服務器獲取媒體數(shù)據(jù)。
[0037]步驟202、服務器接收全所有媒體播放設(shè)備的媒體下載請求消息后,從預先選定的媒體文件讀取媒體數(shù)據(jù)并利用UDP傳輸協(xié)議將讀取的媒體數(shù)據(jù)廣播發(fā)送至各媒體播放設(shè)備。
[0038]服務器可以根據(jù)預先配置的需進行同步播放控制的媒體播放設(shè)備的個數(shù)以及接收到的媒體下載請求消息的個數(shù)來判斷是否接收全所有媒體播放設(shè)備的媒體下載請求消
肩、O
[0039]本步驟中,服務器利用UDP傳輸協(xié)議向各媒體播放設(shè)備廣播發(fā)送媒體數(shù)據(jù),使多個媒體播放設(shè)備共享媒體。UDP傳輸協(xié)議不可靠,相較于TCP傳輸協(xié)議,UDP傳輸協(xié)議擁有更高的優(yōu)先通信權(quán)利,這使得UDP數(shù)據(jù)在通信上更加的快速,網(wǎng)絡(luò)延時短,并且具有系統(tǒng)開銷少等特點,對規(guī)模較大的媒體共享的情形,采用UDP傳輸媒體數(shù)據(jù)能夠盡可能少的占用帶寬。但是另一方面,由于缺乏擁塞控制(congestion control),UDP傳輸是一種不可靠的數(shù)據(jù)傳輸方式,UDP傳輸媒體數(shù)據(jù)時最大問題是丟包現(xiàn)象的存在,尤其是長時間的連續(xù)的傳輸媒體數(shù)據(jù),不能保證各媒體播放設(shè)備都能順利接收到所有數(shù)據(jù)包。為此,服務器在向媒體播放設(shè)備發(fā)送媒體數(shù)據(jù)時,還需要支持丟包重傳機制。
[0040]本實施例中,采用的丟包重傳機制可以如下:
[0041 ] (I)對廣播數(shù)據(jù)包進行標識:
[0042]為了便于檢查丟包現(xiàn)象,服務器將媒體數(shù)據(jù)封裝到廣播數(shù)據(jù)包并對廣播數(shù)據(jù)包進行標識:對該廣播數(shù)據(jù)包進行編號并將該編號作為廣播數(shù)據(jù)包的包頭,然后再將該廣播數(shù)據(jù)包廣播發(fā)送出去,根據(jù)廣播數(shù)據(jù)包發(fā)送的先后順序,廣播數(shù)據(jù)包的編號從I開始依次遞增。另外,為了重傳時方便計算需重傳的媒體數(shù)據(jù)的位置,每個廣播數(shù)據(jù)包中媒體數(shù)據(jù)部分采用固定長度(packetSize),以字節(jié)為單位,該固定長度可以預先設(shè)定。
[0043](2)進行丟包檢查:
[0044]每個媒體播放設(shè)備記錄最近接收到的有效數(shù)據(jù)包的編號:prePacketNum,其初始值為O。在接收到廣播數(shù)據(jù)包后,首先取出其包頭中的編號:currPacketNum,將currPacketNum 與 prePacketNum 進行 t匕較:
[0045]若currPacketNum=prePacketNum+l,則說明該媒體播放設(shè)備此次接收到的數(shù)據(jù)包是有效數(shù)據(jù)包,未出現(xiàn)丟包。將該包數(shù)據(jù)部分寫入緩存區(qū),同時修改該客戶端播放器記錄的prePacketNum為currPacketNum,并等待接收下一個數(shù)據(jù)包;
[0046]若currPacketNum〈prePacketNum+l,則說明其他媒體播放設(shè)備存在丟包現(xiàn)象,服務器正在重傳某些數(shù)據(jù)包,該媒體播放設(shè)備可忽略此數(shù)據(jù)包,繼續(xù)等待接收下一個數(shù)據(jù)包;
[0047]若currPacketNum>prePacketNum+l,則說明該媒體播放設(shè)備本次接收到的數(shù)據(jù)包是不連續(xù)的,存在丟包現(xiàn)象,需要服務端重傳。該媒體播放設(shè)備需要將當前記錄的prePacketNum攜帶在數(shù)據(jù)重傳請求消息中發(fā)送給服務器,并等待接收下一個數(shù)據(jù)包。
[0048](3)丟包重傳
[0049]服務器收到媒體播放設(shè)備的數(shù)據(jù)重傳請求消息后,取出數(shù)據(jù)重傳請求消息中攜帶的待重傳數(shù)據(jù)包編號:RpacketNum。根據(jù)每個數(shù)據(jù)包中媒體數(shù)據(jù)的固定長度:packetSize,計算出需要重傳的數(shù)據(jù)包的位置:fileLoc=RpacketNumXpacketSize,然后從該位置開始繼續(xù)打包媒體數(shù)據(jù)并廣播重傳出去。當服務器同時收到多個數(shù)據(jù)重傳請求消息時,用數(shù)據(jù)重傳消息中攜帶的待重傳數(shù)據(jù)包編號中的最小編號計算需要重傳的數(shù)據(jù)包的位置。
[0050]服務器在利用UDP傳輸協(xié)議廣播發(fā)送媒體數(shù)據(jù)到各媒體播放設(shè)備的過程中,服務器和媒體播放設(shè)備之間可以并行執(zhí)行媒體播放控制相關(guān)的控制命令收發(fā)。
[0051]步驟203、各媒體播放設(shè)備接收服務器發(fā)送來的媒體數(shù)據(jù),如果媒體數(shù)據(jù)達到預設(shè)數(shù)據(jù)量,則發(fā)送播放準備完畢消息至服務器。
[0052]這里,媒體播放設(shè)備在初始接收到服務器發(fā)送來的媒體數(shù)據(jù)時,并不會立刻開始進行解碼播放,而是先預緩存媒體數(shù)據(jù),當緩存的媒體數(shù)據(jù)達到預設(shè)數(shù)據(jù)量之后,再通過發(fā)送播放準備完畢消息來通知服務器自己已做好播放準備,可以開始播放媒體數(shù)據(jù),這種通過預先緩存數(shù)據(jù)到一定數(shù)量再開始解碼并播放媒體數(shù)據(jù)的方式,可以避免短數(shù)據(jù)包解碼時可能造成的解碼失敗并保證播放視頻播放畫面的流暢。
[0053]步驟204、服務器在從預先選定的媒體文件讀取媒體數(shù)據(jù)并將讀取的媒體數(shù)據(jù)利用UDP傳輸協(xié)議廣播發(fā)送至各媒體播放設(shè)備的過程中,如果接收全所有媒體播放設(shè)備發(fā)送的播放準備完畢消息,則向所有媒體播放設(shè)備發(fā)送開始播放命令。
[0054]步驟205、各媒體播放設(shè)備接收到服務器發(fā)送的開始播放命令后,開始對從服務器接收到的媒體數(shù)據(jù)進行本地解碼和播放。
[0055]在上述的圖1和圖2所示本發(fā)明實施例中,為了能夠在多個媒體播放設(shè)備之間同步播放媒體,各媒體播放設(shè)備需保持時鐘一致。服務器可以按照預設(shè)時間周期向所述多個媒體播放設(shè)備發(fā)送自身的時鐘信息(可以通過UDP傳輸協(xié)議廣播發(fā)送服務器自身的時鐘信息),各媒體播放設(shè)備接收到服務器發(fā)送的時鐘信息后,可以調(diào)整自身時鐘與服務器的時鐘一致,并根據(jù)調(diào)整后的時鐘控制媒體數(shù)據(jù)的播放位置,從而保證各媒體播放設(shè)備之間的媒體播放同步。
[0056]對多個媒體播放設(shè)備間的同步播放控制還包括對媒體的暫停播放控制,可以對服務器發(fā)出暫停播放命令,服務器接收到暫停播放命令后,可以向所有媒體播放設(shè)備發(fā)送暫停播放命令,各媒體播放設(shè)備接收到服務器發(fā)送來的暫停播放命令后,暫停播放媒體數(shù)據(jù)。
[0057]服務器在接收到暫停播放命令并向所有媒體播放設(shè)備發(fā)送暫停播放命令后,還可以重新恢復媒體播放。因此,對多個媒體播放設(shè)備間的同步播放控制還包括對媒體的恢復播放控制,可以向服務器發(fā)送恢復播放命令,服務器接收到恢復播放命令后,則可以向所有媒體播放設(shè)備發(fā)送恢復播放命令,各媒體播放設(shè)備接收到服務器發(fā)送來的恢復播放命令后,恢復播放媒體數(shù)據(jù)。
[0058]對多個媒體播放設(shè)備間的同步播放控制還包括對媒體的停止播放控制,可以對服務器發(fā)出停止播放命令,服務器接收到停止播放命令后,可以向所有媒體播放設(shè)備發(fā)送停止播放命令,各媒體播放設(shè)備接收到服務器發(fā)送來的停止播放命令后,停止播放媒體數(shù)據(jù)。
[0059]需要說明的是,由于被選擇作為服務器的媒體播放設(shè)備同時具有媒體播放設(shè)備的功能和服務器的功能,在圖1和圖2所示的本發(fā)明實施例中,被選擇作為服務器的媒體播放設(shè)備中,涉及到服務器和媒體播放設(shè)備間的媒體數(shù)據(jù)傳輸以及播放相關(guān)控制命令的交互(實際上是設(shè)備中服務器功能模塊與媒體播放設(shè)備功能模塊間的交互)與服務器與其它各媒體播放設(shè)備間的媒體數(shù)據(jù)傳舍以及播放相關(guān)控制命令的交互相同相同,不同之處在于前者的交互是在同一設(shè)備中不同功能模塊間進行,后者的交互是在不同設(shè)備間進行。
[0060]從圖2和圖3所示本發(fā)明實施例中可以看出,作為服務器的媒體播放設(shè)備通過從媒體文件中讀取媒體數(shù)據(jù)并發(fā)送至多個媒體播放設(shè)備,可以實現(xiàn)該多個媒體播放設(shè)備間的媒體共享,同時通過向該多個媒體播放設(shè)備發(fā)送播放相關(guān)的控制命令,可以實現(xiàn)在該多個媒體播放設(shè)備間的媒體同步播放控制。
[0061]以上對本發(fā)明實施例在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法進行了詳細說明,本發(fā)明還提供了一種在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的設(shè)備,下面結(jié)合圖3進行詳細說明。
[0062]圖3是本發(fā)明實施例在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的設(shè)備300的結(jié)構(gòu)示意圖,該設(shè)備是從所述多個媒體播放設(shè)備中選出作為服務器的一個媒體播放設(shè)備,如圖3所示,該設(shè)備包括:命令控制模塊301、數(shù)據(jù)發(fā)送模塊302 ;其中,
[0063]命令控制模塊301,用于接收所述多個媒體播放設(shè)備發(fā)送的媒體下載請求;用于接收所述多個媒體播放設(shè)備發(fā)送的播放準備完畢消息;用于在數(shù)據(jù)發(fā)送模塊302從預先選定的媒體文件讀取媒體數(shù)據(jù)并將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備的過程中,如果接收全所述多個媒體播放設(shè)備返回的播放準備完畢消息,則向所述多個媒體播放設(shè)備發(fā)送播放命令,以使所述多個媒體播放設(shè)備開始播放從本設(shè)備接收到的媒體數(shù)據(jù);
[0064]數(shù)據(jù)發(fā)送模塊302,用于命令控制模塊301接收到所述多個媒體播放設(shè)備發(fā)送的媒體下載請求后,從預先選定的媒體文件讀取媒體數(shù)據(jù)并將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備。
[0065]上述設(shè)備中,所述數(shù)據(jù)發(fā)送模塊302在將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備時,用于:將讀取的媒體數(shù)據(jù)利用TCP傳輸協(xié)議發(fā)送至所述多個媒體播放設(shè)備,或者,將讀取的媒體數(shù)據(jù)利用UDP傳輸協(xié)議廣播發(fā)送至所述多個媒體播放設(shè)備,并在廣播發(fā)送媒體數(shù)據(jù)時支持丟包重傳機制。
[0066]所述數(shù)據(jù)發(fā)送模塊302利用UDP傳輸協(xié)議廣播發(fā)送媒體數(shù)據(jù)時支持的丟包重傳機制為:
[0067]將媒體數(shù)據(jù)按照預設(shè)長度封裝到多個廣播數(shù)據(jù)包并為每個廣播數(shù)據(jù)包分配編號,將編號攜帶在包頭中并利用UDP傳輸協(xié)議廣播發(fā)送出去;
[0068]當接收到一個或多個媒體播放設(shè)備在接收到作為服務器的媒體播放設(shè)備發(fā)送的攜帶媒體數(shù)據(jù)和編號的廣播數(shù)據(jù)包并確定丟包后發(fā)送的數(shù)據(jù)包重傳請求時,確定所有數(shù)據(jù)包重傳請求中攜帶的待重傳數(shù)據(jù)包編號中的最小編號,根據(jù)所述預設(shè)長度以及最小的待重傳數(shù)據(jù)包編號確定待重傳媒體數(shù)據(jù)的起始位置并從該起始位置的媒體數(shù)據(jù)開始進行媒體數(shù)據(jù)重傳。
[0069]上述設(shè)備還包括時鐘發(fā)送模塊303 ;
[0070]所述時鐘發(fā)送模塊303,用于按照預設(shè)時間周期向所述多個媒體播放設(shè)備發(fā)送本設(shè)備的時鐘信息,供所述多個媒體播放設(shè)備調(diào)整自身時鐘與本設(shè)備的時鐘一致,并根據(jù)調(diào)整后的時鐘控制媒體數(shù)據(jù)的播放位置。
[0071]上述設(shè)備中,所述命令控制模塊301,進一步用于接收暫停播放命令、恢復播放命令、以及停止播放命令;用于接收到暫停播放命令時,向所述多個媒體播放設(shè)備發(fā)送暫停播放命令,以使所述多個媒體播放設(shè)備暫停播放媒體數(shù)據(jù);用于在向所述多個媒體播放設(shè)備發(fā)送暫停播放命令后,如果接收到恢復播放命令,則向所述多個媒體播放設(shè)備發(fā)送重新播放命令,以使所述多個媒體播放設(shè)備恢復播放處于暫停播放狀態(tài)的媒體數(shù)據(jù);用于接收到停止播放命令時,向所述多個媒體播放設(shè)備發(fā)送停止播放命令,以使所述多個媒體播放設(shè)備命令停止播放媒體數(shù)據(jù)。
[0072]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。
【權(quán)利要求】
1.一種在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法,其特征在于,所述多個媒體播放設(shè)備中的一個被選作為服務器,該方法包括: 作為服務器的媒體播放設(shè)備接收到所述多個媒體播放設(shè)備發(fā)送的媒體下載請求后,從預先選定的媒體文件讀取媒體數(shù)據(jù)并將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備; 作為服務器的媒體播放設(shè)備在從預先選定的媒體文件讀取媒體數(shù)據(jù)并將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備的過程中,如果接收全所述多個媒體播放設(shè)備返回的播放準備完畢消息,則向所述多個媒體播放設(shè)備發(fā)送開始播放命令,以使所述多個媒體播放設(shè)備開始播放從作為服務器的媒體播放設(shè)備接收到的媒體數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法,其特征在于, 所述將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備的方法為:將讀取的媒體數(shù)據(jù)利用TCP傳輸協(xié)議發(fā)送至所述多個媒體播放設(shè)備;或者,將讀取的媒體數(shù)據(jù)利用UDP傳輸協(xié)議廣播發(fā)送至所述多個媒體播放設(shè)備,并在廣播發(fā)送媒體數(shù)據(jù)時支持丟包重傳機制。
3.根據(jù)權(quán)利要求2所述的在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法,其特征在于, 利用UDP傳輸協(xié)議廣播發(fā)送媒體數(shù)據(jù)時支持的丟包重傳機制為: 將媒體數(shù)據(jù)按照預設(shè)長度封裝到多個廣播數(shù)據(jù)包并為每個廣播數(shù)據(jù)包分配編號,將編號攜帶在包頭中并利用UDP傳輸協(xié)議廣播發(fā)送出去; 當接收到一個或多個媒體播放設(shè)備在接收到作為服務器的媒體播放設(shè)備發(fā)送的攜帶媒體數(shù)據(jù)和編號的廣播數(shù)據(jù)包并確定丟包后發(fā)送的數(shù)據(jù)包重傳請求時,確定所有數(shù)據(jù)包重傳請求中攜帶的待重傳數(shù)據(jù)包 編號中的最小編號,根據(jù)所述預設(shè)長度以及最小的待重傳數(shù)據(jù)包編號確定待重傳媒體數(shù)據(jù)的起始位置并從該起始位置的媒體數(shù)據(jù)開始進行媒體數(shù)據(jù)重傳。
4.根據(jù)權(quán)利要求1所述的在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法,其特征在于,該方法進一步包括: 作為服務器的媒體播放設(shè)備按照預設(shè)時間周期向所述多個媒體播放設(shè)備發(fā)送自身的時鐘信息,供所述多個媒體播放設(shè)備調(diào)整自身時鐘與服務器的時鐘一致,并根據(jù)調(diào)整后的時鐘控制媒體數(shù)據(jù)的播放位置。
5.根據(jù)權(quán)利要求1所述的在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的方法,其特征在于,該方法進一步包括: 當作為服務器的媒體播放設(shè)備接收到暫停播放命令時,向所述多個媒體播放設(shè)備發(fā)送暫停播放命令,以使所述多個媒體播放設(shè)備暫停播放媒體數(shù)據(jù); 作為服務器的媒體播放設(shè)備在向所述多個媒體播放設(shè)備發(fā)送暫停播放命令后,如果接收到恢復播放命令,則向所述多個媒體播放設(shè)備發(fā)送恢復播放命令,以使所述多個媒體播放設(shè)備恢復播放處于暫停播放狀態(tài)的媒體數(shù)據(jù); 當作為服務器的媒體播放設(shè)備接收到停止播放命令時,向所述多個媒體播放設(shè)備發(fā)送停止播放命令,以使所述多個媒體播放設(shè)備停止播放媒體數(shù)據(jù)。
6.一種在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的設(shè)備,其特征在于,該設(shè)備是從所述多個媒體播放設(shè)備中選出作為服務器的一個媒體播放設(shè)備,該設(shè)備包括:命令控制模塊、數(shù)據(jù)發(fā)送模塊; 所述命令控制模塊,用于接收所述多個媒體播放設(shè)備發(fā)送的媒體下載請求;用于接收所述多個媒體播放設(shè)備發(fā)送的播放準備完畢消息;用于在數(shù)據(jù)發(fā)送模塊從預先選定的媒體文件讀取媒體數(shù)據(jù)并將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備的過程中,如果接收全所述多個媒體播放設(shè)備返回的播放準備完畢消息,則向所述多個媒體播放設(shè)備發(fā)送播放命令,以使所述多個媒體播放設(shè)備開始播放從本設(shè)備接收到的媒體數(shù)據(jù); 所述數(shù)據(jù)發(fā)送模塊,用于命令控制模塊接收到所述多個媒體播放設(shè)備發(fā)送的媒體下載請求后,從預先選定的媒體文件讀取媒體數(shù)據(jù)并將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備。
7.根據(jù)權(quán)利要求6所述的在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的設(shè)備,其特征在于, 所述數(shù)據(jù)發(fā)送模塊在將讀取的媒體數(shù)據(jù)發(fā)送至所述多個媒體播放設(shè)備時,用于:將讀取的媒體數(shù)據(jù)利用TCP傳輸協(xié)議發(fā)送至所述多個媒體播放設(shè)備,或者,將讀取的媒體數(shù)據(jù)利用UDP傳輸協(xié)議廣播發(fā)送至所述多個媒體播放設(shè)備,并在廣播發(fā)送媒體數(shù)據(jù)時支持丟包重傳機制。
8.根據(jù)權(quán)利要求7所述的在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的設(shè)備,其特征在于, 所述數(shù)據(jù)發(fā)送模塊利用UDP傳輸協(xié)議廣播發(fā)送媒體數(shù)據(jù)時支持的丟包重傳機制為: 將媒體數(shù)據(jù)按照預設(shè)長度封裝到多個廣播數(shù)據(jù)包并為每個廣播數(shù)據(jù)包分配編號,將編號攜帶在包頭中并利用UDP傳輸協(xié)議廣播發(fā)送出去; 當接收到一個或多個媒體播放設(shè)備在接收到作為服務器的媒體播放設(shè)備發(fā)送的攜帶媒體數(shù)據(jù)和編號的廣播數(shù)據(jù)包并確定丟包后發(fā)送的數(shù)據(jù)包重傳請求時,確定所有數(shù)據(jù)包重傳請求中攜帶的待重傳數(shù)據(jù)包編號中的最小編號,根據(jù)所述預設(shè)長度以及最小的待重傳數(shù)據(jù)包編號確定待重傳媒體數(shù)據(jù)的起始位置并從該起始位置的媒體數(shù)據(jù)開始進行媒體數(shù)據(jù)重傳。
9.根據(jù)權(quán)利要求6所述的在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的設(shè)備,其特征在于,該設(shè)備還包括時鐘發(fā)送模塊; 所述時鐘發(fā)送模塊,用于按照預設(shè)時間周期向所述多個媒體播放設(shè)備發(fā)送本設(shè)備的時鐘信息,供所述多個媒體播放設(shè)備調(diào)整自身時鐘與本設(shè)備的時鐘一致,并根據(jù)調(diào)整后的時鐘控制媒體數(shù)據(jù)的播放位置。
10.根據(jù)權(quán)利要求6所述的在多個媒體播放設(shè)備間實現(xiàn)媒體同步播放控制的設(shè)備,其特征在于, 所述命令控制模塊,進一步用于接收暫停播放命令、恢復播放命令、以及停止播放命令;用于接收到暫停播放命令時,向所述多個媒體播放設(shè)備發(fā)送暫停播放命令,以使所述多個媒體播放設(shè)備暫停播放媒體數(shù)據(jù);用于在向所述多個媒體播放設(shè)備發(fā)送暫停播放命令后,如果接收到恢復播放命令,則向所述多個媒體播放設(shè)備發(fā)送重新播放命令,以使所述多個媒體播放設(shè)備恢復播放處于暫停播放狀態(tài)的媒體數(shù)據(jù);用于接收到停止播放命令時,向所述多個媒體播放設(shè)備 發(fā)送停止播放命令,以使所述多個媒體播放設(shè)備命令停止播放媒體數(shù)據(jù)。
【文檔編號】H04N21/6402GK103813205SQ201210452771
【公開日】2014年5月21日 申請日期:2012年11月13日 優(yōu)先權(quán)日:2012年11月13日
【發(fā)明者】劉洋, 孫春紅, 朱春波 申請人:三星電子(中國)研發(fā)中心, 三星電子株式會社