在 aac adts header 之前添加 rtp header

add rtp header before aac adts header

我正在编写一个程序,可以在 h264 和 aac 之前打包 RTP header。但我对 RTP 时间戳字段感到困惑。

如果视频编解码器是h264,时间戳可以每帧增加90000/fps。 我对aac一无所知。

我的aac采样率是8000HZ,config=1588,每帧是250~520。我找到了一些解决办法:

(1) 1024

(2) 8000/1024 = 7 => 8000/7 = 1142

视频和音频无法同步,视频会比音频快。

有人能帮帮我吗?

Sending/Transmitting 打包 RTP 数据包

H.264 @ 90000 - rtp 时间戳 = 帧时间戳 * 90000(从任何来源读取时的帧时间戳)

AAC @ 8000 - rtp 时间戳 = 缓冲区时间戳 * 8000(从任何源读取时的音频缓冲区时间戳)

接收解包RTP数据包

H.264 - 实际时间戳 = rtp 时间戳 / 90000

AAC - 实际时间戳 = rtp 时间戳 / 8000

根据您进行音频视频同步的实际时间戳。

注意:将时间从毫秒转换为秒