1
12
音频和视频时间戳的计算方法相同。 音频RTP有效负载格式通常使用8Khz时钟。然后获取包含例如20ms的第一个音频样本,并分配该时间戳t=0。20ms是1/50秒,因此这等于以下样本的8000/50=160时间戳增量。对于音频,您可以根据采样率、每个采样的比特数和通道数来计算采样持续时间。对于实时源,样本可能已经有时间戳,您只需将时间戳转换为RTP时间戳。 此外,请注意RTP时间戳应该以随机数开始,而不是以零开始。 一般来说,RTP的良好参考可以在Colin Perkins的书中找到, RTP - Audio and video for the Internet 。虽然有些信息可能已经过时,但它会让您更好地了解RTP。 更新: 挂钟是通过使用RTCP SR中的NTP时间戳来确定的,它告诉RTP时间戳映射到什么时间,即RTP时间戳记160=某个日期时间。例如,这对于同步到视频是必需的,其中两个RTP时间戳都使用不同的随机偏移。当然,日期/时间的有效性取决于发送者如何计算NTP时间戳,不能保证这反映了实际日期/时间。您可以使用wireshark嗅探流量,它会告诉您NTP时间戳表示的日期/时间。 更新2: 这取决于客户机期望什么以及客户机是如何实现的。如果您正在编写自己的RTSP客户端,这可能就足够了。例如,如果你编写了一个DirectShow源过滤器,你可以将RTP时间戳直接转换为媒体时间戳,这样就可以了。然而,由于您使用的是现有客户端,例如,客户端可能只使用同步的RTP时间戳,因此在这种情况下 不 足够总之,这取决于客户端实现。我不确定VLC期望的是什么。 |
Sherif · 如何计算音频流中每个数据包的RTP时间戳 10 年前 |