让你的代码发声

一个项目做过一段时间后,想把这段时间内svn日志以图形化展示,如下图所示

gource是个不错的选择。在mac系统上使用port可以安装。

如果mac上没有port,可以到http://www.macports.org/install.php下载安装,为了省事,我直接选择dmg方式安装,安装后重启mac,port才能生效。

第一步:安装gource:
 sudo port install gource
经过漫长的等待gource安装成功。
第二步:生成svn日志,当然也可以生成git日志
`gource --log-command svn` > wanke.log

第三步:根据日志,调用gource,展示动画,比如
gource wanke.log --follow-user guangzhao --seconds-per-day 0.02 -1280x720 -o wanke.ppm --title Wanke --hide filenames,dirnames,root,usernames

关于gource的具体参数这里:https://github.com/acaudwell/Gource,生成动画的过程中,我们可以通过

Interactive keyboard commands:

    (V)   Toggle camera mode
    (C)   Displays Gource logo
    (K)   Toggle file extension key.
    (M)   Toggle mouse visibility
    (N)   Jump forward in time to next log entry.
    (S)   Randomize colours.
    (+-)  Adjust simulation speed.
    (<>)  Adjust time scale.
    (TAB) Cycle through visible users
    (F12) Screenshot
    (Alt+Enter) Fullscreen toggle
    (ESC) Quit

视角,样式等的控制

仅仅通过gource生成动画还不够帅,我们需要把这个动画保存下,不至于每次每次想别人展示的都有装一个gource。这里就用到ffmpeg。同样通过macport也可以安装ffmpeg

sudo port install ffmpeg

经过更长时间的等待。安装

通过如下命令,我们把ppm转换为mp4格式

ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i wanke.ppm -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 wanke.mp4

通过这种方式生成的mp4文件有点大,并且没有声音效果,我们可以通过iMovie重新编辑视频,并增加声音特效,一个完美的视频就此搞定。

让你的代码发声

时间: 2024-10-01 10:50:59

让你的代码发声的相关文章

错误和问题解决的成本

问题描写叙述 错误 数据收集 根本原因 版本号   组件:数据修复           在一个实际成本组织中,(平均,先进先出,后进先出) 一个或更 多的下面情况可能发生: 1.导航到物料成本历史表单上的数量信息,与现有量表单的数量不匹配的记录 2. 一些物料前期已计成本的数量与前面的事务处理历史表单的数量不匹配 3. 全部的库存值报表与事务处理值报表不匹配 4. 存货层次成本更新表单的总数量与现有量数量表单不匹配(只在先进先出/后进先出) 5.这些症状的不论什么一个意味着 MMT-CQL不匹配

JS 代码调试经验总结(菜鸟必读)

前言:不知不觉写了很多,希望你能耐心看完这篇文章 任何一个编程者都少不了要去调试代码,不管你是高手还是菜鸟,调试程序都是一项必不可少的工作.一般来说调试程序是在编写代码之后或测试期修改Bug 时进行的,往往在调试代码期间更加能够体现出编程者的水平高低以及分析问题的准确度.不少初学者在寻找错误原因时,总是不得要领,花费了大量时间却无法解决一些最终证明是相当简单的Bug. 在长期解答 zTree 相关问题时,也的确发现很多的问题其实不算什么问题,仅仅是编程者不会调试造成的,通过自己日常工作观察,这里

Linux0.11内核剖析--内核代码(kernel)--sched.c

1.概述 linux/kernel/目录下共包括 10 个 C 语言文件和 2 个汇编语言文件以及一个 kernel 下编译文件的管理配置文件 Makefile.其中三个子目录中代码注释的将放在后面的文章进行.本文主要对这 13 个代码文件进行注释. 首先我们对所有程序的基本功能进行概括性地总体介绍, 以便一开始就对这 12 个文件所实现的功能和它们之间的相互调用关系有个大致的了解,然后逐一对代码进行详细地注释.本文地址:http://www.cnblogs.com/archimedes/p/l

Android手机之间通过声音传输信息方法——声波通信(含工程代码)

大家可能都用过支付宝的声波支付,即两个终端同时打开该功能,一个终端作为发送端send,一个终端作为接收端get,send将本终端上发出的请求信息按照约定规则的算法进行声音编码,并播放出来,get端接收到send发来的声音数据,按照约定规则进行解码,即获得了相应的信息. 原理如上,其实很简单,就是用单频率声音信号对数据进行编码,然后播放这些单频率声音,接收方在收到声音后,识别出频率,然后根据频率解码出数据. 最简单的方法就是把0-9赋予特定的频率,将需要传输的数据转成十进制的数,分别赋予特定的频率

我为自己发声

这本是我学习自动化测试用的博客,我的工作以来的所有笔记是在有道云笔记上或者是word文档中记录,并未记录在此博客中. 意识到我的专业名称和项目经验可能会给人误解,误解我无法胜测试工作,或者说无法胜任除了医疗行业以外的其他行业,因此我在这里为自己发声,希望能够得到理解. 我的主修专业        -有了计算机基础 "生物医学工程"这个专业让人一眼觉得是兽医专业,然而并不是. 这个专业学习的科目非常多.非常复杂. 包括C语言程序设计.C++语言程序设计.数据结构与算法(C++版本).数据

Linux 0.12 sched.c代码理解

最近看看linux0.12,对自己理解内核有很大帮助,但是有些东西也确实需要时间去认真分析,今天看看了sched.c的代码,和大家分享一下.先上代码 /* * linux/kernel/sched.c * * (C) 1991 Linus Torvalds */ /* * 'sched.c' is the main kernel file. It contains scheduling primitives * (sleep_on, wakeup, schedule etc) as well a

javascript学习笔记-正则表达式-少写1000行代码的正则表达式

正则表达式的要点  :  查找   匹配   替换 程序员必知:让你少写1000行代码的20个正则表达式 一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑.熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升. 正则表达式经常被用于字段或任意字符串的校验,如下面这段校验基本日期格式的Java代码: 下面是蓝鸥HTML5培训小编整理的,在前端开发中经常使用到的20个正则表达式. 1 . 校验密码强度 密码的强度必须是包含大小写字母和数字

Xcode 快速开发 代码块 快捷键

Xcode的代码片段(Code Snippets)创建自定义的代码片段,当你重用这些代码片段时,会给你带来很大的方便. 常用的: 1.strong:@property (nonatomic,strong) <#Class#> *<#object#>;2.weak:@property (nonatomic,weak) <#Class#> *<#object#>;3.copy:@property (nonatomic,copy) NSString *<#s

solr分布式索引【实战一、分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例】

1 private static Properties prop = new Properties(); 2 3 private static String confFilePath = "conf" + File.separator + "config.properties";// 配置文件目录 4 static { 5 // 加载properties 6 InputStream is = null; 7 InputStreamReader isr = null;