ts无损合并时的时间戳如何修改

czgwdm 2011-05-04 07:19:48
把两个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合并的高手给予解答,或者说说思路。非常感谢!
...全文
1296 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gx_duan 2012-06-10
  • 打赏
  • 举报
回复
你好,怎么做的能交流下吗
sevenstars530 2011-10-19
  • 打赏
  • 举报
回复
看看再说~~~~~~~~~~~~~~~~·
czgwdm 2011-05-12
  • 打赏
  • 举报
回复
非常感谢两位的回复,无损合并已经做完,谢谢!
CyberLogix 2011-05-05
  • 打赏
  • 举报
回复
你的保证另外还有PAT,PMT,CAT等TABLE的合并问题,
ArcRain 2011-05-04
  • 打赏
  • 举报
回复
需要合并的两个文件至少得保证视频参数一致(帧型、分辨率、帧率、宽高比等),音频参数一致(编码方式、采样率、声道等)。
A、B文件合并的时候,其实B文件内部的时间间隔还是不变的,只是需要调整参考起点的时间戳并在此基础上做累加。一般合并时PTS比较重要,所以需要保证PTS的准确性与连续性。

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