音視頻幀關於PCR同步問題

 

PCR同步在非硬件精確時鐘源的情況還是謹慎使用,gstreamer裏面採用PCR同步,但是發現好多ffmpeg轉的片兒,或者是CP方的片源,pcr打得很粗糙的,老是有跳幀等現象。
音視頻同步,有三種方法,視頻同步音頻,音頻同步視頻,同步到外部時鐘!
第三種,同步到外部時鐘也就是PCR同步,和我上面說的那種同步方式,一樣!
用的最多的還是,視頻同步音頻,爲什麼呢?音頻的採樣率是固定的,若音頻稍有卡頓,都會很明顯的聽出來,反則視頻則不如此,雖然表面上說的是30fps,不一定每一幀的間隔就必須精確到33.33ms,因爲人肉眼是觀察不出來的,所以視頻的幀率可以是動態的,並不是嚴格標準的!
用視頻同步音頻,做法很簡單!首先,音頻線程只管自己獨立解碼播放。視頻線程在顯示之前只需要檢測視頻PTS是否大於音頻PTS,若大,則等待音頻PTS>=視頻PTS,若小,則直接播放,小太多則可以直接丟棄(跳幀)。做法就如此簡單!但前提是你編碼器一定要打好正確的PTS,若沒有則只有自己僞造PTS了!

 

參考:

http://www.mamicode.com/info-detail-1725645.html?__cf_chl_jschl_tk__=f358e69a798e02876592f4abdee7553c1eb6d43f-1584517225-0-AfPgI6zR5dFo_fyP8GevJhAw2LjisHYagmQ5CtnQ3Ps7jXdhImeY2rFaz3sivx8ZJG51uXoUDrg1tDcJUN4__pZzMCebVPaMKXlYZLK_mxpuIjtIMCKWO7owJj3E66gn3GWLv-dRQLTz3cXDWfb3lGXFhi6X_zulBlvfBo-LCSnHgo5kaz5QVsEZOOev_mu4cCisV2bLQW5D6sDB4avQz44MUPPqyaLQg2lVZaHT36sBt6Z25uCzoWU1-u94hAnVpEM2y5eYGGvf1glHtEioiiE1IiToKZ4Iu2zsoRk6IF21whKnoTgOrRibzCnPrZKSrA

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