美文网首页博科园物理学习者的笔记人芳觅
哇塞哇塞--一行命令搞定视频截取和gif制作!

哇塞哇塞--一行命令搞定视频截取和gif制作!

作者: 人芳觅 | 来源:发表于2019-06-29 22:09 被阅读59次

    文|梁佐佐

    假如你平时方便用Linux,或者为了更高效的做一些简单的视频剪辑,不妨试试Linux下强大的视频编辑软件,即ImageMagick和ffmpeg。本文将言简意赅的介绍怎样一行命令实现——视频截取、视频中的帧图片提取、短视频转换为gif、多张图片合成gif、gif图片压缩这5个技巧。

    首先,我下载了最新一集的一拳超人(第二季第十集):

    至于是怎么下载的,现在这不是重点。

    在linux环境下,可以看见这个视频的名字--***ONEPUNCH*******

    开始操作了!

    1. 怎样一行命令剪切视频中的某一片段?

    输入下行命令,将截取该集动画片中的19分55秒——20分00秒总共5s的视频(Ps: 我发现第二季一拳超人每集中精彩的打斗场面真是太少了,远远不如第一季,本来想剪辑海贼王的,可是海贼王最新几集更是没有打斗,而且真是PPT动画的感觉==不说了)。

    ffmpeg -i \[HYSUB\]ONE\ PUNCH\MAN\[22\]\[GB_MP4\]\[1280X720\].mp4 -vcodec copy -acodec copy -ss 00:19:55 -to00:20:00 cutout5s.mp4 –y

    -i:读取视频文件名

    -vcodec copy表示使用跟原视频一样的视频编解码器。

    -acodec copy表示使用跟原视频一样的音频编解码器。

    -ss 00:19:55 -to00:20:00:从00:19:00开始剪切到00:20:00总共5s

    cutout5s.mp4 –y:剪切出的视频命名为cutout5s.mp4,-y表示覆盖掉同名的文件(不加也行)

    2. 怎样将视频安帧拆解为很多图片?

    ffmpeg -i cutout5s.mp4 image%d.jpg

    -i cutout5s.mp4 image%d.jpg:读取cutout5s.mp4,将其拆解为image*.jpg。

    3. 怎样用这个cutout5s.mp4或者是很多图片合成制作一个gif动图?(这其实是两个问题)

    ffmpeg -icutout5s.mp4 out.gif

    或者是

    convert -delay 10-loop 0 *.jpg out.gif

    -delay 10:其中,120表示10*10ms=0.1s,每帧图片播放时间隔1.2s

    -loop 0:其中,0表示无限循环此gif。

    *.jpg表示当前目录默认排序下的所有jpg图片

    out.gif表示最后生成的gif动图

    4. 生成的gif太大了,好几十M或者十几M,怎样压缩?

    mogrify -resize320x240 out.gif

    -resize 640x480 out.gif:将out.gif(直接从视频转换后的大小为27M !)画幅大小调整为640*480。你也可以320 x240或者其他数值,看一下这两者的区别吧:

    最后,让我们看看只懂技术不懂审美的小编合成的gif是怎样的:

    (因为图片上传要求小于2M,该gif包含的图片帧数是100多张,然后这么模糊实在是。。。。。。情有可原=。=)

    更多细节参考:

    https://blog.csdn.net/huangxingli/article/details/46663143

    https://www.jianshu.com/p/6b629dc305af

    https://blog.csdn.net/tge7618291/article/details/7553807

    喜欢的话,分享一下吧~^o^~  

    相关文章

      网友评论

        本文标题:哇塞哇塞--一行命令搞定视频截取和gif制作!

        本文链接:https://www.haomeiwen.com/subject/rpsmcctx.html