用 Python 开发一个【GIF表情包制作神器】

小帅b 学习python的正确姿势

之前小帅b写过这样一篇教程

用python成为了微信斗图届的高手

然后,好多人表示:

虽然存了很多表情包

但似乎还不是很过瘾

因为它不可以自己来定制

我们可不可以根据一些表情素材

然后自己制作专属表情包呢

像这样

本来小帅b想自己实现一个表情包制作器

后来发现已经有人在 GitHub 分享了

主要功能就是

可以在原有的素材里面

自定义自己的字幕

最后生成 GIF 表情

直接把项目源码地址扔给你还是差点意思

有句话怎么说来着

要知其所以然嘛

所以我还是先跟你说下

这是如何使用 Python 实现的吧

看懂之后你就可以完全根据自己

想要的方式去创建 GIF 表情包了

想要将字幕和视频合成

就需要用到 ffmpeg

比如各种命令的参数使用

我们之前就使用 ffmpeg

将音频和视频进行合成

用 Python 开发一个【视频营销号】生成器

而要将视频和字幕合成 GIF

就可以通过这样的命令来合成

其中 -i 就是原始视频的路径

ass 传入的是自定义的字幕文件

最后输出为 haha.gif

这样我们就可以得到自己想要的 GIF 了

所以其实

我们只需要相应的原始视频文件

以及字幕文件模板就可以了

视频可以到网上找到下载

那么字幕模板如何生成呢

可以使用 aegisub 免费软件生成

字幕文件

你可以在相应的位置

输入你想说的sao话

编辑完就可以导出字幕

得到相应的 ass 文件

那要替换成别的字幕

只需要改变上面的文字就可以了

可以定义一个模版文件

将字幕内容变成变量

用模板语言标记一下

这里用了列表 sentences

这样就可以用来接收用户定义的字幕

将每一句话都放在合适的位置

现在你知道怎么生成字幕

也知道如何使用 ffmpeg 合成 GIF

那么想要在 Python 运行 ffmpeg 命令

就可以使用 subprocess

学习python的正确姿势

在 python 中执行终端的命令,视频时长有限,最后的小火车还没开完就没咯[旺柴] #python##命令##小帅b#@学习python的正确姿势

视频号

(顺便关注下呗⬆️)

然后像这样执行

这就是实现表情包制作的主要思啦

当然

我们可以直接就在 Python 中创建表情包

不过也可以完善一下

直接做出来给用户使用

这个项目的作者就使用 Flask

简单写了个 web

让用户写入想要生成的表情包文字内容

获取用户的输入的内容使用 post 请求

后端的 POST 方法主要是去调用

我们刚刚说的方法

然后将得到的 GIF 路径提供给用户下载

是不是挺好玩的

源码地址在这

哈哈谁 TM 买小米啊

哦不是

谁特么敢跟我们斗图啊

有机会的话

小帅b开发个微信表情包制作小程序

给你们玩玩

想要的点在看

多的话我就安排起来

ok

本篇主要给你介绍一下思路

希望对你有帮助

那么我们下回见

peace

