iT邦幫忙

2026 iThome 鐵人賽

DAY 13
0
Claude AI

一個人的機房:用 Claude 建置 AI 機房系列 第 13

Day13 來自動產生影片吧

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20260817/20181284L1P6gnmdCw.png

先參觀初版,沒有修飾的成果:

Yes

前面的建置,是:將你想要的做出來。
這一個建置,是拿別人的成果,修改成我們要的樣子。

我們要用到:
https://github.com/remotion-dev/remotion

首先:法律問題,先把 repo 丟給 claude code ,能不能用,授權是甚麼?
問 claude code:

read : https://github.com/remotion-dev/remotion
check  授權,我們可以用在自家的網站嗎?

claude 回答:...... TL;DR

結論:

  1. 平台對外開放(給客戶、給合作夥伴用)→ 立刻變成明確的 Automators 商業情境,
    免費授權基本上不可能適用
  2. 引入外包或顧問公司協同開發這套平台 → 人頭合併計算
  3. 公司人數以3人為門檻
  4. 升級 Remotion 大版本 → 授權條款會跟著版本走(5.0 就改過一次),升級前重讀 LICENSE.md

判斷句很簡單:別人拿到的是 mp4,還是拿到操作 Remotion 的能力? 前者永遠安全,後者要買授權(甚至要談條款)。
ok,我們是自用,不給別人用,授權沒問題。

本來是以為「我們自用所以沒問題」,結果後面claude有補充:免費授權認的是身分,不是用途。判準很簡單:個人、員工 3 人以下的營利組織、非營利組織,這三種才Free。一家 50 人的公司,關起門來純內部自動出片,一樣要買授權。所以「免費」的定義是人數要在三人以下。

還有一個名詞:條款裡那個叫 Automators 的分類,原本以為是「開放給外人用」的意思,實際上它指的是「建立自動化的組織」——影片編輯器、把一句話變成影片的工具、自動出片的管線。換句話說,我們要做的,本身就落在它字面上的定義裡。付費與否跟上免以樣,看人頭。
第三件事是版本:條款到第五版改過一次,而且從第五版起,Automators還多了一項義務,要回報算了幾支片。

開源不等於免費,免費也不等於「你這種用法免費」。要問三個問題:你是誰、你拿它做什麼、你用的是哪一版。

確認授權沒問題,可以用了。

開工:

ssh 連到 hq,切換到 /opt/claude-working,執行 claude code:
告訴 claude code:

在 192.168.0.20 建一台 Ubuntu 虛擬機,IP:192.168.0.33,這台專門拿來出片。

一、規格:8 個虛擬核心、16 GB 記憶體,系統碟 100 GB。
    - 另外掛一顆資料碟,出好的影片跟素材全部放那顆。
    - ⛔ 不要給它顯示卡。算圖走 CPU,先確認會不會太慢再決定要不要加。

二、把外面的服務接好,寫在設定檔裡,不要寫死在程式碼裡:
    - 配音 → 192.168.0.31
    - 字幕對齊 → 192.168.0.31
    - 挑版型、填參數的模型 → 192.168.0.30
    ⚠️ 這三個任何一個不通,這台要明確報錯,不要安靜地跳過。

三、對外綁 remotion.iron30.com,到 NPM 加上去並取得憑證。
    ⚠️ 出片是長工作,反向代理的逾時要放長,不要用預設值。

規則:
- 做完把這台寫進 machines.md 和 machines/remotion.md,對外開了什麼寫進 exposure.md。
- 出好的影片要有保存期限,不要無限長大;期限訂多久寫進 machines/remotion.md。

配音用:192.168.0.31 的 STT
字幕用:192.168.0.31 的 TTS
挑版型、填參數用:192.168.0.30 LLM

到這裡,各位應該可以了解,前面為甚麼要一個一個服務,分別先建起來。因為先建好了,到了應用端,我們一次就可以搞定,不需要再分心去建服務端。

因為是採用別人的 repo,所以要先請 claude 去讀這個 repo. ,寫份摘要,分析研究,看如何轉成我們的系統:

告訴 claude :

read : https://github.com/remotion-dev/remotion

一、它的影片是怎麼描述的?一支片在程式碼裡長什麼樣子?
二、參數怎麼傳進去?哪些東西可以做成外面填、裡面套?
三、它怎麼算圖?算圖的時候吃什麼資源?
四、⛔ 告訴我哪些事情它「不做」—— 我要知道邊界在哪裡,不要等蓋到一半才發現。

讀完寫一份摘要放 /opt/claude-working,不要開始寫程式。

摘要看過沒問題,開工:

告訴 claude :

用剛才讀的那個 repo,蓋一個產出影片服務,對外走 remotion.iron30.com。

一、要有登入管理。預設 admin, admin

二、四個分頁:
    1. Prompt 出片 —— 用一句話描述要什麼片,讓模型挑版型、填參數。
       同一頁右側放影片管理:出過的片、狀態、重看、重出、刪掉。
    2. 手動出片 —— 直接選版型、自己填參數。
    3. 批次與排程 —— 一次貼很多列產一批;以及固定時間自動出片。
    4. 管理及說明 —— 使用者管理、版型說明、參數說明。

