前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >video-to-ascii:在命令行中看视频

video-to-ascii:在命令行中看视频

作者头像
小歪
发布2018-12-26 15:14:12
1.7K0
发布2018-12-26 15:14:12
举报

最近GitHub上有个很好玩的项目,叫做video-to-ascii。这是一个简单的python包,可以使用字符作为像素在终端中播放视频。

安装:

代码语言:javascript
复制
pip3 install video-to-ascii

用法:

代码语言:javascript
复制
$ video-to-ascii -f myvideo.mp4

--strategy 可以通过增加参数选择不同的模式

-o --output将渲染输出导出到bash文件以与某人共享

作者也说了实现原理。大意如下:

每个视频由一组以特定帧速率播放的帧组成。

当选择一个字符来表示一个像素时,我们需要测量该像素在帧中的颜色的相关性,然后我们可以根据色度空间中的相对亮度选择最合适的字符,使用光度函数的简化版本。

绿光对人类感知的强度贡献最大,蓝光最少。

最后,当把它们放在一起时,我们将为每个像素和新颜色提供适当的字符。

一些参数

代码语言:javascript
复制
from . import player

def main():
    import argparse

    CLI_DESC = "It is a simple python package to play videos in the terminal using colored characters as pixels or other usefull outputs"
    EPILOG = ("\033[1;37mThanks for trying video-to-ascii!\033[0m")

    PARSER = argparse.ArgumentParser(prog='video-to-ascii', description=CLI_DESC, epilog=EPILOG)
    PARSER.add_argument('-f', '--file', type=str, dest='file', help='input video file', action='store', required=True)
    PARSER.add_argument('--strategy', default='ascii-color', type=str, dest='strategy', 
        choices=["ascii-color", "just-ascii", "filled-ascii"], help='choose an strategy to render the output', action='store')
    PARSER.add_argument('-o', '--output', type=str, dest='output', help='output file to export', action='store')
    PARSER.add_argument('-a','--with-audio', dest='with_audio', help='play audio track', action='store_true')

    ARGS = PARSER.parse_args()

    player.play(ARGS.file, strategy=ARGS.strategy, output=ARGS.output, play_audio=ARGS.with_audio)


if __name__ == '__main__':
    main()

下面是一部小视频,猜猜看是啥

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python爬虫与算法进阶 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档