python 表情包 gif,用 Python 开发一个【GIF表情包制作神器】相关推荐

  1. Python Web实战:Flask + Vue 开发一个漂亮的词云网站

    作者:snowspace@掘金 前言 大家好,我是菜鸟哥!Python里面两大最牛的Web框架,一个是Django,一个是Flask .今天就分享一个用Flask做的词云生成网站,非常有意思的小web ...

  2. 探索 Python、机器学习和 NLTK 库 开发一个应用程序,使用 Python、NLTK 和机器学习对 RSS 提要进行分类

    挑战:使用机器学习对 RSS 提要进行分类 最近,我接到一项任务,要求为客户创建一个 RSS 提要分类子系统.目标是读取几十个甚至几百个 RSS 提要,将它们的许多文章自动分类到几十个预定义的主题领域 ...

  3. python的Tkinter库简单应用——开发一个简易计算器

    利用python的Tkinter库开发一个简易计算器 文章目录 利用python的Tkinter库开发一个简易计算器 前言 一.实验准备 二.开发步骤步骤 1.引入库 2.界面设计 3.关键--实现T ...

  4. java 保存微信表情_Java微信公众号开发之用户表情存储解决方案

    1.问题产生情况 我遇到这个问题是做微信开发的时候有些有用的头像用了微信的emoji表情,然而我的mysql数据库用的编码是utf8_general_ci,就是utf-8编码,结果也就报错误了. 2. ...

  5. python如何开发小软件-Python程序员,如何快速开发一个小程序

    要点: 小程序是前后端分离的. 前端使用的是微信自定义的一套规范wxml+wxss+json+js,本质还是html+css+js. 后台可以选用任何你熟悉的语言:Java,Python,PHP,Ru ...

  6. 编写一个python程序,利用scapy数据库构造一个icmp数据包,使其能实现ip扫描

    下面是一个使用 scapy 库来构造 ICMP 数据包并进行 IP 扫描的 Python 程序的示例: from scapy.all import *# 设置源 IP 地址和目的 IP 地址 src_ ...

  7. 开发一个二方包,优雅地为系统接入ELK(elasticsearch+logstash+kibana)

    去年公司由于不断发展,内部自研系统越来越多,所以后来搭建了一个日志收集平台,并将日志收集功能以二方包形式引入各个自研系统,避免每个自研系统都要建立一套自己的日志模块,节约了开发时间,管理起来也更加容易 ...

  8. python 250行代码开发一个贪吃蛇

    python 250行代码开发一个贪吃蛇 1. 前提工作准备 2. 全局变量的定义与包的导入 3. 游戏开始界面初始化 4. 游戏界面的设置 4.1 游戏界面,使用一个Point类进行划分 4.2 预 ...

  9. 实战|轻松用 Python 开发一个简单有趣的聊天小程序

    前言 Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol). UDP 为应用程序提供了一种无需建立连接就可以发送封装的 I ...

  10. python中的wheel有什么用_什么是Python Wheels?为什么要学Python Wheels

    前言 Python .whl文件(或wheels)是Python中很少讨论的一部分,但是它们对Python包的安装过程非常重要.如果您已经使用pip安装了Python包,那么很有可能是轮子(wheel ...

最新文章

  1. iOS 内购服务器验证失败返回21004
  2. MYSQL_使用外键约束(constraint)或触发器(trigger)来进行级联更新、删除
  3. 蓝桥杯java第三届决赛第一题--星期日
  4. android自定义push通知_android通过自定义toast实现悬浮通知效果的示例代码
  5. makemid+matlab,《MATLAB基础》双语课
  6. 128位加密SSL证书
  7. .NET高级调试 | 通过JIT拦截无侵入调试 C# Emit 生成的动态代码
  8. Visual Studio 2005 Tip:编辑项目文件
  9. jwt java 项目实例_JWT(JsonWebToken)+SpringMVC项目demo
  10. python中for语句的使用_python中for in的用法
  11. 最大似然估计_R初等统计分析(一)——概率分布、最大似然估计
  12. oracle 总僵尸进程,subprocess子进程kill后存在僵尸进程的原因及处理方法
  13. 团队管理之—— 定目标:让你的方向与公司的方向保持一致
  14. [系统安全] 七.逆向分析之PE病毒原理、C++实现文件加解密及OllyDbg逆向
  15. 《大厂面试》面试官看了直呼想要的简历
  16. hangfire mysql_.NET之Hangfire快速入门和使用
  17. 基于微信小程序的二手闲置跳蚤市场交易平台 uni-app
  18. WPS、Excel对大量数据进行统计公式计算
  19. python use ftp to download/updown
  20. HBase 事务性 (Transaction)

热门文章

  1. Java 如何判断手机号的运营商,是移动、联通、还是电信?
  2. 软考倒计时26天,最后冲刺阶段
  3. BeanUtils深拷贝,浅拷贝
  4. 分布式系统理论之Quorum机制
  5. 创新工场汪华:给早期创业者的44条建议
  6. GSM+GPRS通信模块SIM800C介绍
  7. srand rand c语言,C语言srand和rand函数
  8. 年会抽奖程序,基于 Express + Three.js的 3D 球体抽奖程序
  9. Iterative closest point (ICP) 算法
  10. Lange定向耦合器的设计与仿真