Github:https://github.com/BiscuitOS/HardStack/tree/master/Language/Shell/ASCII_Animation

Email : BuddyZhang1 buddy.zhang@aliyun.com

目录

  1. 准备材料

  2. 基础工具安装

  3. 视频转图片

  4. 后期制作

  5. 附录/捐赠


准备材料

ASCII 动画对于大家来说应该不陌生吧,让人决定很炫技的样子。这篇文章就是用于介绍 制作一个 ASCII 动画,各位开发者学会之后可以用它送给自己的爱人,朋友,亲人。 毕竟程序员的浪漫是用代码替代鲜花的。

为了制作 ASCII 动画,需要准备如下工具:

  1. 一台 Linux 发行版,推荐使用 Ubuntu 18.04

  2. 一台视频编辑电脑或视频编辑软件

  3. 一段视频

以上材料对于一个程序员都比较容易获得,如果你不是程序员,那么你可以跳过所有教程 直接找我帮你做就行了。


基础工具安装

首先在 Linux 发型版上安装基础工具。由于需要视频数据处理,所有我们需要 ffmpeg 工具,使用如下命令:

sudo apt-get install -y jp2a ffmpeg

接着下载脚本,使用如下命令:

wget https://gitee.com/BiscuitOS_team/HardStack/raw/Gitee/Language/Shell/ASCII_Animation/BiscuitOS_M2A.sh
https://gitee.com/BiscuitOS_team/HardStack/raw/Gitee/Language/Shell/ASCII_Animation/README.md

视频转图片

准备好视频之后,参考使用如下命令将视频进行转换:

chmod 755 BiscuitOS_M2A.sh
./BiscuitOS_M2A.sh -i demo.mp4 -o anim

运行上面的命令后,脚本会将视频转换成一个基础的字符流视频,接下来 开发者可以根据下面的参数进行视频修正,参数如下:

-i 参数表示输入视频,后面跟输入视频的绝对路径, 如 Demo.mp4

-f 表示数据图片的格式,这里的参数固定为 image2

-r 表示帧率, 也就是 1s 钟截取多少张图片,数值越大生成的图片越多

-t 表示转换视频的时长

-s 表示视频开始转换的起始时间

-d 表示转换的清晰度,数值越大越清晰

基于上面的参数,可以做细腻的转换,如下:

./BiscuitOS_M2A.sh -i demo.mp4 -o anim -r 30 -t 10 -s 00:01:00 -d 100

运行完上面的命令之后,就可以获得一个比较理想的动画,此时通过 缩放终端的大小让动画正好铺满当前终端。


后期制作

到目前为止,字符动画已经制作完成,开发者可以根据自己的需求,这里建议集中方法:

  1. 使用 Kazam 工具进行录屏,直接生成 mp4 格式视频,然后转后期配乐

  2. 获得 mp4 视频之后,使用 ffmpeg 工具生成 gif 图片

这里就继续讲解 gif 制作方法。

MP4 视频获取

在 Ubuntu 上,开发者使用 Kazam 可以进行录屏,首先进行安装,使用如下命令:

sudo apt-get install kazam

安装完毕之后,直接运行即可。

点击 Screencast,然后点击 Window,选择字符画运动的窗口,然后开始录屏。录制 完成之后,会在 ~/Videos/目录下生成 mp4 格式的视频,开发者可以根据自己的需求 进行后期处理。

GIF 获取

在获得 mp4 格式视频之后,可以使用 ffmpeg 工具获得 gif 图片,使用如下命令:

ffmpeg -i target.mp4 -r 15 output.gif

-i 参数后面跟输出视频的绝对路径

-r 表示帧率,后面跟帧率,数值越多越流程


附录

赞赏一下吧 🙂