RTP AAC 时间戳问题
Posted
技术标签:
【中文标题】RTP AAC 时间戳问题【英文标题】:RTP AAC timestamps issue 【发布时间】:2013-06-19 15:25:24 【问题描述】:我正在尝试通过 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);
正确吗?我不知道为什么输出会很奇怪,任何帮助都会受到赞赏:)
【问题讨论】:
我不确定我是否真的理解代码的用途,但if (!_timestamp)
块不太可能被命中,因为 _timestamp 未初始化为 0
嗯,它适用于 objecive-c++ 但您可以将其替换为“if (_timestamp == 0)”
【参考方案1】:
是的,逻辑是正确的,但不是long,而是使用unsigned long,这样当unsigned long达到最大值时它会负责舍入。
【讨论】:
以上是关于RTP AAC 时间戳问题的主要内容,如果未能解决你的问题,请参考以下文章