当前位置:网站首页>[book club issue 13] coding format of video files
[book club issue 13] coding format of video files
2022-07-04 15:28:00 【Hua Weiyun】
FFmpeg Video coding format
FFmpeg Support many video coding formats , such as MPEG4、H263、 H264、 H265、 VP8、 VI9 etc. .
What we focus on is H264 Video encoding format .
H263 Rate control
- VBR: Variable BitRate, Dynamic bit rate mode , The bit rate can vary with the complexity of the image , Therefore, its coding efficiency is relatively high .
- CBR: Constant Bi tRate, Constant bit rate mode , Because the code rate is constant , When there are dramatic changes in the picture ,QP The parameter will increase , The image quality will get worse , When the scene is still , And waste bandwidth . The overall image quality of this mode is unstable .
- ABR: Average BitRate, Average bit rate mode , yes VBR A derivative form of , Within the specified file size , Static or near static image parts use relatively low traffic , High traffic is used in the complex picture , It can be regarded as VBR and CBR A compromise of .
H264 Frame reference
First of all, I will put out the reference relations of the following three frames , For subsequent understanding .
H264 Of I The frame type
- One GOP The first image in the sequence is called IDR Images ( Refresh the image now ),IDR The images are all I Frame image , but I Not all frames are IDR frame , Only GOP The first of the sequence 1 individual I Frames are IDR frame .
- I frame , Also called intra reference frame , Keep a complete picture .
- Use only when decoding 1 Frame data can be reconstructed into a complete image .
- 1 Frame is generated without reference to other pictures .
- I Frames are P The frame and B Frame reference frame .
- I Frames don't need to consider motion vectors .
- I The frame occupies the largest amount of data .
H264 Of B The frame type
- B frame , Also called bidirectional reference frame , That is to say B A frame records the difference between this frame and the preceding and following frames , To decode B frame , Not only to get the previous cache screen , You have to decode the image , Through the superposition of the front and back pictures and the data of this frame, the final picture is obtained .
- B The compression rate of frames is the highest , But when decoding CPU The utilization rate will be relatively high .
- B The frame is from the front I or P The frame and the following P Frame to predict .
- B The frame transmits it with the preceding I or P The frame and the following P Prediction errors between frames and motion vectors .
- B Frame is not a reference frame , It doesn't cause the spread of decoding errors .
H264 Of P The frame type
- P frame , Also called forward reference frame , It means this - The frame is the same as the previous one Key frames ( or P frame ) The difference between , In decoding, the difference defined in this frame needs to be superimposed on the previous cached picture , Generate the final picture ,P Frame has no full picture data , Only with the previous one - Frame picture difference data .
- P Frames are 1 The frame is separated by 1^ 2 Frame encoding frame .
- P The frame is transmitted with motion compensation I or P Frame difference and motion vector ( Prediction error ).
- P The frame belongs to the inter frame coding of forward prediction . It only refers to the one closest to it in front of it 1 The frame or P frame .
- P The frame can be behind it P Frame reference frame , It can also be before and after B Frame reference frame .
- P Frames are reference frames , It may cause the spread of decoding errors .
- P The compression ratio of frames is between I The frame and B Between frames .
summary :
This period of study can let us know how to control the bit rate of video in common video coding formats , Especially common H264, adopt IBP Three frame types to complete the verification of video can be said to be very complete .
边栏推荐
猜你喜欢
Numpy notes
中国主要城市人均存款出炉,你达标了吗?
How to handle exceptions in multithreading?
Helix Swarm中文包发布,Perforce进一步提升中国用户体验
Redis sentinel mode realizes one master, two slave and three Sentinels
直播预告 | PostgreSQL 内核解读系列第二讲:PostgreSQL 体系结构
Deep learning network regularization
Helix swarm Chinese package is released, and perforce further improves the user experience in China
AI has surpassed Dr. CS in question making?
2022年九大CIO趋势和优先事项
随机推荐
Common API day03 of unity script
怎么判断外盘期货平台正规,资金安全?
mysql 联合主键_Mysql 创建联合主键[通俗易懂]
宽度精度
js平铺数据查找叶子节点
Redis shares four cache modes
Unity脚本API—Transform 变换
C implementation defines a set of intermediate SQL statements that can be executed across libraries
Dry goods | fMRI standard reporting guidelines are fresh, come and increase your knowledge
深入JS中几种数据类型的解构赋值细节
Lombok使用引发的血案
【大连理工大学】考研初试复试资料分享
Go zero micro service practical series (IX. ultimate optimization of seckill performance)
Preliminary exploration of flask: WSGI
Unity script API - component component
Width accuracy
浮点数如何与0进行比较?
Implementation of web chat room
Redis publish and subscribe
What is the future of the booming intelligent Internet of things (aiot) in recent years?