一 H.264解码得YUV![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2cfd085be4b35d4ab7777dc8831d7770.png)
原H.264 | 生成的yuv |
---|---|
![]() | ![]() |
二 YUV编码得H.264
固定码率,以不同的GOP长度及形状编码:
a.GOP=15,2B帧
b.GOP=12, 2B帧
c.GOP=9,2B帧
d.GOP=4,1B帧
e.GOP=12, 无B帧
f.GOP=1,全I帧
相同GOP长度及形状,不同码率:
1000kb/s 800kb/s 400kb/s
生成H.264文件
命令行代码:lencod.exe -d encoder.cfg -p
ReconFile= “vdemo_dec.yuv” -p
OutputFile= “1.264” -p
IntraPeriod=15 -p
NumberBFrames=2 -p
Bitrate=1000000 -p
RCUpdateMode=0
lencod.exe -f encoder.cfg
或修改相应位置代码
例:
-
GOP=15,2B帧,1000kb/s
-
GOP=1,全I帧,1000kb/s
-
GOP=9,2B帧,1000kb/s
-
GOP=15,2B帧,800kb/s
三.用码流分析软件检查所生成的码流中各种编码模式和运动矢量等信息
以GOP=15,2B帧,1000kb/s为例
1.P帧
前向预测帧P帧,运动矢量只有前向预测所得的运动矢量,可看到只有绿色的运动矢量
2.B帧
双向预测帧B帧,运动矢量有两种,前向预测所得和后向预测所得,可看到红色绿色两种不同的运动矢量。
3.I帧
I帧,帧内编码,无法参考其他帧,运动矢量是不存在的。
四.用播放器观看所生成码流的质量
-
GOP=15,2B帧,1000kb/s
-
GOP=1,全I帧,1000kb/s
-
GOP=9,2B帧,1000kb/s
-
GOP=15,2B帧,800kb/s
用播放器查看时,码流不同和GOP组长度及B帧长度不同时,不会对264视频质量产生很大的影响