方法,應用于發送端,所述方法包括:
[0052]步驟11,向多個接收端發送攜帶有時間戳的音視頻數據單元以及攜帶有報告周期的同步報告指令;
[0053]步驟12,接收各接收端根據音視頻數據單元中的時間戳以及同步報告指令反饋的同步報告;
[0054]步驟13,根據發送的音視頻數據單元的時間戳和各接收端反饋的同步報告,分別生成同步調整參數,并發送給各接收端。
[0055]本發明的上述實施例通過發送端設備向多個接收端發送攜帶有時間戳的音視頻數據單元以及攜帶有報告周期的同步報告指令;接收各接收端根據音視頻數據單元中的時間戳以及同步報告指令反饋的同步報告;根據發送的音視頻數據單元的時間戳和各接收端反饋的同步報告,分別生成同步調整參數,并發送給各接收端,從而可以使各個接收端依據其接收到的同步調整參數對其音視頻數據單元的播放速率進行調整,從而能夠有效保證多設備之間可以同步進行播放。
[0056]本發明的上述實施例應用于一對多的應用場景,即一個發送端設備對應多個接收端設備,在發送端發送音視頻數據單元以及同步報告指令給多個接收端后,各接收端反饋的同步報告包括:各接收端在所述報告周期內,以所述音視頻數據單元中的時間戳值為起始時間播放音視頻數據單元的時長。如報告周期為10分鐘,該同步報告中包括接收端在接收到發送端發送的音視頻數據單元的時間戳值為起始時間的10分鐘內的播放時長。
[0057]具體的,上述實施例中,步驟13中,根據發送的音視頻數據單元的時間戳以及各接收端反饋的同步報告,分別生成同步調整參數的步驟包括:
[0058]步驟131,根據發送的數據單元的時間戳,以及各接收端反饋的在所述同步周期內,以所述時間戳為起始時間播放音視頻數據單元的時長,獲得各接收端在所述同步周期內播放數據單元的播放速率;
[0059]步驟132,根據各接收端在所述同步周期內播放音視頻數據單元的播放速率,分別生成各個接收端的同步調整參數。
[0060]其中,步驟131中可以
[0061]通過公式r = (Tl-T2)/(tl-t2)獲得,各接收端在所述同步周期內播放音視頻數據單元的播放速率;其中,Tl為發送端向一接收端發送的一個音視頻數據單元中的時間戳值;tl為該接收端在報告周期內以Tl為起始時間播放音視頻數據單元的時長;T2為發送端向該接收端發送的下一個數據單元中的時間戳值;t2為該接收端在報告周期內以T2為起始時間播放音視頻數據單元的時長為接收端在所述同步周期內的播放速率。
[0062]進一步的,步驟132中,可以
[0063]通過公式C = rl/r2分別生成各個接收端的同步調整參數;
[0064]其中,rl為一接收端對應的r值,r2為多個接收端對應的r值的中值,且多個接收端按照其對應的r值進行排序;C為所要生成的同步調整參數。
[0065]如圖2所示,發送端將C發送至各個接收端。當C>1,意味著報告周期內,對比基準的時間戳消耗了過多的數據單元,需要降低播放速率;當c〈l,意味著報告周期內,對比基準時間戳消耗的數據單元過少,需要提高播放速率。接收端對于播放速率的調整,有各種方法,比如對于音頻進行重采樣、對于視頻調整幀率等;
[0066]在本發明的一具體實施例中,包括上述步驟11 - 13的基礎上,上述方法還可以進一步包括:
[0067]如果各接收端中,有超過預設個數的接收端在同步周期內播放音視頻數據單元的播放速率超過一預設閾值,則調整報告周期,并將調整后的報告周期攜帶在同步報告指令中發送給接收端。進一步的,如果報告周期調整都不能滿足要求,可以進行故障報告;如果接收端同步調整超過其能力,可以進行故障報告。
[0068]本發明的上述實施例中,發送端通過向多個接收端發送攜帶有時間戳的音視頻數據單元以及攜帶有報告周期的同步報告指令;并接收各接收端根據音視頻數據單元中的時間戳以及同步報告指令反饋的同步報告;并根據發送的音視頻數據單元的時間戳和各接收端反饋的同步報告,分別生成同步調整參數,并發送給各接收端,使各接收端根據其接收到的同步調整參數對音視頻數據單元的播放速率進行調整,使得各接收端能夠同步進行音視頻播放。
[0069]本發明的實施例還提供一種多設備間數據同步的裝置,應用于發送端,包括:
[0070]發送模塊,用于向多個接收端發送攜帶有時間戳的音視頻數據單元以及攜帶有報告周期的同步報告指令;
[0071]接收模塊,用于接收各接收端根據音視頻數據單元中的時間戳以及同步報告指令反饋的同步報告;
[0072]處理模塊,用于根據發送的音視頻數據單元的時間戳和各接收端反饋的同步報告,分別生成同步調整參數,并由所述發送模塊發送給各接收端。
[0073]本發明的實施例還提供一種發送端,包括如上所述的裝置。
[0074]需要說明的是,上述發送端的多設備間數據同步的裝置是與上述方法對應的裝置,上述方法的所有實現方式均適用于該裝置的實施例中,也能達到相同的技術效果。上述的發送端設備可以是任何能夠發送音視頻數據單元的設備,如基于Miracast標準(視頻分享的無線協議)的音視頻數據處理設備。
[0075]與上述發送端方法相應的,在本發明的應用場景的接收端,本發明的實施例還提供一種多設備間數據同步的方法,應用于接收端,所述方法包括:
[0076]步驟21,接收發送端發送的含有時間戳的音視頻數據單元和含有報告周期的同步報告指令;
[0077]步驟22,根據時間戳以及同步報告指令向發送端反饋同步報告;
[0078]步驟23,接收發送端根據時間戳和各接收端反饋的同步報告產生并發送的同步調整參數,并根據所述同步調整參數調整自身的播放速率。
[0079]本發明的上述實施例中,接收端通過接收發送端發送的含有時間戳的音視頻數據單元和含有報告周期的同步報告指令;根據時間戳以及同步報告指令向發送端反饋同步報告;接收發送端根據時間戳和各接收端反饋的同步報告產生并發送的同步調整參數,并根據所述同步調整參數調整自身的播放速率,使得各接收端能夠同步進行音視頻播放。
[0080]其中,上述實施例中,所述同步報告包括:接收端在所述報告周期內,以所述音視頻數據單元中的時間戳值為起始時間播放音視頻數據單元的時長。
[0081]本發明的具體實施例中,上述步驟23中:
[0082]當同步調整參數大于I時,降低自身播放速率;當同步調整參數小于I時,提高自身播放速率;當同步調整數等于I時,自身播放速率不變。也就是說,接收端接收到發送端發送的C值后,當C>1,意味著報告周期內,對比基準的時間戳消耗了過多的數據單元,需要降低播放速率;當c〈l,意味著報告周期內,對比基準時間戳消耗的數據單元過少,需要提高播放速率。接收端對于播放速率的調整,有各種方法,比如對于音頻進行重采樣、對于視頻調整幀率等。
[0083]本發明的實施例還提供一種多設備間數據同步的裝置,應用于接收端,包括:
[0084]接收模塊,用于接收發送端發送的含有時間戳的音視頻數據單元和含有報告周期的同步報告指令;
[0085]反饋模塊,用于根據時間戳以及同步報告指令向發送端反饋同步報告;
[0086]調整模塊,用于接收