【ffmpeg命令】制作一个属于你自己的动图表情包

举报
人才程序员 发表于 2024/09/14 18:44:11 2024/09/14
【摘要】 @TOC 前言在数字时代,动图表情包已经成为我们日常交流的重要组成部分。它们富有表现力,能够传达出我们无法用语言表述的情感和信息。然而,市面上的表情包并不能满足我们所有的需求。有时候,我们可能想要创建一些个性化的、独一无二的表情包。这就是我们今天要讨论的主题:如何使用FFmpeg命令制作属于你自己的动图表情包。 如何制作一个动态表情包我们需要先下载你需要制作的视频把它转换为低分辨率的视频,如...

@TOC


前言

在数字时代,动图表情包已经成为我们日常交流的重要组成部分。它们富有表现力,能够传达出我们无法用语言表述的情感和信息。然而,市面上的表情包并不能满足我们所有的需求。有时候,我们可能想要创建一些个性化的、独一无二的表情包。这就是我们今天要讨论的主题:如何使用FFmpeg命令制作属于你自己的动图表情包。


如何制作一个动态表情包

  1. 我们需要先下载你需要制作的视频
  2. 把它转换为低分辨率的视频,如:360P,以减少内存消耗
  3. 把它的帧率转换到更低,以减少内存消耗
  4. 截取视频中你需要的内容
  5. 把它转换为gif格式

制作动图表情包

下载我这里就不演示了

转换分辨率

转换分辨率可以使用简单滤波即可,我们使用scale=x:y即可改变
如果要变成360P则是宽为360像素,则y写360,x填写-1时,宽度会自动调整

ffmpeg -i test2.mp4 -vf "yadif,scale=-1:360" out.mp4

可以看到占用内存大幅减少:
在这里插入图片描述
在这里插入图片描述

减少帧率

我们可以把他减少到10~15FPS,这样就可以减少内存占用了

ffmpeg -i out.mp4 -r 10 out2.mp4

在这里插入图片描述
这样操作完就只有2MB了,但这还是太大了

截取主要内容

我们可以使用-ss表示开始的时间,-t表示介绍的时间,格式为:xx:xx:xx
然后因为我们还是转换为mp4,所以可以使用复制流

比如我截取前10s的内容:

ffmpeg -i out2.mp4 -ss 00:00:00 -t 00:00:10 -c copy out3.mp4

这下它的内存就非常小了:
在这里插入图片描述

转换为gif动图

非常简单,直接转换就行了:

ffmpeg -i out3.mp4 result.gif

最后我们的动图就出来了:
在这里插入图片描述
我们可以发现它变成大了
在这里插入图片描述
这是因为普通的视频格式它是会压缩的,但是gif没有压缩,就只是一堆图片而已,所以它会比普通的视频大(在所有情况相同下)

我们还可以再缩小它,缩小成360P的一半:

ffmpeg -i result.gif -vf "scale=320:180" result2.gif

在这里插入图片描述
可以看到它的大小再次缩减

去除水印

如果你要求更高,你还可以去除水印,使用的也是过滤:
使用delogo=x=...:y=xxx:w=...:h=...进行去除水印

ffmpeg -i result2.gif -vf "delogo=x=10:y=10:w=100:h=20" result3.gif

最终结果

在这里插入图片描述
在这里插入图片描述


总结

通过本文,我们学习了如何使用FFmpeg命令制作动图表情包。这个过程虽然涉及到一些技术细节,但只要掌握了基本的命令和步骤,就可以轻松制作出属于自己的表情包。无论你是想要为你的社交媒体增添一些个性化的元素,还是想要在朋友间分享一些有趣的内容,自制的动图表情包都是一个不错的选择。希望你能在这个过程中找到乐趣,也期待看到你制作的精彩表情包!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。