FFmpeg分割和不准确/错误的帧率

FFmpeg分割和不准确/错误的帧率,ffmpeg,frame-rate,segment,Ffmpeg,Frame Rate,Segment,我使用ffmpeg以每秒15帧的速度将RTSP流保存到文件中。该命令与此类似(我对其进行了简化): ffmpeg-y-irtsp://IP/media.amp -c复制-r 15-f段-段时间60-重置段时间戳1-段时间戳1-时钟时间1-strftime 1输出文件%Y-%m-%d\u%H-%m-%S.mp4 它基本上从流中创建1分钟长的文件,但问题是每个分段文件的帧速率从来都不是15fps 我得到的值是这样的 14.99874 15.00031 这对我来说是一个巨大的问题,因为我需要将这些文件

我使用ffmpeg以每秒15帧的速度将RTSP流保存到文件中。该命令与此类似(我对其进行了简化):

ffmpeg-y-irtsp://IP/media.amp -c复制-r 15-f段-段时间60-重置段时间戳1-段时间戳1-时钟时间1-strftime 1输出文件%Y-%m-%d\u%H-%m-%S.mp4

它基本上从流中创建1分钟长的文件,但问题是每个分段文件的帧速率从来都不是15fps

我得到的值是这样的

14.99874 15.00031

这对我来说是一个巨大的问题,因为我需要将这些文件与其他15fps的视频合并,结果并不好。合并的文件不稳定,如果我随机点击时间条,图像崩溃,有时甚至VLC崩溃

如果我只是合并流文件,一切都很好,当我尝试将其与其他内容混合时,我无法获得一个可观看且稳定的视频文件

这正常吗?我能做些什么,以固定15fps的片段而不重新编码


提前感谢。

正如Mulvya指出的,ffmpeg会截断最后一帧

有两种方法可以解决此问题:

1) 将文件保存到mp4以外的其他容器中,它可以是TS


2) 删除视频的最后一帧也可以,但您必须使用一个过滤器,这意味着重新编码,这可能会在cpu/ram上很长很重

保存到TS。MP4中最后一帧的持续时间被截断。如果需要的话,可以换成MP4。如果你不介意我问的话,这是什么?传输流文件格式?我尝试过重新使用MP4,但由于时间限制,我有太多的数据。谢谢你的回答,它确实为我打开了一些可能性=传输流。除非你的文件很大,否则Remux应该需要几秒钟。我保存到TS,它可以做到这一点,但当我用VLC打开单个TS文件时,它不会显示持续时间,怎么办?这是VLC问题。ffprobe和Potplayer一样显示持续时间。