三、⚠️ 出片是會跑很久的工作,不要讓網頁等在那裡:
    送出就回一個編號,狀態自己去查。
    ⛔ 同時間只准算一支,算圖很吃資源,排隊比塞爆好。

四、⚠️ 每一支片都要能重出:
    版型、參數、素材、誰送的,全部存下來。
    「改一個字重出一支」要能做到,不要叫使用者重填一次表單。

五、驗收:
    - 四個分頁都打得開,沒登入一個都進不去。
    - 用 prompt 出一支、手動出一支,兩支都要真的能播。
    - 故意填一個壞參數,要回錯誤而不是算出一支壞片。
    - 有錯誤就找原因,修到正確為止。

Prompt 出片:

https://ithelp.ithome.com.tw/upload/images/20260817/20181284esIXLKnAUk.png

手動出片:

https://ithelp.ithome.com.tw/upload/images/20260817/20181284BpKIyuSRDp.png

批次 排程:

https://ithelp.ithome.com.tw/upload/images/20260817/20181284lsIcTcqzld.png

說明手冊:

https://ithelp.ithome.com.tw/upload/images/20260817/20181284NNIwVFEENz.png

管理設定:

https://ithelp.ithome.com.tw/upload/images/20260817/20181284wL2GJ3gGaw.png

管理設定:沒看錯,可以推播到 Line 及 Telegram 上。

https://ithelp.ithome.com.tw/upload/images/20260817/20181284y0joKARJEP.png

蓋好了當然要測一下,內容就用這篇自己的標題跟副標,59 個字的腳本,配音加字幕,比例選橫的。送出去之後拿到一個編號,45.1 秒之後,片子好了。成品是 1920 × 1080、音軌 24k 單聲道,檔案 1.65 MB,字幕 6 段。就是文章開始的那支影片。我保留原樣,不修改,這樣大家可以知道,這個自家的系統,做出來的品質底限

本來想要一支 10 秒的片,結果拿到的是 11.97 秒。這個版型根本沒有「長度」這個參數。影片多長是配音唸完才知道的,59 個字轉換要 11.97 秒,大約每秒 4.9 個字;真的要 10 秒,得回頭把腳本砍到 48 個字左右。所以,是依據字幕及語音來決定長度,不是我們自訂時間長度。

配音服務 (tts2.iron30.com) 自己會產生一份字幕,但那份不能用:它會去掉標點、整段話塞成一個段落,還會把一個詞從中間切成兩半。(記得我們的 TTS2?字幕不堪使用),所以字幕要自己做,做法是把配音好的音檔,再送去聽寫一次(STT),拿逐字的時間戳,再把原本的腳本按照字數位置對到那條時間軸上。

然後就在拍這支示範片的當下翻車了。第一次聽寫,全片 11.97 秒,它只聽到第 3.6 秒就停下來。覆蓋率 0.32,認出來的字數只有腳本的七成八。再試一次,同一個音檔用同樣的參數重做,結果會一模一樣,所以重試同樣的參數等於白做。 claude 自己已經設定 fallback,會自動調整參數。換了一個溫度 (Whisper Temperature)重跑,覆蓋率變成 0.97,救回來了。

最大的問題是:它沒有顯示失敗,它成功回傳了一份成品,只是那影片只有前面四分之一的字幕。如果沒有審查,字幕會全部擠在開頭幾秒,然後畫面安安靜靜地播完,而且流程從頭到尾都是綠燈。審查是一道可以自己算出來的判斷標準:覆蓋率要到 0.8 以上,認出來的字數要落在腳本的 0.7 到 1.35 之間,兩個條件不同時成立就不採信。有產生成品,跟成品是完整的,這是兩碼子事。

還有一個數字值得看:生產時間共用了 45.1 秒,自動品管佔掉 26.2 秒。算圖加配音其實不到 20 秒,檢查花的時間比生產還多。它抽了 7 格畫面去看有沒有出問題,這次零錯誤。這筆時間是值得付的 —— 沒有品管,壞掉的片會安安靜靜地送出去 —— 但要知道時間花在哪裡,不要以為出片本來就那麼慢。

最後一件要記著的事:這台自己什麼都不會。配音在語音那台 (tts2.iron30.com)、字幕對齊也在語音那台(stt.iron30.com)、挑版型填參數要打模型機 (llm.iron30.com)。所以:常態性地檢查,系統服務是否正常,使很重要的事。

問一下:讀到這裡,你還記得,我們總共已經組了幾台機器?

這座機房現在已經會看、會聽、會講、會查,現在還會出片了。機器一台一台加上去,加到自己都要想一下才數得出來有幾台。

明天,也哪幾台機器?誰有狀況? —— 機器清冊、SSH、健康檢查。


上一篇
Day12 RAG應用
系列文
一個人的機房:用 Claude 建置 AI 機房13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言