最近做项目,需要计算视频包的时延。这里需要在RTP头部传输时间戳。
RTP包头的第2个32Bit即为RTP包的时间戳,Time Stamp ,占32位;
项目需要计算每一帧的延时,32位
sizeof(Byte)是8位,所以只能放4个。
本项目采用大端模式,即高位在前,低位在后。
所以能存的最大的数是2的31次方-1,10进制数为2147483647。
以毫秒为单位的时间戳十进制要有13位,存不下。以秒为单位的,不够精确,所以我想着把时间戳-1636560000000(2021年11月11日0点0分0秒)然后存下来。
*1000是为了使时间戳精确到毫秒。
-(void)setStamp{
long Stamp2 = [[NSDate date] timeIntervalSince1970]