「折腾」使用 Gource 为 Git 仓库生成动态视频

吐槽/反馈/建议:我的咸鱼心  爱发电-@wdssmq

摘要

发现个工具 acaudwell/Gource,可以基于 Git 等版本控制系统的提交记录生成动态视频;

2021 年开始使用 Markdown 文件写博客,试着生成了一下视频;「wdssmq/Markdown-To-Z-Blog

完整记录有点长,只截取了 2023 年开始至今的部分(2023-01-02 - 2023-06-04),时长 03:3316.4G ppm664MB mp4

换算下完整版本大概会有 15 分钟?文件大小的话。。emmm

到时可能试下 265 编码,,配 BGM 好像也很麻烦。。

下载

这边是在 Windows 下使用;

Gource - a software version control visualization tool:

https://gource.io/

↑ 官网有这东西的 Win64 安装包/解压版,解压版需要自行添加环境变量;

Download FFmpeg:

https://ffmpeg.org/download.html

↑ 然后好像还要准备 FFmpeg,上边页面中「More downloading options」>「Get packages & executable files」中下载 Windows 版本的 FFmpeg,解压后把 bin 文件夹路径添加到环境变量;

使用

# 查看帮助
gource -help

# 下边命令在 md2zb 项目路径下执行,使用的 shell 是 Git Bash

PPM_FILE=/d/md2zb.ppm
MP4_FILE=/d/md2zb.mp4
# 输出 ppm 文件
gource -f -1280x720 -s 4 -r 30 \
    --date-format "%Y-%m-%d %H:%M:%S" \
    --start-date '2023-01-02 12:24:00 +0800' \
    --stop-date '2023-06-04 15:48:42 +0800' \
    -o $PPM_FILE
# 生成视频
ffmpeg -y -r 30 -f image2pipe -vcodec ppm -i $PPM_FILE \
    -vcodec libx264 -preset medium -pix_fmt yuv420p -crf 4 \
    -threads 0 -bf 0 $MP4_FILE
# ffmpeg 命令基于 Gource 示例修改, -r 30 是帧率,-crf 4 是画质,建议范围(1-17),较低的值表示更高的质量和更大的文件大小;
# 其他参数就不太懂了。。

Gource 可以指定某一起止区间的提交记录,对应参数格式为 --start-date 'YYYY-MM-DD hh:mm:ss +tz' --stop-date 'YYYY-MM-DD hh:mm:ss +tz',其中 +tz 为时区,如 +0800

下边命令用于获取指定提交的时间并应用格式化:

# git 获取指定提交的时间并应用格式化
git log 3426336e6b944188f2507ecbc518ae4df07098a7 -1 --pretty=format:%cd --date=format:'%Y-%m-%d %H:%M:%S +0800'
git log 8b9ff137308a74cae7f6520b3f09d25a3a5aa785 -1 --pretty=format:%cd --date=format:'%Y-%m-%d %H:%M:%S +0800'
# git log <commit_sha> -1 --pretty=format:%cd --date=format:'%Y-%m-%d %H:%M:%S'

Docker 使用

有一个 Docker 封装的 Gource 镜像:「sandrokeil/docker-files/tree/master/gource

可以较快捷的使用,并且可以自动添加音乐文件;

参考

Controls · acaudwell/Gource Wiki

https://github.com/acaudwell/Gource/wiki/Controls


Videos · acaudwell/Gource Wiki

https://github.com/acaudwell/Gource/wiki/Videos#windows


Gource 版本可视化工具 使用手册 - Debug 客栈
https://blog.debuginn.cn/linux-tools-gource/


聊聊代码仓库可视化:gource 篇 - 知乎

https://zhuanlan.zhihu.com/p/512355700


爱发电

本文标题:《「折腾」使用 Gource 为 Git 仓库生成动态视频》作者:沉冰浮水
原文链接:https://www.wdssmq.com/post/20230426471.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类

搜索

本周旧文

wdssmq/blog-astro: 一个基于 Astro 的静态博客;

本质上,面临一个代码问题时,我们需要的是另一个人愿意为「你」的问题投入精力,并且有相应的技术知识。。

接上一条,Resilio Sync 换 Syncthing 感觉也是略大的工程。。Orz

去年 GoodSync 送了一年授权,然后也确实用上了;本来想着到期就换 Syncthing,结果前几天临期提醒,花 ¥381 续了三年 Orz,两者定位和使用姿势还是有些差别的。。更早是用 Resilio Sync 和 BCompare,但是前者内存占用太高,后者并不是自动同步的定位。。

2024 年了,姑且备份下嘟特存档。。

……,一个不知名的小众样式库 + 内联样式混写这种入坑姿势确实很有槽点,但是,「已经开始学」并且能够持续是绝对值得肯定的。。

在贴吧看过很多提问了,就有种错觉:好多人为了提一个问题专门注册了贴吧,问题本身可能得到有效回答,也可能没有(和提问的点及具体姿势有关。。但无论如何,之后就和注销了账号一样没有然后了,好像之后永远不用学相应的东西一样。。

《恶魔娃娃》

- 他们正研究你究竟是真正的大人,还是伪装成大人的小孩

- 我自己都研究很久了

乐高 DC 里,(基本就蝙蝠侠家,,年龄最小的那个无论是谁感觉人设都会变得一样 - -

所以,就感觉和祥林嫂一样,每天都需要向外「签到」自己的情绪感受,然而又并没有什么「需要」我这样的签到……

爱发电支持者

最新留言

友情链接

  • 订阅本站的 RSS 2.0 新闻聚合
召唤伊斯特瓦尔