c++ - RTP AAC时间戳问题

标签 c++ audio audio-streaming rtp

我正在尝试通过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/

相关文章:

ios - 使用 AIR 在 iOS 上流式传输 AAC+(在 FLV 内)

c++ - 我们如何自定义使用 `std::iterator` 的目的和教程

c++ - 使用类型删除创建运行时 type_traits 查询

javascript - HTML onclick 中多个音频文件的问题

c++ - 在输入和输出之间使用不同数量的样本编码音频 ffmpeg C++

jquery - ajax函数成功时刷新音频源

laravel - Laravel+Vue.JS 中的 Webrtc 视频/音频聊天

C++ 模板;作为模板参数传递的函数的自动推导返回类型;

c++ - 线程所有权

android - 错误的 Intent Uri 数据共享音频文件