**Talk is cheap,Show me the code
**
前段时间 alibaba/x-render 突破 3K Star,一直寻思着怎么给开源社区贡献的同学做一个小礼物来“祝寿”,然后就想到了之前玩过的 gource 和 avconv 这两个库(参数不熟悉可查文档,此外不多加解释),前者用于处理提交日志可视化,后者用于视频处理。
https://github.com/alibaba/x-render
https://github.com/acaudwell/Gource
1、准备工作,安装 gource、avconv 这两个库,需要让 gource 支持中文字体,同时 Homebrew 安装可能很慢,国内镜像提速试试这个加速地址 (https://zhuanlan.zhihu.com/p/111014448)
// 安装库
brew install gource
brew install libav //avconv是一个和 ffmeg 类似的库,不过我更喜欢 avconv 这个
// 让 gource 支持中文字体
rm /usr/local/var/homebrew/linked/gource/share/gource/fonts/FreeSans.ttf
ln -s /System/Library/Fonts/Hiragino\ Sans\ GB.ttc /usr/local/var/homebrew/linked/gource/share/gource/fonts/FreeSans.ttf
2、找一个你最喜欢的带 git 管理项目,命令行进入本地文件夹根目录,复制如下命令回车,就可以看到效果和生成视频了。
gource \
--title "写个标题" \
--seconds-per-day 0.15 \
-1920x1080 \
--multi-sampling \
--background-colour 000000 \
--dir-colour 62C454 \
--file-font-size 12 \
--font-size 24 \
--dir-font-size 14 \
--user-font-size 18 \
--auto-skip-seconds 0.2 \
--stop-at-end \
--hide mouse \
--highlight-users \
--highlight-dirs \
--file-extension-fallback \
--file-idle-time 0 \
--max-user-speed 200 \
--filename-time 2 \
--highlight-colour F5BE4F \
--date-format "%Y-%m-%d" \
--output-framerate 60 \
--output-ppm-stream - \
| avconv -y -r 60 -f image2pipe -vcodec ppm -i - -b 65536K movie.mp4
3、潮流的视频是需要配上一个带感的背景音乐的,如文中的视频 sound.mp3 这样的,下载到项目根目录下,可以通过 avconv 将音频轨道加到视频上面,就达到上面效果了。
avconv -i movie.mp4 -i sound.mp3 -map 0 -map 1:a -c:v copy -shortest output.mp4
4、只要是 git 日志,所以不仅仅是开源项目,其实你的工作代码也是支持的,可以试试。