当前位置:网站首页>[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 .
边栏推荐
- hexadecimal
- Logstash~Logstash配置(logstash.yml)详解
- 小数,指数
- Redis shares four cache modes
- Hexadecimal form
- Weekly recruitment | senior DBA annual salary 49+, the more opportunities, the closer success!
- 這幾年爆火的智能物聯網(AIoT),到底前景如何?
- 案例分享|金融业数据运营运维一体化建设
- 力扣刷题01(反转链表+滑动窗口+LRU缓存机制)
- Go zero micro service practical series (IX. ultimate optimization of seckill performance)
猜你喜欢
Redis publier et s'abonner
力扣刷题01(反转链表+滑动窗口+LRU缓存机制)
MySQL组合索引(多列索引)使用与优化案例详解
Dry goods | fMRI standard reporting guidelines are fresh, come and increase your knowledge
Lombok使用引发的血案
Weibo and Huya advance into interest communities: different paths for peers
干货 | fMRI标准报告指南新鲜出炉啦,快来涨知识吧
2022年九大CIO趨勢和優先事項
Unity动画Animation Day05
从0到1建设智能灰度数据体系:以vivo游戏中心为例
随机推荐
They are all talking about Devops. Do you really understand it?
开源人张亮的 17 年成长路线,热爱才能坚持
Common API day03 of unity script
Redis 发布和订阅
Detailed explanation of MySQL composite index (multi column index) use and optimization cases
.Net之延迟队列
2022 financial products that can be invested
Unity script API - GameObject game object, object object
找数字
An article learns variables in go language
Unity脚本介绍 Day01
Unity预制件Prefab Day04
AI做题水平已超过CS博士?
函数式接口,方法引用,Lambda实现的List集合排序小工具
Redis sentinel mode realizes one master, two slave and three Sentinels
C implementation defines a set of intermediate SQL statements that can be executed across libraries
[learning notes] matroid
Deep learning network regularization
%s格式符
C1 certification learning notes 3 -- Web Foundation