我有 h265 NAL 数据包,需要使用它们确定帧速率。如果我使用 FFMPEG,我可以做到这一点。
但是对于我的应用程序,我不能使用 ffmpeg,我需要通过分析比特流(通过 C/C++)来确定帧速率。我做了一些研究,发现可以为此使用 SPS 标头。但我不知道如何提取 SPS 标头然后提取成名率。
有人可以告诉我该怎么做吗?
谢谢你。
您正在寻找位于 SPS 末尾的 VUI 中的 time_scale 和 num_units_in_tick 元素。FPS 是 time_scale / num_units_in_tick。您可以检查hevc_ps.c 中的 decode_vui()以了解如何准确解码。
[编辑] 哦,这些相同的元素也可以出现在 VPS 中;它们的值应该相同,但其中任何一个都可以单独存在,因此您可能需要同时检查两者。