「折腾」使用 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
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

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

相关文章

发表评论:

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

网站分类

  • 订阅本站的 RSS 2.0 新闻聚合

搜索

本周旧文

nuc 四个口插硬盘都识别不到,有亮灯。。最后试出别插到底。。

绿联的硬盘盒。。另外一个联想的没问题。。

近期观影记录:超级马里奥,死侍与金刚狼。。

搬家也告一段落,虽然搬过来的东西还得归置,新衣柜虽说已经散俩月味儿了,但还是不想放衣服进去。

要不我每年汇总整理一次??碎雨集_沉冰浮水_第1页

所以,不带这条的话,2024 年目前只发了 13 条嘟????

VSCode 内 git 操作卡住的时候没办法主动取消一直是个痛点,一般都是推送或拉取,今天连提交都卡了。。

又一个夏天过去了,所以今年也没买防水鞋套;然后天凉了,为了应对踢被子买了睡袋,不知道 1.2 米会不会略窄。。

《五至七时的克莱奥》,2018 年 6 月加入列表,21 年 11 月底发现 B 站上线了这部,直到前几天才看完,还是分两次看的。。接下来有五项是 2019 年的,都是电影 —— 略长的待办列表。。

有用程序自动抓取自己带 tag 的嘟,然后按年备份后从线上删除;刚发现去年的数据有备份但是没删线上??和本地数据对比后发现线上的还少一条,Why??

本质上,每个人需要的是「让自己面临的问题得到解决」的能力。。

这又涉及到直接能力和间接能力,,缺乏直接能力很正常,视情况可以通过学习来掌握直接能力,或者「请」有直接能力的人来帮自己解决。。

缺乏间接能力的情况是真没救,尤其是对「这是**我自己**面临的问题」这一前提没有明确认知的人。。

最新留言

友情链接