Back
Featured image of post 构建一个在线 ASCII 视频流服务

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

因为搞了玩意儿,被请喝茶了

什么是ASCII视频流服务?

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

 

实际运行效果,点击放大播放
实际运行效果,点击放大播放

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

如何搭建这么一个服务?

需要用到的工具:

1.执行以下命令将视频中的某个片段(或全部)截取为图像

ffmpeg -i HongkongReporter.mp4 -r 5 -ss 00:01:13 -t 00:00:15 %03d.png

以上命令代表将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命令即可查看效果。

Licenced under CC BY-NC-SA 4.0
views
这篇文章发表于 927 天前,可能包含过期内容、中二言论、失效链接