记一次录制mp4音视频不同步问题的排查过程
现象:录制系统中收录rtmp流,并用mp4v2写mp4文件。视频采用的是rtmp包里的时间戳,但是音频若使用rtmp包里时间戳则同步,而采用自行计算的时间戳则不同步。
- 录制系统主要收录实时RTC的音视频数据,在这种情况下,音频时间戳采用自行计算的值。后
面加入rtmp流的收录,没有调整音频时间戳的逻辑。
- 所谓自行计算是:若音频采样率为44100Hz,编码为aac,因为一帧aac包含1024个采样,则一帧aac音频的时长为 1024 ∗ 1000 / 44100 ≈ 23 m s 1024*1000/44100 \approx 23ms