我正在尝试通过RTP将AAC音频流传输到Wowza服务器。我设法使其正常工作,但交替听到的声音非常快,然后出现1s的空白。采样率是22050,每个数据包的帧数是1024。

目前,我的时间戳是这样生成的:

long _timestamp;

//--- called each time I have to send a new AAC packet ---//
-(void) updateTimestamp{
    if(! _timestamp)
        _timestamp = random();
    else
        _timestamp += 1024;
    rtptime = big_endian(_timestamp);
}

这是正确的吗 ?我不知道为什么输出结果是奇怪的,任何帮助都会被剥夺:)

最佳答案

是的,逻辑是正确的,但是使用unsigned long代替了long,因此在unsigned long达到最大值时会舍入。

关于c++ - RTP AAC时间戳问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17195196/

10-10 21:23