linux – 如何通过丢帧来加速视频?

我有一段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视频.这不会降低图像质量.

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...