我正在写一个程序,可以在h264和aac之前打包RTP报头。但是我把RTP时间戳字段搞混了。
如果视频编解码器为h264,则可以为每一帧添加90000/fps的时间戳。我对aac一无所知。
我的aac采样率为8000HZ,config=1588,每帧250 ~ 520帧。我找到了一些解决方案:
(1) 1024
(2) 8000/1024 =7 => 8000/7 = 1142
视频和音频无法同步,视频将比音频更快。
有人能帮我吗?
发布于 2019-12-31 16:07:54
打包RTP包的发送/传输
H.264 @ 90000 - rtp时间戳=帧时间戳* 90000 (从任何源读取时帧的时间戳)
AAC @ 8000 - rtp时间戳=缓冲区时间戳* 8000 (从任何来源读取时音频缓冲区的时间戳)
接收unPacking RTP数据包
H.264 -实际时间戳= rtp时间戳/ 90000
AAC -实际时间戳= rtp时间戳/ 8000
根据实际的时间戳进行音视频同步。
注意:将时间从毫秒转换为秒
https://stackoverflow.com/questions/59528090
复制相似问题