国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種分布式播放器流量控制方法及系統(tǒng)的制作方法

      文檔序號:9436472閱讀:604來源:國知局
      一種分布式播放器流量控制方法及系統(tǒng)的制作方法
      【技術(shù)領域】
      [0001] 本申請涉及互聯(lián)網(wǎng)應用技術(shù)領域,具體地說,涉及一種分布式播放器流量控制方 法及系統(tǒng)。
      【背景技術(shù)】
      [0002] 當前,視頻播放器,通常是指能播放以數(shù)字信號形式存儲的媒體文件的軟件,也指 具有播放媒體文件功能的電子器件產(chǎn)品。除了少數(shù)波形文件外,大多數(shù)視頻播放器攜帶視 音頻解碼器和顯示部件以還原經(jīng)過壓縮媒體文件,視頻播放器還要內(nèi)置一整套轉(zhuǎn)換以及緩 存的算法。當然大多數(shù)的視頻播放器還能支持播放單音頻文件或者單視頻文件。
      [0003] 一般的處理過程為:
      [0004] 輸入。從文件或網(wǎng)絡等讀取原數(shù)據(jù),如x.avi,x. 1]1〇¥,1^8口:/八11,對原數(shù)據(jù)進行解 析,比如文件,首先要分析文件格式,從文件中取得音視頻編碼參數(shù),媒體時間長度等信息, 然后要從其中取出音頻編碼數(shù)據(jù)和視頻編碼數(shù)據(jù)送到解碼部分,這里暫稱這種編碼源數(shù)據(jù) 塊為packet。
      [0005] 解碼。初始化時,利用輸入端從源數(shù)據(jù)中取得的信息調(diào)用不同的解碼庫初始化;然 后接收輸入端傳送來的音視頻編碼數(shù)據(jù),分別進行音頻解碼和視頻解碼,視頻解碼出來的 數(shù)據(jù)一般是YUV或RGB數(shù)據(jù),這里暫稱為picture,音頻解碼出來的數(shù)據(jù)是采樣數(shù)據(jù),是聲卡 播放的數(shù)據(jù),這里暫稱為sample。解碼所得的數(shù)據(jù)接下來送到輸出部分。
      [0006] 輸出。接收解碼部分送來的picture和sample并顯示。視頻顯示一般使用某個圖 形庫,如SDL,Xlib,DirectDraw,OpengGL,F(xiàn)rameBuffer等,音頻輸出是把sample寫入系統(tǒng) 的音頻驅(qū)動,由音頻驅(qū)動送入聲卡播放,可用的音頻輸出有ALSA,OSS,SDL,DirectSound, WaveOut等。
      [0007] 現(xiàn)有技術(shù)中,通過分布式播放器在一個終端(播放器1)播放另外一個終端(播 放器2)上面的媒體文件,播放器1需要先和播放器2建立連接,通過網(wǎng)絡傳遞各種控制命 令,播放過程中傳遞的視音頻數(shù)據(jù)也會跟這些控制命走相同的通道。視音頻數(shù)據(jù)量很大,開 始播放以后下行通道內(nèi)的視音頻數(shù)據(jù)會源源不斷的涌入,堵塞下行通道。這時如果要發(fā)出 Pause、Seek、Stop等控制動作時,上行通道將控制命令發(fā)出去,但控制命令響應從下行通道 返回時,就會被大量的視音頻數(shù)據(jù)堵塞。只有下行通道中大量的數(shù)據(jù)被消耗完,才能接收到 控制命令的響應,整個過程相當漫長甚至永遠阻塞,用戶體驗會非常不好,而且還會浪費帶 寬。

      【發(fā)明內(nèi)容】

      [0008] 有鑒于此,本申請所要解決的技術(shù)問題是提供了一種分布式播放器流量控制方法 及系統(tǒng),其能夠解決現(xiàn)有技術(shù)中播放器播放存在的流量控制問題,能夠提高播放媒體文件 的速度和效率,避免控制命令的堵塞,提高用戶滿意度。
      [0009] 為了解決上述技術(shù)問題,本申請有如下技術(shù)方案:
      [0010] -種分布式播放器流量控制方法,包括:
      [0011] 播放器1控制層和播放器2控制層建立連接;
      [0012] 播放器1控制層向播放器2控制層發(fā)送解復用命令Cmdprap_;
      [0013] 播放器2控制層收到CmcUPara后,根據(jù)所述解復用命令中的媒體文件信息構(gòu)建解 復用模塊和數(shù)據(jù)發(fā)送模塊;向播放器1控制層回復消息解復用Ready消息;
      [0014] 播放器1控制層收到所述解復用Ready消息后,根據(jù)所述解復用Ready消息包含 的媒體信息構(gòu)建數(shù)據(jù)接收模塊、解碼模塊和渲染模塊;并通知UI播放;
      [0015] 所述UI操作播放后,播放器1控制層向播放器2控制層發(fā)送命令Cmdd_ x;
      [0016] 播放器2控制層收到Cmdd_x命令后,啟動解復用模塊,解復用模塊開始從10中讀 取媒體文件數(shù)據(jù),解復用分離出原始流數(shù)據(jù),并通過數(shù)據(jù)發(fā)送模塊把原始流數(shù)據(jù)發(fā)送出去; 向播放器1回復解復用Play消息;
      [0017] 播放器1控制層收到Play消息后,啟動數(shù)據(jù)接收模塊、解碼模塊和渲染模塊;數(shù)據(jù) 接收模塊接收到原始流數(shù)據(jù)交給解碼模塊,解碼模塊解碼輸出的數(shù)據(jù)發(fā)送給渲染模塊,渲 染模塊完成渲染輸出。
      [0018] 所述播放器1和播放器2控制層在建立播放連接時要核對起始時鐘,保證兩端的 計時時鐘1^的同步。
      [0019] 所述解復用模塊和數(shù)據(jù)發(fā)送模塊初始化完成后,播放器2處于Ready狀態(tài)之后,播 放器2控制層會向播放器1控制層回復消息解復用Ready消息。
      [0020] 所述解碼模塊和渲染模塊初始化完成后,所有的播放模塊都處于Ready狀態(tài),此 時通知所述UI播放。
      [0021] 所述方法還包括:
      [0022] 播放的視音頻數(shù)據(jù)流在解復用完畢以后根據(jù)視頻音頻信息打上時間戳信息Tf;
      [0023] 當開始播放的時候記錄下系統(tǒng)開始時間Tgs和視音頻開始時間T fs,當 ((Tf_Tfs) - (Tg_Tgs)) > T A,需要減緩發(fā)送的速度,避免擁塞;
      [0024] 接受端將接收到視音頻幀數(shù)據(jù)的延遲時間Tdelay,發(fā)回發(fā)送端,當Tdelay> 2*T A,設 置& = r。+ r以減慢發(fā)送速度;當Tdelay< T A,設置巧=巧+ P,.以加快發(fā)送速度;
      [0025] 其中,Tf為視音頻幀的播放時間;T gs為播放時系統(tǒng)起始時間;T &為視音頻幀的起 始時間;Tg為系統(tǒng)當前時間;T A為時間偏差閾值;Tdelay為接收端接收到發(fā)送端發(fā)送的數(shù)據(jù) 的延遲Tdelay,T 5為Tgs和T &每次需要修正的偏差。
      [0026] -種分布式播放器流量控制系統(tǒng),包括:播放器1和播放器2 ;其中,
      [0027] 所述播放器1,用于和播放器2控制層建立連接;向播放器2控制層發(fā)送解復用命 令CmcU ep_;收到解復用Ready消息后,根據(jù)所述解復用Ready消息包含的媒體信息構(gòu)建數(shù) 據(jù)接收模塊、解碼模塊和渲染模塊;并通知UI播放;UI操作播放后,向播放器2控制層發(fā)送 命令Cmd d_x;收到Play消息后,啟動數(shù)據(jù)接收模塊、解碼模塊和渲染模塊;數(shù)據(jù)接收模塊接 收到原始流數(shù)據(jù)交給解碼模塊,解碼模塊解碼輸出的數(shù)據(jù)發(fā)送給渲染模塊,渲染模塊完成 植染輸出;
      [0028] 所述播放器2,用于控制層收到CmcUPara后,根據(jù)所述解復用命令中的媒體文件信 息構(gòu)建解復用模塊和數(shù)據(jù)發(fā)送模塊;向所述播放器1控制層回復消息解復用Ready消息; 收到Cmdd_x命令后,啟動解復用模塊,解復用模塊開始從10中讀取媒體文件數(shù)據(jù),解復用 分離出原始流數(shù)據(jù),并通過數(shù)據(jù)發(fā)送模塊把原始流數(shù)據(jù)發(fā)送出去;向播放器1回復解復用 Play消息。
      [0029] 所述播放器2還用于:所述解復用模塊和數(shù)據(jù)發(fā)送模塊初始化完成后,播放器2處 于Ready狀態(tài)之后,播放器2控制層會向播放器1控制層回復消息解復用Ready消息。
      [0030] 所述播放器1和播放器2控制層在建立播放連接時要核對起始時鐘,保證兩端的 計時時鐘1^的同步。
      [0031] 所述播放器1還用于:所述解碼模塊和渲染模塊初始化完成后,所有的播放模塊 都處于Ready狀態(tài),此時通知所述UI播放。所述播放器1播放的視音頻數(shù)據(jù)流在解復用完 畢以后根據(jù)視頻音頻信息打上時間戳信息T f;
      [0032] 當開始播放的時候記錄下系統(tǒng)開始時間Tgs和視音頻開始時間T fs,當 ((Tf_Tfs) - (Tg_Tgs)) > T A,需要減緩發(fā)送的速度,避免擁塞;
      [0033] 接受端將接收到視音頻幀數(shù)據(jù)的延遲時間Tdelay,發(fā)回發(fā)送端,當T delay> 2*T A,設 以減慢發(fā)送速度;當T<teiay<Ta,設置;=r>+rp,以加快發(fā)送速度;
      [0034] 其中,Tf為視音頻幀的播放時間;T gs為播放時系統(tǒng)起始時間;T &為視音頻幀的起 始時間;Tg為系統(tǒng)當前時間;T A為時間偏差閾值;Tdelay為接收端接收到發(fā)送端發(fā)送的數(shù)據(jù) 的延遲Tdelay,r*為T gs和T &每次需要修正的偏差。
      [0035] 與現(xiàn)有技術(shù)相比,本申請所述的方法和系統(tǒng),達到了如下效果:
      [0036]
      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1