美文网首页
MPEG-4格式和H.264(ISO14496)入门--Appl

MPEG-4格式和H.264(ISO14496)入门--Appl

作者: applecai | 来源:发表于2020-06-27 20:25 被阅读0次

怎么说我也算是做协议开发的,14229,15765是我的专业内容。但是关于解码和文件格式一般都是有协议的,网上搜索了下spec名称为ISO14496,有一系列的白皮书呢!

快速入门了下MPEG4标准中的文件格式,box是一个主要概念。网上有ISO协议下载,也有现成的解析分析工具。我了解一个大概,比如moov box只有一个,包括了音频和视频的总信息。trak box至少有一个,一般为2个,一个为音频一个为视频信息。utda box保存的是帧的数据。

image.png

一,MPEG-4媒体文件主要信息

  1. MPEG-4标准为ISO14496系列,MP4格式在-12文件中可以看到。
  2. offset
    moov box中记录的每帧音视频数据位置信息,实际上都在mdat box中,通过解析moov box来获取到每帧音视频数据具体位置后,使得播放器能方便的拖拉进度条。
  3. DTS和PTS
    avcC box指定了该流的编码类型为H264
    stsc stsz stco三个box用于保存每帧视频或音频数据在文件中的保存位置。
    stts stss ctts三个box用于保存媒体数据和时间戳的对应关系。
  4. IPB帧的概念
    I帧表示关键帧,P帧为向前引用,B帧为双向(前后)引用。

二,MPEG-4媒体文件参考网址

1.MPEG-4标准
2.mp4文件格式解析
3.MP4格式解析二 ftyp/mvhd
4.mp4封装格式各box类型讲解及IBP帧计算
5.MP4格式分析之我见
6.IBP帧的定义

三,H.264协议

其实就是14496-10。H264功能分为两层,VCL(视频编码层)和 NAL(网络提取层)
SODB 数据比特串 ---->最原始的编码数据,即VCL数据
RBSP  原始字节序列载荷
EBSP  扩展字节序列载荷 (会填充0x30)


image.png

H264的码流分6层,其中宏块和IPB相关
1帧 = 1个或n个片
1片 = n个宏块
1宏块 = 16x16yuv数据


image.png

宏块结构


image.png

mb_type 确定该 MB 是帧内或帧间(P 或 B)编码模式,确定该 MB 分割的尺寸,mb_pred 确定帧内预测模式


image.png

解码顺序,由于B依赖前后帧,所以要先把后面的P帧先解码。若是网络直播,一般B帧出现的比较少,需要保证实时性。

运动补偿,帧内预测,残差补偿等算法还不太清楚,之后慢慢了解,慢慢看paper。今天先入门。

四,H.264解码工具

H.264 Visa 和StreamEye我都用了下。

五,参考网址

如何学习H264协议
H264基础简介
H264格式 详细介绍

相关文章

  • MPEG-4格式和H.264(ISO14496)入门--Appl

    怎么说我也算是做协议开发的,14229,15765是我的专业内容。但是关于解码和文件格式一般都是有协议的,网上搜索...

  • Profile & Level (H.264)

    H.264 or MPEG-4 Part 10, Advanced Video Coding (MPEG-4 AV...

  • 基于FFmpeg的iOS播放器(一)

    1.使用FFmpeg、x264、libxvidcore解码h.264格式和MPEG-4文件。 2.YUV420P格...

  • 使用FFmpeg实现H.264编码

    一、H.264/AVC 概述 H.264/AVC 也可以叫做 H.264/MPEG-4 part 10 AVC,这...

  • H.264编码

    一、H.264编码 H.264,又称为MPEG-4 Part 10,Advanced Video Coding。 ...

  • H.264认识

    一、简介 H.264是一种高性能的视频编解码技术。MPEG-4 AVC、MPEG-4 Part 10,还是ISO/...

  • IPB帧编码顺序(解码顺序)与显示顺序

    音视频编码卡的视频编码算法从JPEG 发展到MPEG-1、MPEG-2、MPEG-4和H.264。JPEG是一种著...

  • H264/H265编码概念

    一、什么是H264编码H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/...

  • H.264

    H.264,或称MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MP...

  • iOS FFmpeg+x264 编码

    本文介绍iOS下使用FFmpeg+x264进行软编码。x264是一个开源的H.264/MPEG-4 AVC视频编码...

网友评论

      本文标题:MPEG-4格式和H.264(ISO14496)入门--Appl

      本文链接:https://www.haomeiwen.com/subject/tndvfktx.html