我在用
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 4K60fps视频中创建600倍时间间隔,请执行以下操作。我只想让ffmpeg
选择每600帧,并把它放在一个新的60 new视频。没有插值,什么都没有。尽管如此,在最近的i5-7600T CPU上,我只获得了0.2fps,同时在没有使用加速比的情况下转换了相同的视频。
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
发布于 2018-09-24 05:18:13
这很慢,因为你在每666帧中挑一个。在对一个帧进行编码之前,必须对所有这666帧进行解码和过滤。假设您的系统可以以每秒333帧的速度解码,那么您的编码速度上限是0.5fps。
您可以使用
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
https://stackoverflow.com/questions/52469754
复制相似问题