当前位置:网站首页>The difference between h264 and h265 decoding
The difference between h264 and h265 decoding
2022-07-31 00:16:00 【MisterZhang666】
Simply explain the difference between h264 and h265 decoding
h264
I used the analysis tool to parse the h264 file and found:

In fact, it is SPS+PPS+SEI+IDR+P+B+P+B+P+B...SPS+PPS+I+P+B+P+B... This cycle, in which SEI only needs to be sent once, that is, at the time of the first frame, IDR and I frame are both so-called I frames. In order to distinguish the first I frame, it is called IDR frame. SEI only needs to be brought before the IDR frame, followed by every other period.There will be an I frame in time, and the rest are P frame + B frame cycles.
h265


h265 is actually a sequence with an additional vps, video parameter set, which is mainly used to transmit video rating information, which is conducive to the expansion of compatible standards in scalable video coding or multi-view video.It becomes VPS+SPS+PPS+SEI+IDR+P+B+P+B...VPS+SPS+PPS+SEI+CAR+P+B+P+B..., CAR is similar to I frame, type=19, 20, are all I frames, and 21 is CAR.
At this point, we found that h265 sends VPS and SEI every time, and it is not necessarily I frames that are sent in a loop.
NALU
Each SPS, PPS, IDR is a NALU, and the normal format of NALU is: start code+NALU header+NALU data.So to get the stream, you only need to parse out the NALU and get the header information normally, which is very simple.
The start code is usually 00 00 01 or 00 00 00 01, and the NALU header data can be used to determine whether it is VPS, SPS, or PPS.But it should be noted that the h264 header length is different from the h265 header length.
How to judge whether the video stream is H264 or H265
Usually it is to judge whether the type decimal in the NALU header is 32 (VPS) and it is h265, or whether the SEI decimal is 6 or 39, 6 is h264, etc.
边栏推荐
- @requestmapping注解的作用及用法
- Summary of the stock problem of state machine dynamic programming
- 状态机动态规划之股票问题总结
- joiplay模拟器rtp如何安装
- Word文件损坏如何修复
- 从编译的角度来学作用域!
- binglog log tracking: data backup and backup tracking
- Linux 部署mysql 5.7全程跟踪 完整步骤 django部署
- What are the efficient open source artifacts of VSCode
- 【VisDrone数据集】YOLOV3训练VisDrone数据集步骤与结果
猜你喜欢
![[In-depth and easy-to-follow FPGA learning 15---------- Timing analysis basics]](/img/a9/4c7a703a36a244394b586bfb42ab6b.png)
[In-depth and easy-to-follow FPGA learning 15---------- Timing analysis basics]

In MySQL, the stored procedure cannot realize the problem of migrating and copying the data in the table

MySQL的grant语句

Android security optimization - APP reinforcement

360核心安全大脑3.0正式发布,构建政企用户的“能力中枢平台”

Understand from the 11 common examples of judging equality of packaging types in the written test: packaging types, the principle of automatic boxing and unboxing, the timing of boxing and unboxing, a

Steven Giesel 最近发布了一个由5部分内容组成的系列,记录了他首次使用 Uno Platform 构建应用程序的经验。

Learn Scope from a Compilation Perspective!

边缘计算与小程序也能结合!智能家居是否能借势上台阶

Android安全性优化——APP加固
随机推荐
[Deep learning] Detailed explanation of Transformer model
pytorch双线性插值
jira是什么
background对float的子元素无效
会议OA项目待开会议、所有会议功能
In MySQL, the stored procedure cannot realize the problem of migrating and copying the data in the table
宽客必备神器-AKShare
【萌新解题】删除链表的倒数第 N 个结点
360核心安全大脑3.0正式发布,构建政企用户的“能力中枢平台”
Restricted character bypass
怎么开通代付通道接口?
WebServer流程讲解(注册模块)
joiplay模拟器如何使用
从两个易错的笔试题深入理解自增运算符
joiplay模拟器rtp如何安装
46.
registers (assembly language)
Oracle一个诡异的临时表空间不足的问题
边缘计算与小程序也能结合!智能家居是否能借势上台阶
一款好用的接口测试工具——Postman