使用ffmpeg转码时,如何消除文件中的PTS间隙?

使用ffmpeg转码时,如何消除文件中的PTS间隙?,ffmpeg,pts,Ffmpeg,Pts,我有一个来自rtmp流媒体的视频 由于广播经常开闭, 存档文件的PTS如下所示 (假设这是sec) 0--10--20--30--40120--130--140 在40到120秒之间有间断 此文件的持续时间必须为60秒,因为40到120之间有80秒的间隔 但当我转码这个文件时,最后的持续时间变成了140秒,暂停部分80秒 如何在没有“不存在”80秒的情况下对该文件进行转码,从而使输出文件变为60秒,而无需重复暂停80秒 我尝试了“+getpts”或“+igndts”选项,但它们根本不起作用。使用

我有一个来自rtmp流媒体的视频

由于广播经常开闭,

存档文件的PTS如下所示

(假设这是sec)

0--10--20--30--40120--130--140

在40到120秒之间有间断

此文件的持续时间必须为60秒,因为40到120之间有80秒的间隔

但当我转码这个文件时,最后的持续时间变成了140秒,暂停部分80秒

如何在没有“不存在”80秒的情况下对该文件进行转码,从而使输出文件变为60秒,而无需重复暂停80秒

我尝试了“+getpts”或“+igndts”选项,但它们根本不起作用。

使用setpts过滤器

ffmpeg -i in.flv -vf setpts=N/FRAME_RATE/TB out.mp4
如果还有音频,请添加
-af asetpts=N/SR/TB

使用setpts过滤器

ffmpeg -i in.flv -vf setpts=N/FRAME_RATE/TB out.mp4

如果还有音频,请添加
-af asetpts=N/SR/TB

如果也有音频,我认为音频和视频之间一定存在同步问题。是否有其他选项保存音频和视频之间的同步?如果音频PTS没有相应的中断,则必须手动修剪音频。如果在视频冻结期间出现静音,则过滤器可能会工作。谢谢您的建议。我想知道是否有更好的方法来修剪零件如果也有音频,我想音频和视频之间一定存在同步问题。是否有其他选项保存音频和视频之间的同步?如果音频PTS没有相应的中断,则必须手动修剪音频。如果在视频冻结期间出现静音,则过滤器可能会工作。谢谢您的建议。我想知道是否有更好的方法来修剪零件