使用avconv(甚至ffmpeg,所以我可以用作参考),如何通过仅从另一个视频中获取锚点/参考帧来创建时间推移视频?我发现的大部分信息都是关于如何通过组合图像来创建时间推移视频,我想通过从视频中提取帧来实现.比方说,如果一个视频在30 FPS下长达30秒,我想从900帧(900/60 =每15秒)中取出60帧来产生2秒的视频.
Gya*_*yan 18
要采用每15帧,请使用
ffmpeg -i in.mp4 -vf select='not(mod(n,15))',setpts=N/FRAME_RATE/TB out.mp4
另一种方法是使用帧步滤波器
ffmpeg -i in.mp4 -vf framestep=15,setpts=N/FRAME_RATE/TB out.mp4
小智 13
我有一个来自摄像机的 H264 视频,经过多次尝试,发现以下命令可以生成速度快 16 倍的视频,效果良好,帧速率为 60 FPS(选项 -r),这对于 YouTube 延时拍摄很有帮助
ffmpeg -i video.avi -r 60 -filter:v "setpts=0.0625*PTS" -vcodec libx264 -an timelapse.avi
您可以在此处查看结果https://www.youtube.com/watch?v=azhRqKQ7kCU
由于您要求 1/15 帧,因此 30 FPS 结果视频将是 1/15 ~= 0.06667,您将需要命令
ffmpeg -i video.avi -r 30 -filter:v "setpts=0.06667*PTS" -vcodec libx264 -an timelapse.avi