我要做个其他格式的流媒体转换格式为avi的工具,但如何保证转换后依然音视频同步呢。比如264的文件,它是由时间戳控制音视频的同步,但avi没有时间戳概念,只能通过帧率,而264则可能会出现视频第一秒时间receive出来25帧,第二秒26帧,第三秒23帧等等,而我们假如它receive的音频是固定不变的,那么要保证音视频同步则需要增加或丢掉几个视频帧或音频帧,这样的话如果增加或丢视频帧,则会出现马赛克,音频同理,那么有没有其他更好的方法可以保证音视频的同步呢,各位大虾请多发表宝贵意见,不胜感激!

解决方案 »

  1.   

    这个。
    我记得Dshow中好像是写一个零长度的索引来补这个帧,回放的时候再重新算时间戳来回放
    另外这个马赛克没看懂
      

  2.   

    http://album.hi.csdn.net/views/photo/217972
    这是转换前后的效果图,上面的为264,下面的为转换后的avi截图,帮忙看下有可能是什么原因造成的
      

  3.   

    1. avi没有严格的时间戳表示av同步,所以开始要 根据frame rate和sample rate播放 
    2. avi的av索引表非常有用,avi的frame rate信息可能会有误差,所以播放一段时间会慢慢的不同步,所以每几秒就要利用av的索引表来重新校正一下av的同步
    看到网上有人这么说过,那么请问大家,如何利用av索引表来重新校正av的同步?
      

  4.   

    1. avi没有严格的时间戳表示av同步,所以开始要 根据frame rate和sample rate播放 
    2. avi的av索引表非常有用,avi的frame rate信息可能会有误差,所以播放一段时间会慢慢的不同步,所以每几秒就要利用av的索引表来重新校正一下av的同步
    看到网上有人这么说过,那么请问大家,如何利用av索引表来重新校正av的同步?