如何通过 RTMP 为 h264 发送 PTS

how to send PTS for h264 over RTMP

我进行了大量搜索,但无法获得足够的信息来说明这一切是如何组合在一起的。

所以我了解到 H264 帧包含一些关于帧的 SPS 和 PPS 信息,您可以从中提取帧速率。但是PTS居然编码在PES里?那么PES在RTMP中是如何传输的呢?

我正在使用 librtmp 和 RTMPServer 推送 h264 帧。服务器是否只是将相同的数据包发送到我使用 librtmp 发送的客户端? RTMP 在它发送的数据包中似乎有自己的时间戳和帧率。那么RTMP客户端是否不需要从h264帧等中提取帧率而只依赖RTMP包数据?

如果有人能解释这一切是如何协同工作的,那就太好了。我最终会尝试发送有用的计时信息,这些信息可以在客户端解析为绝对时间。

Rtmp 使用FLV 发送数据。 FLV 有一个 32 位(技术上是 24+8)字段来设置 DTS。然后它有一个单独的字段来设置 CTS,CTS = PTS - DTS。