构建一个在线ASCII视频流服务

构建一个在线ASCII视频流服务

   1685

什么是ASCII视频流服务?

其实这个名字是咱胡乱起的,具体叫啥我也不清楚,但效果如下:

大家可以在自己的命令行里试下,效果比较暴力,就不截图了

如何搭建这么一个服务?

需要用到的工具:

  • ffmpeg
  • hit9/img2txt
  • HFO4/plus1s.live
  • Go和Python的运行环境
    1.执行以下命令将视频中的某个片段(或全部)截取为图像

    ffmpeg -i HongkongReporter.mp4 -r 5 -ss 00:01:13 -t 00:00:15 %03d.png</pre> 以上命令代表将HongkongReporter.mp4`的第1分13秒后的15秒以每秒5帧的速度保存为图像,图像名格式为001.png 002.png ……
    效果如下:

    2.使用修改过的hit9/img2txt将图像转换为ASCII画.

    原版hit9/img2txt只能单张转换,我稍微改了下,可以批量转换并保存为txt。修改后的版本:https://github.com/HFO4/img2txt/blob/gh-pages/img2txt.py

    clone下来后修改img2txt.py第246行的目录为上一步存放图像的目录,然后执行:

    pip install img2txt.py python img2txt.py h

    稍等片刻,ASCII字符文件会存放到与img2txt.py同级的pic目录下

    3.部署在线服务

    HFO4/plus1s.live克隆下来,并将上一步得到的pic目录替换到此项目的目录下,修改stream.go第13行为你得到的单帧图像的总个数。保存后执行:

    `go build stream.go
    ./stream

然后程序会默认开放1926端口,使用curl 您的ip:1926命令即可查看效果。

posted @ 2018-08-05 05:10  LiuYanYGZ  阅读(778)  评论(0编辑  收藏  举报