小编Jos*_*osh的帖子

音频/视频同步,TS MPEG2; H264/AVC,了解手刹中的PTS

同步一直让我着迷,或者更确切地说:为什么媒体播放器可以同步查看.ts,而重新组合的多路分解音频+视频不同步.

所以我试图理解这一点,以及可以做些什么来防止它.

我已经阅读了以下内容:https: //trac.handbrake.fr/wiki/LibHandBrakeSync和sync.c的源代码(也可以在wiki上找到)

BitStreamTools也写了关于这个主题的理论101(但我无法链接,因为我是新用户,抱歉)

虽然我认为我对PCR/PTS的理解是(概念上)正确的,但我很难跟上手刹的优秀A/V同步纸.

我的问题是:是否有一些直观的(可能是简短的,短的或更长的,同样长的)a/v同步的解释?虽然我知道如果音频或视频pts被破坏(不连续?),可以从PCR重新计算PTS,手刹似乎不依赖于此,而是依赖于它的内部PTS.0,+ = 1/fps(〜= 5),10,15,....

是否有可能通过修复所有音频和视频PTS值来重新计算pts偏移并校正.ts(二进制)(并且使用相同的偏移量倾斜所有DTS,因此播放器不会"耗尽帧",所以因此,有一个可以被解复用的.ts,然后隔离的轨道同步(如果放回去)?

编辑:或者不可能通过使用PCR来重新计算给定.ts中的所有PTS值?虽然我知道有些帧/音频可能在广播中被损坏而无法正确显示,但我会留下处理(如删除视频,如果它被损坏并有相应的音频部分,插入x ms静音,如果音频包被损坏等等以后,为了讨论起见,我假设所有帧都完好无损.(但那么PTS值总是正确的,或者是什么?)

附录:我对手刹A/V纸的看法是:在"预期"100处,偏移量计算为视频点(100) - 音频点(0) - 内部PTS,将音频带到同一个演示文稿时间,因此给出了99的偏移量.在105处,偏移量将是105-5 = 100,而不是99,但我们继续使用99作为偏移量,因为不需要重新计算(100-99 = 1.1/fps < 100毫秒).在150处,随着视频点的减少,再次计算pts偏移,而不是增加...

我几乎是肯定的,我对此完全错了,但是有人能指出我正确的方向吗?

  • 玩笑

video synchronization dts pts

13
推荐指数
2
解决办法
3万
查看次数

标签 统计

dts ×1

pts ×1

synchronization ×1

video ×1