A:如何確定h.264的碼率?
碼率 = 編碼產生的總比特數 * 幀頻 / 編碼總幀數
碼率控制機制就是使編碼器編碼產生的碼流盡量符合你設定的碼率。從上面的公式可以看出,當編碼幀數和幀頻確定后,碼率控制要做的就是控制編碼產生的比特數。
A:我現在想通過解碼端提取碼率的值
可我怎么也找不到編碼產生的總比特數和幀頻的變量啊?
解碼怎么可能知道碼率呢?碼率并不是碼流中的語法元素。看來你沒明白為什么要設置碼率,為什么要進行 RC。因為碼流要在信道上傳輸,根據香農第三定律,碼率不能大于信道帶寬。所以我們編碼才需要控制碼率。也就是說碼率只有在考慮到信道傳輸的時候才有實際意義,對于解碼器,沒有碼率的概念。
解碼也要考慮碼率,不同的profile/level限制了vbv,解碼器能解碼的能力也要保證vbv不上溢和下溢.
碼流中沒有關于碼率的語法元素,不可能從碼流中獲得。你說的是 SEI。如果沒有 SEI 的話,是無法從碼流中獲得碼率的。(SEI里面含有一些附加信息,如closed caption等。)