MPEG2TS多路复用器

时间:2014-10-23 09:46:09

标签: mpeg2-ts

我在使用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计算以及如何获得音频视频同步。

1 个答案:

答案 0 :(得分:0)

PCR是您复用流时生成的时钟,因此可以在解复用步骤中同步它们。

我的猜测是你的错误更可能来自PTS / DTS,这是时间戳,给出了解码器必须呈现/解码A / V帧的时刻。您的音频时间戳似乎有点迟了。

如果没有保证,您是否尝试过调整它?

audio_pts += 150; // in ms

否则,您可以使用软件工具来重新同步您的信息流,例如ffmpeg:在这个商品tutorial上有一个llok。 还有一些相关的S.O.帖子: