gpt4 book ai didi

resolution - 如何在 H.264 MPEG-2 TS 中查找分辨率和帧率值?

转载 作者:行者123 更新时间:2023-12-03 11:18:44 24 4
gpt4 key购买 nike

我正在处理包含 H.264 流的 MPEG-2 TS 视频,我正在通过扫描 PAT、PMT、PES 等寻找存储在流中的视频属性。

我能够读取 PAT、PMT 和基本流类型和 PID。在这里我想找到分辨率和帧率 (fps)。它们位于 PES header 中还是其他地方?它们不在 PAT 或 PMT 中。

下面,传输流数据包编辑器能够找到两种不同的信息,一种是它自己,另一种来自 Haali Media Decoder 辅助编解码器。如何获得第一个:

enter image description here

欢迎使用伪代码。

最佳答案

我不确定 MPEG2TS header 中的高度宽度信息是否可用。因为TS文件可以有多个程序。但是,如果您只针对由 H.264 基本流组成的 TS 文件,那么您可以从 H.264 基本流的 SPS 中获取这些信息。

每个 H.264 帧都以四或三个字节的序列头 0x00 0x00 0x010x00 0x00 0x00 0x01 开头。如果在开始头之后的下一个字节等于0x07,则该帧是一个SPS帧。

例如SPS 帧 0x00 0x00 0x00 0x01 0x67 ... 进行与运算 (0x67 & 0x1F) = 0x07

解析 SPS header 也不是一件容易的事,但您可以在 ffmpeg 源代码中找到详细信息。

希望这对您有所帮助。

关于resolution - 如何在 H.264 MPEG-2 TS 中查找分辨率和帧率值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25398584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com