专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 多媒体/流媒体开发

ts无损合并时的时间戳怎么修改

发布时间:2011-06-27 19:28:46 文章来源:www.iduyao.cn 采编人员:星星草
ts无损合并时的时间戳如何修改
把两个ts文件进行无损合并,网上一般的思路就是直接把两个ts文件写在一起,但是缺点也是非常明显的。第一,后一个文件的第一帧如果不是I帧,则视频画面会出现马赛克;第二,由于没有修改时间戳,用播放器或者是MediaInfo看时间,总时间不等于合并的两个ts文件的时间之和。
  针对如上两个问题,我进行了如下调整。第一,后一个文件,首先找到第一个I帧,I帧以前的数据直接丢掉,从I帧开始写文件;第二,修改一些时间戳之类的属性,具体来说,修改pcr、视频的pts、dts,音频的pts,及其每一个ts包的包计数CC。(pcr、视频pts、dts,音频dts,都是减去一个时间差。该时间差为第二个ts文件的I帧的dts第一个ts文件的最后的视频dts的差)
  现在的问题是:当我进行了如上的两步操作后,后一个ts文件的音频有点断断续续。
  请做过ts合并的高手给予解答,或者说说思路。非常感谢!

------解决方案--------------------
需要合并的两个文件至少得保证视频参数一致(帧型、分辨率、帧率、宽高比等),音频参数一致(编码方式、采样率、声道等)。
A、B文件合并的时候,其实B文件内部的时间间隔还是不变的,只是需要调整参考起点的时间戳并在此基础上做累加。一般合并时PTS比较重要,所以需要保证PTS的准确性与连续性。
------解决方案--------------------
你的保证另外还有PAT,PMT,CAT等TABLE的合并问题,
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: