0

我有一个来自 rtmp 流的视频。

由于广播经常开和关,

存档文件具有如下 PTS

(假设这是秒)

0--10--20--30--40 120--130--140

40 到 120 秒之间存在不连续性。

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

但是当我转码这个文件时,最终持续时间变成了 140 秒,其中有 80 秒的暂停部分。

我如何在没有“不存在”80 秒的情况下转码这个文件,以便输出文件变成 60 秒而没有冗余暂停 80 秒。

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

4

1 回答 1

3

使用 setpts 过滤器。

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

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

于 2017-07-18T06:16:56.520 回答