本發明專利技術公開了一種音視頻直播的實現方法以及服務器,所述方法包括:當有新的客戶端接入時,按照快進播放的原則,對所緩存的距離當前時刻最近的GOP數據進行修改;將修改后的GOP數據發送給客戶端進行播放。應用本發明專利技術所述方案,能夠提高直播質量等。
Method and server for realizing live broadcast of audio and video
The invention discloses a method for realizing the server and an audio and video broadcast, the method includes: when a new client access, in accordance with the principle of playback, the cache from the current time GOP data recently modified; GOP data sent to the client after the amendment of the play. By adopting the proposal of the invention, the quality of direct seeding can be improved.
【技術實現步驟摘要】
一種音視頻直播的實現方法和服務器
本專利技術涉及互聯網技術,特別涉及一種音視頻直播的實現方法和服務器。
技術介紹
在音視頻直播過程中,首屏打開時間和端到端延遲是影響用戶體驗質量的兩個主要指標。為了減少首屏打開時間,現有技術中通常采用以下處理方式:在服務器中緩存距離當前時刻最近的畫面組(GOP,GroupofPictures)數據,當有新的客戶端接入時,從所緩存的GOP數據中的第一幀數據開始,依次將各幀數據發送給客戶端,客戶端即從GOP數據中的第一幀數據開始播放,從而會導致引入一個GOP的端到端延遲。而為了減少端到端延遲,現有技術中通常采用以下處理方式:不進行數據緩存,新接入的客戶端直接從最新的幀數據開始播放,但由于最新的幀數據往往不是關鍵幀,不能獨立解碼播放,因此會導致出現一段時間的黑屏或花屏,即導致首屏打開時間變長,影響首屏體驗。可見,現有方式中,如果要減少首屏打開時間,則會導致端到端延遲變長,如果要減少端到端延遲,則會導致首屏打開時間變長,無論是哪種方式,均會降低直播質量。
技術實現思路
本專利技術提供了一種音視頻直播的實現方法和服務器,能夠提升直播質量。具體技術方案如下:一種音視頻直播的實現方法,包括:當有新的客戶端接入時,按照快進播放的原則,對所緩存的距離當前時刻最近的畫面組GOP數據進行修改;將修改后的GOP數據發送給所述客戶端進行播放。根據本專利技術一優選實施例,所述GOP數據中包括:距離當前時刻最近的I幀數據,以及,所述I幀數據之后到所述當前時刻的所有幀數據;對所述GOP數據進行修改包括:依次對所述GOP數據中的各幀數據進行時間戳壓縮。根據本專利技術一優選實施例,所述依次對所述GOP數據中的各幀數據進行時間戳壓縮之前,進一步包括:丟棄所述GOP數據中的部分或全部非參考幀數據;所述依次對所述GOP數據中的各幀數據進行時間戳壓縮包括:依次對所述GOP數據中剩余的各幀數據進行時間戳壓縮。根據本專利技術一優選實施例,所述將修改后的GOP數據發送給所述客戶端進行播放之后,進一步包括:當獲取到的新的音視頻數據時,將所述音視頻數據發送給所述客戶端進行播放。根據本專利技術一優選實施例,該方法進一步包括:為所述客戶端創建一個隊列;所述將修改后的GOP數據發送給所述客戶端包括:將所述修改后的GOP數據放入到所述隊列中,將所述隊列中的數據發送給所述客戶端;所述將所述音視頻數據發送給所述客戶端包括:將所述音視頻數據加入到所述隊列中,將所述隊列中的數據發送給所述客戶端。一種服務器,包括:處理單元和發送單元;所述處理單元,用于當有新的客戶端接入時,按照快進播放的原則,對所緩存的距離當前時刻最近的畫面組GOP數據進行修改,并將修改后的GOP數據發送給所述發送單元;所述發送單元,用于將所述修改后的GOP數據發送給所述客戶端進行播放。根據本專利技術一優選實施例,所述GOP數據中包括:距離當前時刻最近的I幀數據,以及,所述I幀數據之后到所述當前時刻的所有幀數據;所述處理單元中包括:緩存子單元以及修改子單元;所述緩存子單元,用于緩存所述GOP數據;所述修改子單元,用于當有新的客戶端接入時,從所述緩存子單元中獲取所述GOP數據,并依次對所述GOP數據中的各幀數據進行時間戳壓縮,將修改后的GOP數據發送給所述發送單元。根據本專利技術一優選實施例,所述修改子單元進一步用于,在依次對所述GOP數據中的各幀數據進行時間戳壓縮之前,丟棄所述GOP數據中的部分或全部非參考幀數據;依次對所述GOP數據中剩余的各幀數據進行時間戳壓縮。根據本專利技術一優選實施例,所述處理單元中進一步包括:獲取子單元;所述獲取子單元,用于當獲取到的新的音視頻數據時,將所述音視頻數據發送給所述發送單元。根據本專利技術一優選實施例,所述發送單元進一步用于,為所述客戶端創建一個隊列;將接收到的所述修改后的GOP數據以及所述音視頻數據均加入到所述隊列中;將所述隊列中的數據發送給所述客戶端。通過上述介紹可以看出,采用本專利技術所述方案,可對所緩存的GOP數據進行修改,以使得這些數據在到達客戶端時能夠快進播放,從而盡可能地減少了端到端延遲,而且,通過緩存GOP數據,減少了首屏打開時間,從而提高了直播質量。【附圖說明】圖1為本專利技術所述音視頻直播的實現方法實施例的流程圖。圖2為本專利技術所述隊列的示意圖。圖3為本專利技術所述音視頻直播的實現方法較佳實施例的流程圖。圖4為本專利技術所述服務器實施例的組成結構示意圖。【具體實施方式】為了使本專利技術的技術方案更加清楚、明白,以下參照附圖并舉實施例,對本專利技術所述方案作進一步地詳細說明。實施例一圖1為本專利技術所述音視頻直播的實現方法實施例的流程圖,如圖1所示,包括以下具體實現方式:在11中,當有新的客戶端接入時,按照快進播放的原則,對所緩存的距離當前時刻最近的GOP數據進行修改;在12中,將修改后的GOP數據發送給客戶端進行播放。在實際應用中,上述11和12的執行主體可為服務器,如可為流媒體服務器等。可在服務器上緩存距離當前時刻最近的GOP數據,由于所述“當前時刻”是在不斷變化的,那么對應的所緩存的GOP數據也會不斷變化。所緩存的GOP數據中可包括:距離當前時刻最近的I幀數據,以及,I幀數據之后到當前時刻的所有幀數據。這樣,當有新的客戶端接入時,可首先獲取距離當前時刻最近的GOP數據,并對其進行修改,以便當這些數據發送到客戶端時,可以快進播放。所述修改可采用以下方式:依次對GOP數據中的各幀數據進行時間戳壓縮。比如,前一幀數據的時間戳為t,正常播放的情況下,下一幀數據的時間戳為t+33ms(如果是30fps的話),那么可將下一幀數據的時間戳修改為t+3.3ms,以實現時間戳壓縮。將各幀數據的時間戳分別修改為多少可根據實際需要而定,需要的快進速度越快,時間戳壓縮的就會越多。由于GOP數據中的第一幀數據為I幀數據,作為第一幀數據,可不用對其進行時間戳壓縮,而是對I幀數據之后的各幀數據依次進行時間戳壓縮。通過進行時間戳壓縮,后續客戶端可以實現快進播放,即加快GOP數據對應的一段視頻的播放速度。為了進一步加快播放速度,還可以在進行時間戳壓縮之前,先進行非參考幀數據丟棄,即在獲取到距離當前時刻最近的GOP數據之后,可首先丟棄其中的部分或全部的非參考幀數據,然后再依次對GOP數據中剩余的各幀數據進行時間戳壓縮。具體丟棄哪些非參考幀數據可根據實際需要而定,比如,可丟棄部分B幀數據。GOP數據中可包括三種類型的幀數據,分別為I幀數據、P幀數據和B幀數據。其中,I幀為關鍵幀,I幀畫面完整保留,解碼時只需要本幀數據即可完成。P幀為前向預測幀,記錄的是這一幀和之前的一個關鍵幀或P幀的差別,解碼時需要用之前緩存的畫面疊加上本幀定義的差別,生成最終畫面。B幀為雙向內插幀,記錄的是本幀與前后幀的差別,換言之,要解碼B幀,不僅需要取得之前的緩存畫面,還要解碼之后的畫面,通過前后畫面與本幀數據的疊加取得最終的畫面。在緩存GOP數據時,可同時緩存GOP數據對應的音頻數據,即從I幀時刻開始的音頻數據,由于快進播放時有聲音的話效果會比較差,因此,當緩存有GOP數據對應的音頻數據時,在修改GOP數據時,通常會丟棄音頻數據,所以也可以直接不緩存音頻數據。服務器可將修改后的GOP數據發送給客戶端進行播放,之后,當獲取到本文檔來自技高網...

