我用x264的庫編碼視頻流,編碼使用的是 baseline, zerolatency, ultrafast的模式,然后傳到客服端,客戶端用FFmpeg來解碼資料,但是我發現解碼總是延遲一幀。比如客服端接收到了 A,B,C三幀資料,當解碼A 幀的時候,并沒有得到資料,在解碼B幀的時候,才會得到A幀的資料。
對于我的視頻流來說只有I幀和P幀,沒有B幀,所以我覺得解碼的時候應該不會延遲啊!我在網上查找了資料,有人認為是多執行緒幀解碼造成的,但是我調整AVCodecContext thread_type = 0,沒有效果。我是在Windows上開發的,解碼的方法就是參考的FFmpeg的例子。
難道ffmpeg 解碼 h.264一定會延遲一幀嗎?或者需要設定解碼器的什么引數呢?
uj5u.com熱心網友回復:
我當時做的時候,最開始的一幀好像也有問題uj5u.com熱心網友回復:
難道ffmpeg 解碼 h.264一定會延遲一幀嗎? 我google了一圈,有人說是因為多執行緒解碼造成的????求大神答疑啊!!!!!
uj5u.com熱心網友回復:
我udp接受,默認延遲五秒,改引數以后延遲1S。你這延遲一幀已經很給力了uj5u.com熱心網友回復:
延遲一幀?服務器開個秒表,客戶端接流拍個照看下有沒有,然后用ffplay也試試(設定不延時)轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/52896.html
標籤:圖形處理/算法
