實現 Lip-sync

        在網絡上,同時傳輸音頻和視頻並且在不同的通道傳輸,就涉及到了脣音同步(Lip-sync)的問題,比如SIP視頻通話、視頻會議等。
 最近在研究這個問題,對Lip-sync有所瞭解。介紹一種通用易懂的架構。如下:


 1.發送端的動作
    音頻幀和視頻幀都打上時間戳(以同樣的時間基(timebase),比如系統運行的時間)


 2.接收端的動作
   1)媒體內同步
      創建音頻和視頻的jitter 緩衝區,來處理延遲抖動、丟包、亂序導致的播放不流暢問題。
   2)媒體間同步
      以音頻爲主流,視頻爲從流。
      音頻播放之前,緩衝一定數量的音頻幀。 定時從音頻緩衝區中取得一個音頻幀進行播放,
      並記錄下時間戳Ta。然後從視頻緩衝區中取得一個視頻幀,其時間戳Tv與Ta進行對比,來決定
      是立即顯示、丟棄還是稍後顯示。


      以上就是簡單的脣音同步的方案,僅在接收端進行改善,但是音頻和視頻不同步,

  有很多原因:採集不同步、編碼不同步、網絡打包不同步、網絡傳輸不同步、 網絡解包不同步,解碼不同步。

  故,實現脣音同步,不僅可以在接收端進行改善,同時也可以在發送端做改善的處理,在此不做描述。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章