假设我有一些h264视频nal单元和一些g726音频样本塞进我通过套接字发送的结构中。
每个视频和音频数据包都附带记录时的UTC时间戳。
数据从TCP套接字发送。是的,我知道,不适合流媒体,但删除了一些我不想解决的问题。
然后我使用Android MediaCodec解码渲染到Surface的h264 nal单位和g726 ++来解码接收的音频数据,然后通过AudioTrack播放。
这一切都很有效,除了流肯定不同步。
我的时间戳来自编码器。
如何使用这些时间戳将视频同步到解码器端的音频。 AudioTrack有一个getPlaybackHeadPosition,它基于采样率可用于计算其进度。 MediaCodec有演示时间。连同编码器的时间戳,我认为我有足够的信息来同步两个流。
欢迎任何建议。