懶惰之最|GitHub 實測

影片金句想發文?五句字幕半秒拼成一張圖|native-subtitle-quote-image 實測

重點摘要

  • 在 Mac mini M4 Pro 上,安裝 Pillow 與 imageio-ffmpeg 約 3 秒,不用另外裝 ffmpeg。
  • 用自製 36 秒短片測:字幕燒在畫面裡的原生模式,5 個時間點約 0.33 秒拼成一張 1280×1211 的圖。
  • 腳本模式把自己寫的 5 句台詞畫到畫面上,約 1 秒出 1440×1920 的圖;沒有中文字型會直接拒絕,要用 --font 指定。
  • 直式 3:4 會裁掉畫面左右,我左上的「第1幕」標題成品上只剩一個「幕」字。
  • 結論: 常把影片台詞發成貼文的人,值得試;只用自製短片測,沒測網址下載與 AI 助理呼叫。
  • 適合: 常把影片金句、訪談台詞做成貼文長圖的人
  • 不適合: 只有播放器字幕軌、又不想自己寫台詞的人,或需要貼網址一鍵出圖的人
實測項目 結果
安裝相依套件 約 3 秒
原生字幕模式(5 時間點) 約 0.33 秒
腳本字幕模式(5 句) 約 1 秒
沒給中文字型 拒絕出圖
3:4 直式 左右被裁掉

看到一支影片裡有幾句話特別有感,想做成貼文圖。你會怎麼做?多半是暫停、截圖、再截一張、對齊字幕、丟進修圖軟體一格一格拼。native-subtitle-quote-image 想把這段全包掉:給它一支影片和幾個時間點,它直接拼出一張長圖。這篇是我在 Mac mini M4 Pro(12 核、64GB)上實際跑的紀錄。

這是一套免費的 Python 工具(MIT 授權),本來設計成給 Codex、Claude Code 這類 AI 助理呼叫的「技能」,但倉庫裡的腳本也可以自己直接跑,我測的就是直接跑腳本。

我怎麼測

為了不碰別人的影片版權,我自己用 Python 做了一支 36 秒、1280×720 的短片,分成六幕,其中一支把五句台詞燒進畫面(模擬「字幕本來就在畫面裡」的影片),另一支沒有字幕。五句台詞都是我自己寫的。只測本機影片,沒測貼網址下載(要另外裝 yt-dlp),也沒測 AI 助理的呼叫流程。

安裝

git clone https://github.com/chengyi-ai/native-subtitle-quote-image.git
cd native-subtitle-quote-image/skills/native-subtitle-quote-image
python3 -m pip install -r requirements.txt   # 只有 Pillow 和 imageio-ffmpeg
python3 scripts/check_environment.py

安裝約 3 秒。imageio-ffmpeg 自帶 ffmpeg,所以不用另外裝。自檢會告訴你缺什麼:我的環境缺中文字型,所以「腳本模式」那一項標成缺失。

模式一:原生字幕(字幕本來就在畫面裡)

先自檢影片,再寫一個很短的設定檔,列出要截的時間點:

python3 scripts/native_subtitle_stitch.py check-source demo_burned.mp4 --min-height 720
echo '{"images":[{"title":"native","times":[4,10,16,22,28]}]}' > manifest.json
python3 scripts/native_subtitle_stitch.py render demo_burned.mp4 \
  --manifest manifest.json --out-dir out-native --band-top 0.78 --band-bottom 0.96

實測:整個 render 約 0.33 秒,輸出 1280×1211 的一張圖。第一格是完整畫面,下面接四條字幕條,字幕是直接從畫面裁下來的,沒有重新辨識或重畫。

原生字幕模式的成品:上方完整畫面,下方四條裁下來的字幕

模式二:腳本字幕(影片沒字幕,台詞自己寫)

把台詞與時間點寫成 JSON,工具會把台詞畫到真實畫面上:

python3 scripts/native_subtitle_stitch.py render-script demo_plain.mp4 \
  --script script.json --out out-script.jpg --aspect 3:4 --width 1440 \
  --font /path/to/NotoSansTC.otf

約 1 秒出圖,1440×1920。

踩到的兩個雷

1. 沒有中文字型就拒絕。 我的環境沒裝中文字型,同一個指令直接回「找不到可用的中文字體;請安裝中文字體或使用 --font 指定字體文件」,不會出圖。解法:用 --font 指向任何一個中文字型檔(我用 Noto Sans TC)。Mac 通常有系統字型,不一定遇到。

2. 直式 3:4 會裁掉畫面左右。 腳本模式指定 3:4 時,主畫面會從 16:9 的影片中間裁出直式。我的第一幕標題「第1幕」在畫面左邊,結果成品上只剩一個「幕」字。所以挑時間點時,要看清楚重要的東西有沒有在中間。

腳本模式成品:左上的標題被裁成只剩「幕」字

結果

項目 結果
安裝相依套件 約 3 秒
原生字幕模式(5 個時間點) 約 0.33 秒,1280×1211
腳本字幕模式(5 句台詞) 約 1 秒,1440×1920
沒給中文字型 拒絕出圖,要用 --font
3:4 直式 左右被裁,邊緣文字可能不見

適合誰、不適合誰

適合常把影片台詞或訪談金句做成貼文圖的人:省下的是最煩的截圖、對齊、拼圖。不適合影片字幕只是播放器可開關的字幕軌、又不想自己寫台詞的人(原生模式只裁畫面裡已有的字);也不適合需要一鍵貼網址就出圖的人,這部分我沒測。請只處理你有權使用的影片。

連結與授權

測試設備:Mac mini M4 Pro(12 核、64GB)。內容依實際執行結果撰寫,數據為撰寫當時的實測值。

← 所有實測