当前位置:网站首页>AVC1与H264的区别
AVC1与H264的区别
2022-07-05 12:51:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
今天上网时偶尔发现这个在我脑海里疑惑的问题的答案。
H.264 Video Types
The following media subtypes are defined for H.264 video.
Subtype | FOURCC | Description |
|---|---|---|
MEDIASUBTYPE_AVC1 | ‘AVC1’ | H.264 bitstream without start codes. |
MEDIASUBTYPE_H264 | ‘H264’ | H.264 bitstream with start codes. |
MEDIASUBTYPE_h264 | ‘h264’ | Equivalent to MEDIASUBTYPE_H264, with a different FOURCC. |
MEDIASUBTYPE_X264 | ‘X264’ | Equivalent to MEDIASUBTYPE_H264, with a different FOURCC. |
MEDIASUBTYPE_x264 | ‘x264’ | Equivalent to MEDIASUBTYPE_H264, with a different FOURCC. |
The main difference between these media types is the presence of startcodes in the bitstream. If the subtype is MEDIASUBTYPE_AVC1, thebitstream does not contain start codes.
H.264 Bitstream Without Start Codes
The MP4 container format stores H.264 data without start codes.Instead, each NALU is prefixed by a length field, which gives thelength of the NALU in bytes. The size of the length field can vary, butis typically 1, 2, or 4 bytes.
When start codes are not present in the bitstream, the following media type is used.
Major type | MEDIATYPE_Video |
|---|---|
Subtype | MEDIASUBTYPE_AVC1 |
Format type | FORMAT_MPEG2Video |
The format block is an MPEG2VIDEOINFO structure. This structure should be filled in as follows:
- hdr: A VIDEOINFOHEADER2 structure that describes the bitstream. No color table is present after the BITMAPINFOHEADER portion of the structure, and biClrUsed must be zero.
- dwStartTimeCode: Not used. Set to zero.
- cbSequenceHeader: The length of the dwSequenceHeader array in bytes.
- dwProfile: Specifies the H.264 profile.
- dwLevel: Specifies the H.264 level.
- dwFlags: The number of bytes used for the length field that appears before each NALU. The length field indicates the size of the following NALU in bytes. For example, if dwFlags is 4, each NALU is preceded by a 4-byte length field. The valid values are 1, 2, and 4.
- dwSequenceHeader: A byte array that may contain sequence parameter set (SPS) and picture parameter set (PPS) NALUs.
The MP4 container might contain sequence parameter sets (SPS) orpicture parameter sets (PPS) as special NAL units in file headers or ina separate stream (distinct from the video stream). When the format isestablished, the media type can specify SPS and PPS NAL units in the dwSequenceHeader array. If cbSequenceHeader is greater than zero, dwSequenceHeaderis the start of a byte array containing SPS and PPS NALUs, delimited by2-byte length fields, all in network byte order (big-endian). It ispossible to have both SPS and PPS, only one of these types, or none.The actual type of each NALU can be determined by examining thenal_unit_type field of the NALU itself.
When this media type is used, each media sample starts at thebeginning of a NALU, and NAL units do not span samples. This enablesthe decoder to recover from data corruption or dropped samples.
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/149593.html原文链接:https://javaforall.cn
边栏推荐
- 无密码身份验证如何保障用户隐私安全?
- Reverse Polish notation
- Alibaba cloud SLB load balancing product basic concept and purchase process
- CVPR 2022 | single step 3D target recognizer based on sparse transformer
- #yyds干货盘点# 解决名企真题:搬圆桌
- Compile kernel modules separately
- 解决uni-app配置页面、tabBar无效问题
- 单独编译内核模块
- Pinduoduo flag insertion remarks API
- RHCSA10
猜你喜欢

【服务器数据恢复】某品牌服务器存储raid5数据恢复案例

LeetCode20.有效的括号

RHCSA9

SAP UI5 ObjectPageLayout 控件使用方法分享

Laravel document reading notes -mews/captcha use (verification code function)

Comprehensive upgrade of Taobao short video photosynthetic platform

leetcode:221. 最大正方形【dp状态转移的精髓】

A specific example of ABAP type and EDM type mapping in SAP segw transaction code

Actual combat simulation │ JWT login authentication

PyCharm安装第三方库图解
随机推荐
Solve Unicode decodeerror: 'GBK' codec can't decode byte 0xa2 in position 107
国际自动机工程师学会(SAE International)战略投资几何伙伴
##无监控,不运维,以下是监控里常用的脚本监控
石臻臻的2021总结和2022展望 | 文末彩蛋
奔跑,开路
The solution of outputting 64 bits from printf format%lld of cross platform (32bit and 64bit)
946. 验证栈序列
Introduction aux contrôles de la page dynamique SAP ui5
Laravel document reading notes -mews/captcha use (verification code function)
Taobao short videos are automatically released in batches without manual RPA open source
Simple page request and parsing cases
CVPR 2022 | single step 3D target recognizer based on sparse transformer
Notes for preparation of information system project manager --- information knowledge
SAP UI5 FlexibleColumnLayout 控件介绍
How to protect user privacy without password authentication?
NFT: how to make money with unique assets?
Association modeling method in SAP segw transaction code
Rocky基础知识1
How can non-technical departments participate in Devops?
Discussion on error messages and API versions of SAP ui5 getsaplogonlanguage is not a function