我有一段30分钟的视频.我想制作一个加速版本(比方说)15分钟.我可以通过丢弃每第2帧来做到这一点.我怎么能在
linux上这样做?
我正在玩gstreamer,看起来很酷.有没有办法用gstreamer做到这一点?什么是gst-launch命令行呢?
我的源视频是Motion JPEG,所以我确实要删除帧.即使它使用关键帧,仍然应该有一种方法来“加倍”电影?
我想要一个命令行方式来实现这一点,因为我想自动化它.
解决方法
您可以将帧速率设置为两倍高.例如如果输入真的是30 / 1.001 FPS:
mencoder -fps 60/1.001 -oac copy -ovc copy -o output.avi input.avi
http://www.mplayerhq.hu/DOCS/HTML/en/index.html
或者使用mencoder -sstep 0.1删除帧,以便在每帧之后向前跳过0.1秒.
mplayer -nosound -channels 2 -vf decimate = -2:16384:16384:1 mvi_3524.avi也可以,但它可能很慢,如果不解压缩/重新压缩每一帧,你可能无法做到.
mjpegtools有一个yuvfps用于在y4m视频中混合/删除帧.见http://linux.die.net/man/1/mjpegtools.
我没有太多运气找到一个知道如何在没有解压缩/重新压缩的情况下从mjpeg视频中删除帧的工具.因此,您可能必须将mjpeg转换为.jpg文件的目录,删除奇数编号的目录,然后将它们重新组合成具有相同帧速率的mjpeg视频.这不会降低图像质量.