> 文档中心 > python版某某人最火毽子操

python版某某人最火毽子操

最近刘老师的本草纲目毽子操真的火遍全网,魔性的舞蹈带动了全民健身的热潮,今天有点空闲时间,整点有意思的,做一个Python版的毽子操。本文将从素材下载>>提取视频片段>>制作gif2txt 进行讲解。

you-get 下载视频素材

作为一款优秀的视频下载工具,如果没有安装 you-get 的小伙伴,可以直接通过下面语句进行安装。

pip install you-get

网上的视频素材有很多,我从B站找了一个播放量比较高的视频,可以先通过you-get -i命令查看视频信息 

D:\funny_demo> you-get -i https://www.bilibili.com/video/BV1Pa411v7vgsite:  Bilibilititle: 本草纲目毽子操|快来雕塑马甲线!streams:      # Available quality and codecs    [ DASH ] ____________________________________    - format: dash-flv      container:     mp4      quality:高清 1080P      size:   68.3 MiB (71568955 bytes)    # download-with: you-get --format=dash-flv [URL]    - format: dash-flv720      container:     mp4      quality:高清 720P      size:   43.9 MiB (46037629 bytes)    # download-with: you-get --format=dash-flv720 [URL]    - format: dash-flv480      container:     mp4      quality:清晰 480P      size:   27.2 MiB (28503438 bytes)    # download-with: you-get --format=dash-flv480 [URL]    - format: dash-flv360      container:     mp4      quality:流畅 360P      size:   12.2 MiB (12841765 bytes)    # download-with: you-get --format=dash-flv360 [URL]    [ DEFAULT ] _________________________________    - format: flv      container:     flv      quality:高清 1080P      size:   77.5 MiB (81286715 bytes)    # download-with: you-get --format=flv [URL]    - format: flv720      container:     flv      quality:高清 720P      size:   53.1 MiB (55646607 bytes)    # download-with: you-get --format=flv720 [URL]    - format: flv480      container:     flv      quality:清晰 480P      size:   26.2 MiB (27428400 bytes)    # download-with: you-get --format=flv480 [URL]    - format: flv360      container:     flv      quality:流畅 360P      size:   12.4 MiB (12992160 bytes)    # download-with: you-get --format=flv360 [URL]

了后续处理更快速,这里选择下载【清晰 480P】即可,执行下面命令完成下载,文件默认存放在当前目录中。 

D:\funny_demo>you-get --format=flv480 https://www.bilibili.com/video/BV1Pa411v7vgsite:  Bilibilititle: 本草纲目毽子操|快来雕塑马甲线!stream:    - format: flv480      container:     flv      quality:清晰 480P      size:   26.2 MiB (27428400 bytes)    # download-with: you-get --format=flv480 [URL]Downloading 本草纲目毽子操|快来雕塑马甲线!.flv ... 100% ( 26.2/ 26.2MB) ├████████████████████████████████████████┤[1/1]  273 kB/sDownloading 本草纲目毽子操|快来雕塑马甲线!.cmt.xml ...

moviepy 提取视频片段 

 moviepy 是一个用于视频编辑的 Python 模块,可用于一些基本操作(如剪切、拼接、插入标题)、视频合成、视频处理和创建高级特效,可通过下面命令安装。

pip install moviepy

 我们需要用 moviepy 将视频中的部分需求片段转成 gif

om moviepy.editor import *video = CompositeVideoClip([VideoFileClip("本草纲目毽子操|快来雕塑马甲线!.flv").subclip(6, 70)])video.write_gif('6-70.gif', fps=12)

 代码十分简洁,我们提取 6-70s 的视频,并保存为gif(代码运行时间大约4-5min,可适当减小提取视频的时间区间)。

gif2txt

gif2txt: Gif image to to Ascii Text. (Just a toy),即 gif -> ASCII

 无论你用任何方式将项目 clone 到本地,在使用时你只需进入项目文件夹,并打开 cmd,运行以下命令即可完成转化。

ython gif2txt.py [Gif PATH] -m 80 -o [OUT_PATH xxx.html]

 例如:

D:\funny_demo\gif2txt>python gif2txt.py 6-70.gif -m 80 -o 6-70_out.html

有一点值得注意,生成的 gif 会因为代码中的 img 缩放导致形状发生变换,如果需要可以,修改源文件 gif2txt.py。 

不要把 width,height 设置的过大,因为这样会造成输出的文件中有大量的填充字符,导致文件大小剧增。

最后,html中的字符变换的比较快,录gif的效果不太好,大家就先看看图片算了。感兴趣的可以自己动手尝试一下。