ffmpeg 游戏中时光倒流很慢
ffmpeg timelapse very slow
我正在使用
ffmpeg -i IMG_5299.MOV -c:v libx264 -crf 20 -r 60 -filter:v "setpts=0.0015*PTS" -an IMG_5299-speedup.mkv
从 H.265 4K 60fps 视频中创建 600 倍延时摄影。我只想 ffmpeg
每 600 帧挑选一次并将其组合成一个新的 60fps 视频。没有插值,什么都没有。不过,我在最近的 i5-7600T CPU 上只能获得 0.2 fps,同时使用
转换相同的视频而没有加速
ffmpeg -i IMG_5299.MOV -c:v libx264 -crf 20 -an IMG_5299-2.mkv
给我 5 帧/秒。那么,为什么将视频加速比仅将其转换慢 25 倍呢?它是否对 600 帧中的每一帧进行任何巧妙的插值?
编辑:这是我编码几分钟后得到的状态行:
frame= 447 fps=0.2 q=28.0 size= 68639kB time=00:00:06.56 bitrate=85611.1kbits/s dup=0 drop=147650 speed=0.00233x
它很慢,因为您要从每 666 帧中挑选一个。在对一帧进行编码之前,必须对所有这 666 帧进行解码和过滤。假设您的系统可以以每秒 333 帧的速度解码,那么您的编码速度上限为 0.5 fps。
您可以使用
分析您的解码吞吐量
ffmpeg -i IMG_5299.MOV -an -f null -
您可以通过仅从 MOV 中解复用关键帧数据包来加快编码速度。
ffmpeg -discard nokey -i IMG_5299.MOV -c:v libx264 -crf 20 -r 60 -vf "setpts=0.0015*PTS" -an IMG_5299-speedup.mkv
我正在使用
ffmpeg -i IMG_5299.MOV -c:v libx264 -crf 20 -r 60 -filter:v "setpts=0.0015*PTS" -an IMG_5299-speedup.mkv
从 H.265 4K 60fps 视频中创建 600 倍延时摄影。我只想 ffmpeg
每 600 帧挑选一次并将其组合成一个新的 60fps 视频。没有插值,什么都没有。不过,我在最近的 i5-7600T CPU 上只能获得 0.2 fps,同时使用
ffmpeg -i IMG_5299.MOV -c:v libx264 -crf 20 -an IMG_5299-2.mkv
给我 5 帧/秒。那么,为什么将视频加速比仅将其转换慢 25 倍呢?它是否对 600 帧中的每一帧进行任何巧妙的插值?
编辑:这是我编码几分钟后得到的状态行:
frame= 447 fps=0.2 q=28.0 size= 68639kB time=00:00:06.56 bitrate=85611.1kbits/s dup=0 drop=147650 speed=0.00233x
它很慢,因为您要从每 666 帧中挑选一个。在对一帧进行编码之前,必须对所有这 666 帧进行解码和过滤。假设您的系统可以以每秒 333 帧的速度解码,那么您的编码速度上限为 0.5 fps。
您可以使用
分析您的解码吞吐量ffmpeg -i IMG_5299.MOV -an -f null -
您可以通过仅从 MOV 中解复用关键帧数据包来加快编码速度。
ffmpeg -discard nokey -i IMG_5299.MOV -c:v libx264 -crf 20 -r 60 -vf "setpts=0.0015*PTS" -an IMG_5299-speedup.mkv