ASCIIPlayer : Golang写的ASCII码播放器ASCIIPlayer是一个基于Image2ASCII的ASCII码播放器,可以播放图片,gif动图,视屏(还在开发中)等,提供了类库和命令行工具方便使用。HomePage: https://github.com/qeesung/as… 欢迎Star 先上一个效果图特性支持在终端中播放一般的图片,比如PNG,JPEG,也支持播放GIF动图和视屏。支持将一个图片,PNG,JPEG类型和GIF动图和视屏直接编码成为一个ASCII码图片。支持搭建一个Http Server来分享ASCII图片到远程的一个客户端。工作原理首先将任何一个输入的文件通过解码器解码成个一个帧序列,不同的文件有不同的解码器,比如GIF文件有GifDecoder然后将解码出来的帧序列通过Image2ASCII转换器转换成ASCII码图片然后将转换以后的ASCII图片输出到不同的IO中去,其中包括:输出到一个一般文件中(Encode模式): 这里我们只能逐帧,逐像素的将转化以后的ASCII图像写到文件中去。输出到终端(Play模式): 直接将转换以后的图像按照一定的频率输出到终端即可。输出到远端客户端(Server模式): 这里和输出到终端的原理类似,只是输出到了远端客户端所在的终端。 +—————+ +———+ | | | | +——> Gif Decoder | +—> Encoder +—> file | | | | | | | +—————+ | +———+ | +—————+ +————-+ | +———+ | | | | | | | |Input File+——> Image Decoder +—> Frames +–>+ Image2ASCII +->ASCII Frames-+—> Player +—> stdout | | | | | | | | | +—————+ +————-+ | +———+ | +—————+ | +———+ | | | | | | +——> Video Decoder | +—> Server +—> socket | | | | +—————+ +———+安装go get -u github.com/qeesung/asciiplayer命令行使用 _ ____ ____ ___ ___ ____ _ _ __ _______ ____ / \ / | / | | | _ | | / \ \ / / | _ \ / _ \ _ | | | | | || |) | | / _ \ V /| | | |) | / ___ \ ) | | | | | || /| | / ___ | | | || _ <// __/ _|||| |/_/ __| |_|_| _>>>Version : 1.0.0>>>Author : qeesung>>>HomePage : https://github.com/qeesung/asciiplayerasciiplayer is a library that can convert gif and video to ASCII imageand provide the cli for easy use.Usage: asciiplayer [command]Available Commands: encode Encode gif or video to ascii gif or video help Help about any command play Play the gif and video in ASCII mode server Server command setup a http share server version Show the versionFlags: -D, –debug Switch log level to DEBUG mode -h, –help help for asciiplayerUse “asciiplayer [command] –help” for more information about a command.播放命令 play播放命令直接在终端中播放对应的媒体,比如PNG和GIF图片。可以通过asciiplayer play -h来获得更多细节Play 例子通过适配屏幕的方式播放GIFasciiplayer play demo.gif缩小为原来的十分之一,然后播放GIFasciiplayer play demo.gif -r 0.1缩放成固定的长和宽,然后播放GIFasciiplayer play demo.gif -w 100 -h 40播放一个PNG图片asciiplayer play demo.png编码命令 encode编码命令可以将一个PNG图片或者是GIF动图,视屏文件转化成一个ASCII的文件可以运行asciiplayer encode -h来获得更多细节输入文件eye.gif输出文件ascii_eye.gifEncode 例子讲一个GIF文件demo.gif编码为ASCII的Gif文件output.gifasciiplayer encode demo.gif -o output.gif指定输出ASCII字符大小的情况下,讲一个GIF文件demo.gif编码成ASCII的GIF动图文件output.gifasciiplayer encode demo.gif -o output.gif –font_size=5将GIF动图demo.gif缩放为原来的十分之一,然后编码成ASCII的GIF动图文件output.gifasciiplayer encode demo.gif -o output.gif -r 0.1编码一个jpeg文件,然后输出一个ASCII的output.png文件asciiplayer encode demo.jpeg -o output.png服务命令 server可以搭建一个Http Server,然后将转换以后的图片分享到远端的客户端。搭建服务$ asciiplayer server demo.gif# Server available on : http://0.0.0.0:8080远端访问$ curl http://hostname:8080# play ascii image here可以通过运行命令asciiplayer server –help来获得更多细节Server 例子输入demo.gif,并以默认端口8080启动一个http服务器asciiplayer server demo.gif输入demo.gif,并以自定义端口8888启动一个http服务器asciiplayer server demo.gif –port 8888输入一个demo.png图片,并且启动http 服务器asciiplayer server demo.png一些例子Raw ImageASCII ImageHomePage: https://github.com/qeesung/as… 欢迎Star