【技術保護點】
一種音視頻直播的實現方法,其特征在于,包括:當有新的客戶端接入時,按照快進播放的原則,對所緩存的距離當前時刻最近的畫面組GOP數據進行修改;將修改后的GOP數據發送給所述客戶端進行播放。
【技術特征摘要】
1.一種音視頻直播的實現方法,其特征在于,包括:當有新的客戶端接入時,按照快進播放的原則,對所緩存的距離當前時刻最近的畫面組GOP數據進行修改;將修改后的GOP數據發送給所述客戶端進行播放。2.根據權利要求1所述的方法,其特征在于,所述GOP數據中包括:距離當前時刻最近的I幀數據,以及,所述I幀數據之后到所述當前時刻的所有幀數據;對所述GOP數據進行修改包括:依次對所述GOP數據中的各幀數據進行時間戳壓縮。3.根據權利要求2所述的方法,其特征在于,所述依次對所述GOP數據中的各幀數據進行時間戳壓縮之前,進一步包括:丟棄所述GOP數據中的部分或全部非參考幀數據;所述依次對所述GOP數據中的各幀數據進行時間戳壓縮包括:依次對所述GOP數據中剩余的各幀數據進行時間戳壓縮。4.根據權利要求1、2或3所述的方法,其特征在于,所述將修改后的GOP數據發送給所述客戶端進行播放之后,進一步包括:當獲取到的新的音視頻數據時,將所述音視頻數據發送給所述客戶端進行播放。5.根據權利要求4所述的方法,其特征在于,該方法進一步包括:為所述客戶端創建一個隊列;所述將修改后的GOP數據發送給所述客戶端包括:將所述修改后的GOP數據放入到所述隊列中,將所述隊列中的數據發送給所述客戶端;所述將所述音視頻數據發送給所述客戶端包括:將所述音視頻數據加入到所述隊列中,將所述隊列中的數據發送給所述客戶端。6.一種服務器,其特征在于,包括:處理單元和發...
【專利技術屬性】
技術研發人員:沈慧鋒,黃靖博,李旭,
申請(專利權)人:北京百度網訊科技有限公司,
類型:發明
國別省市:北京,11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。