大數據

如何給你的代碼祝壽?

**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

https://libav.org/avconv.html

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 日誌,所以不僅僅是開源項目,其實你的工作代碼也是支持的,可以試試。

Leave a Reply

Your email address will not be published. Required fields are marked *