我正在编写一个程序,该程序可以在h264和aac之前打包rtp标头。但是我对RTP时间戳字段感到困惑。
如果视频编解码器为h264,则每帧可以添加90000 / fps的时间戳。 我对AAC一无所知。
我的aac采样率是8000HZ,config = 1588,每帧是250〜520。我找到了一些解决方案:
(1)1024
(2)8000/1024 = 7 => 8000/7 = 1142
视频和音频无法同步,视频将比音频更快。
有人可以帮助我吗?
答案 0 :(得分:0)
打包RTP数据包的发送/传输
H.264 @ 90000-rtp时间戳=帧时间戳* 90000(从任何来源读取时的帧的时间戳)
AAC @ 8000-rtp时间戳=缓冲区时间戳* 8000(从任何来源读取时音频缓冲区的时间戳)
接收解包的RTP数据包
H.264-实际时间戳= rtp时间戳/ 90000
AAC-实际时间戳= rtp时间戳/ 8000
根据实际时间戳记,进行音频视频同步。
注意:将时间从毫秒转换为秒