A:如何确定h.264的码率?
码率 = 编码产生的总比特数 * 帧频 / 编码总帧数
码率控制机制就是使编码器编码产生的码流尽量符合你设定的码率。从上面的公式可以看出,当编码帧数和帧频确定后,码率控制要做的就是控制编码产生的比特数。
A:我现在想通过解码端提取码率的值
可我怎么也找不到编码产生的总比特数和帧频的变量啊?
解码怎么可能知道码率呢?码率并不是码流中的语法元素。看来你没明白为什么要设置码率,为什么要进行 RC。因为码流要在信道上传输,根据香农第三定律,码率不能大于信道带宽。所以我们编码才需要控制码率。也就是说码率只有在考虑到信道传输的时候才有实际意义,对于解码器,没有码率的概念。
解码也要考虑码率,不同的profile/level限制了vbv,解码器能解码的能力也要保证vbv不上溢和下溢.
码流中没有关于码率的语法元素,不可能从码流中获得。你说的是 SEI。如果没有 SEI 的话,是无法从码流中获得码率的。(SEI里面含有一些附加信息,如closed caption等。)