【Fargo】22:H.264文件读取并RTP分片打包
- 有一个编码后得到的h264文件,期望用来模拟发送。
- 期望能按照图像帧读取,图像帧如何识别?
- NALU 是可以识别到的,NALU 有帧类型,可以作为识别依据。
- 接收测根据NALU类型(SPS PPS IDR 非IDR)识别为不同的帧、不同的GOP。
从一个H.264文件读取,是按照NALU读取的还是一帧图像读取的?是否能识别出来每个图像帧编码后的所有数据?
-
在读取H.264文件时,数据是按照NALU(Network Abstraction Layer Unit)进行读取的,而不是直接按图像帧读取。
-
NALU 是 H.264 编码的基本单元,每个 NALU 包含特定的编码数据,可以是一个视频帧的一部分或整个视频帧。通常来说,一帧图像可以由多个 NALUs 组成,比如一个 IDR 帧(关键帧)会包含多个 NALUs(如 SPS、PPS 和图像数据)。
-
为了识别出每个图像帧编码后的所有数据,需要解析这些 NALUs,识别出哪些 NALUs 组合成一个完整的帧。具体来说,关键在于找到帧边界的 NALU 类型,如: