废话先不多说,上视频:

哈哈,是不是又有点内味了?

今天就想给你介绍一个好玩的库,叫做 video-to-ascii,主要是将视频转化为 acii 编码字符然后输出到控制台。

其中的原理主要是视频是由很多帧构成的,所以把它们抽出来,然后将字符代替对应画面的像素,从而输出到终端上。

因为 Python 操作视频需要使用到 opencv 这个库,所以先安装下:

pip3 install opencv-python

接着安装 video-to-ascii :

pip3 install video-to-ascii

然后就可以使用了,把你在电脑里珍藏已久的某老师教学视频拿出来,使用如下命令:

video-to-ascii -f  你的视频路径

像这样:

python坤坤跳舞的代码 python蹦迪代码_ide

如果你用的是新版本 Python 3.8 ,运行起来可能会报错:

python坤坤跳舞的代码 python蹦迪代码_ci_02

这是因为 Python 新版本的 time 模块做了一点改动,如果你看过文档,你就会发现 time 的 clock 方法被特么的删掉了:

python坤坤跳舞的代码 python蹦迪代码_Python_03

python坤坤跳舞的代码 python蹦迪代码_ide_04

不过别担心,有替代方法:

python坤坤跳舞的代码 python蹦迪代码_ide_05

也就是说根据你的需要,可以用以下两个方法代替 clock 方法:

 time.perf_counter() 

 time.process_time() 

打开你 site-packages 下刚安装的 video_to_ascii 文件:

site-packages/video_to_ascii/render_strategy/ascii_strategy.py

修改一下 120 行和 135 行的代码:

python坤坤跳舞的代码 python蹦迪代码_python坤坤跳舞的代码_06

python坤坤跳舞的代码 python蹦迪代码_ide_07

这样在 Python 新版本中就可以完美运行了。

python坤坤跳舞的代码 python蹦迪代码_python坤坤跳舞的代码_08

如果你不想要输出的字符带有颜色,可以这样:

video-to-ascii -f dance.mp4  --strategy just-ascii

python坤坤跳舞的代码 python蹦迪代码_ide_09

你还可以把这个直接生成 shell 脚本文件:

video-to-ascii -f dance.mp4  -o dance.sh

python坤坤跳舞的代码 python蹦迪代码_ci_10

搞完之后可以直接 sh 运行:

python坤坤跳舞的代码 python蹦迪代码_ide_11

如果你还要让她们一边跳舞一边播放视频的声音,那么就可以这样:

video-to-ascii -f dance.mp4  -a --with-audios

python坤坤跳舞的代码 python蹦迪代码_ci_12