我在使用MPEG2TS
协议的流媒体项目中工作,目前我在音频视频同步方面遇到问题。
我正在使用PCR计算
PCR_base = (system_clock_frequency * PTS(audio/video) ) /300
PCR_ext = (system_clock_frequency * PTS(audio/video) ) % 300
并在每PCR
100ms
我使用PTS
值作为
PTS= (Encoded_time_stamp * 9 / 100 ) / 300
我在mplayer和VLC播放器中获得了-150ms(video ahead of audio)
的同步延迟,我只获得了第一帧视频。
请帮我解决多路复用的PCR
计算以及如何获得音频视频同步。
答案 0 :(得分:0)
PCR
是您复用流时生成的时钟,因此可以在解复用步骤中同步它们。
我的猜测是你的错误更可能来自PTS
/ DTS
,这是时间戳,给出了解码器必须呈现/解码A / V帧的时刻。您的音频时间戳似乎有点迟了。
如果没有保证,您是否尝试过调整它?
audio_pts += 150; // in ms
否则,您可以使用软件工具来重新同步您的信息流,例如ffmpeg
:在这个商品tutorial上有一个llok。
还有一些相关的S.O.帖子: