Community影像github.com

FilmForge Deliver

編碼並檢查已完成影片或書籍的所有交付物(4K 母版、用於發布的 1080p、手機版、封面靜態圖、印刷 PDF、幕後花絮、本地化版本),使用精確的 ffmpeg 設定,驗證串流、響度和畫面與音樂同步,然後建構附有 SHA-256 完整性證明的製作存檔,任何人之後都可重新驗證,並逐位元組驗證備份副本。當使用者想要匯出、編碼或渲染最終版本、發布影片、製作手機版或封面、產生印刷 PDF 或翻譯版本、備份或封存製作,或證明存檔或副本完整時,請使用此技能。

FilmForge Deliver 是什麼?

FilmForge Deliver 是一個專門用於影片和書籍最終交付與封存的技能。它會根據交付矩陣,使用精確的 ffmpeg 設定自動編碼所有交付物(如 4K 母版、1080p 發布版、手機版、封面、印刷 PDF、本地化版本等)。隨後,它會透過 ffprobe 檢查串流參數,使用 ebur128 濾波器測量響度(目標 -14 LUFS),並使用場景分數和節拍圖驗證故事關鍵點的影音同步誤差是否小於一個影格(約 42 毫秒)。最後,它使用 archive.py 建構一個包含 SHA-256 清單(MANIFEST.sha256)的製作存檔,證明所有必要檔案(交付物、鏡頭表、繪畫等)均完整無缺,並能透過 compare 命令逐位元組驗證備份副本。此技能主要用於開發者工具,如 Claude Code,能確保最終輸出符合技術規格且易於長期保存。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gallowforge/filmforge/tree/HEAD/skills/forge-deliver

Installed? Explore more 影像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

FilmForge Deliver 是做什麼的?

一部電影完成的條件是:每個版本在預期的地方都能播放、測量正確,且整個製作專案都放在一個資料夾中,並附有證明沒有缺少任何東西的憑證。此技能根據交付矩陣製作交付物,檢查每個交付物,並使用 archive.py 完成製作。

路徑:下方的 scripts/、templates/ 和 config/ 是此技能內部的資料夾(載入時顯示的基礎目錄),由 ./install.sh 放置。如果從儲存庫複製,它們是根目錄下的 tools/、templates/ 和 config/。

第 1 步:交付矩陣 (templates/delivery-checklist.md)

將它複製到製作專案中,並劃掉電影沒有的項目。每個電影交付物都來自同一個母版,該母版從您的編輯器或合成器中以 3840x2160 解析度匯出,使用與預覽相同的鏡頭表、繪畫和混音,然後使用 ffmpeg 進行編碼:

交付物製作來源設定
4K 母版編輯器的 4K 匯出3840x2160,鏡頭表指定的幀率;透過 VAAPI (hevc_vaapi) 使用常數 QP 18 的 HEVC Main,標記為 BT.709,然後使用 -c copy -tag:v hvc1 重新封裝,以便 Apple 播放器接受;如果沒有 VAAPI,則使用 H.264 (libx264, preset medium, CRF 18, yuv420p);AAC 320k;+faststart
用於發布的 1080p母版使用 Lanczos 縮放至 1920x1080,libx264 preset slow, CRF 16, High profile, yuv420p;混音透過兩次線性 loudnorm 標準化至 -14 LUFS 和 -1.5 dBTP;AAC 320k;+faststart
手機版發布版使用 Lanczos 縮放至 1280x720,並帶有輕微降噪 (hqdn3d=1.2:1.2:3:3),libx264 使用 900k (maxrate 1400k, buffer 2800k),AAC 128k;小到可以在聊天中發送
封面母版3 或 4 張最強烈的 4K 幀,PNG 格式,以及用於發布的 JPG 格式;在手機尺寸下可讀

確切的 ffmpeg 指令:references/deliverables.md。將它們放入一個指令碼中,以便任何更改都能重新建構每個交付物。

當電影有書籍和周邊時:以 4K 和 1080p 影片形式呈現的圖畫書(附音樂)、印刷 PDF、可隨音樂翻頁的互動式網路書、本地化版本(每種語言都有自己的 4K、1080p 和手機影片,每句台詞都由懂該語言的人重新設定和檢查,絕不允許未經審查的機器設定),以及幕後花絮的 PDF 和手機版 PDF。詳細資訊:references/deliverables.md。

第 2 步:檢查每個交付物

測量檔案本身,而不是時間軸:

  • 串流: 編解碼器、大小、畫素格式、幀率、編解碼器標籤(HEVC 母版為 hvc1)、音訊取樣率和聲道數、長度、大小和位元率 (ffprobe)。
  • 響度: 整合響度、響度範圍和真實峰值(EBU R128,ffmpeg 的 ebur128 濾波器)。母版保留混音原樣;發布版和手機版必須讀數約為 -14 LUFS。
  • 故事關鍵點的同步: 對於每個關鍵點,在半秒內最大的畫面變化和最強的聲音起始,以及它們之間的毫秒差距。畫面變化來自 ffmpeg 的場景評分,聲音起始來自對電影自身音訊執行的 beatmap.py。目標:在關鍵點有剪輯的地方,差距小於一個幀(42 毫秒,24 fps 時)。沒有剪輯的關鍵點會報告一個差距;請對照鏡頭表解讀。
  • 結尾: 第一幀和最後一幀(黑色,或有意的標題)。
  • 完成影片的縮圖索引,每 2 秒一幀,從頭到尾檢視。
  • 在目標螢幕上從頭到尾觀看一次,使用聲音,然後簽核。

每個的指令:references/deliverables.md(檢查)。

對於 PDF:在兩個閱讀器中開啟,檢查每個跨頁,字體已嵌入,圖片為印刷解析度。

第 3 步:存檔及其證明

製作電影的一切都放在一個製作資料夾中:production.yaml、故事檔案、提示詞、每張繪畫和版本、工作表、樂譜及其測量、程式碼、混音、交付物、經驗教訓。

python3 scripts/archive.py build <film> --require deliverables.txt \
        --require-shotlist <film>/shotlist.yaml --paintings <film>/art/film \
        --exclude "code/.venv/=rebuilt from requirements.txt"
python3 scripts/archive.py verify <film>

build 將每個檔案雜湊到 <film>/MANIFEST.sha256(純文字 sha256sum -c 格式,因此證明可以比工具本身更長久),並寫入 manifest.json:檔案計數、位元組、按類型分類的檔案、故意排除的內容及其原因(快取、虛擬環境、任何 4k/ 升頻資料夾)、必要的交付物及其缺失、沒有繪畫的鏡頭,以及清單本身的摘要。僅當每個必要模式都匹配且每個有繪畫的鏡頭都有其繪畫時,它才會報告 COMPLETE。verify 稍後重新雜湊所有內容,並在任何遺失或更改的檔案(以及編輯過的清單)上失敗。

同一個工具也可以用來證明較小的包。Lantern Moth 的 archive-required.txt 列出了其前期製作包在花費任何費用製作繪畫之前必須包含的內容,並且在範例資料夾上使用 --require archive-required.txt 執行 archive.py build 會發現所有十個模式都存在並報告 COMPLETE。

副本: 逐位元組驗證備份或移動:python3 scripts/archive.py compare <film> <copy>。它用一個命令完成了通常需要手動執行來源和副本中每個檔案的 SHA-256 清單和複製日誌才能完成的工作。

在存檔中寫一個簡短的 README:每個資料夾的內容、故意排除的內容、成品所在位置。

第 4 步:完成

production.py signoff deliver --by <你> --note "<在電視上觀看了母版;檢查通過>",然後 advance 到回顧階段 (forge-director)。

輸出

  • film/ 包含每個交付物,命名為 <Title>_4K.mp4、<Title>_1080p.mp4、<Title>_phone.mp4、covers/
  • 報告中的檢查數據(大小、響度、每個關鍵點的同步偏移)
  • MANIFEST.sha256、manifest.json、存檔 README

閘門檢查清單

  • 矩陣中的每個交付物都存在並通過檢查
  • 每個故事關鍵點的同步誤差小於一個幀
  • 在目標螢幕上使用聲音觀看過
  • archive.py build:COMPLETE;archive.py verify:OK
  • 每個副本已透過 archive.py compare 驗證
  • 已簽核

維修表

症狀修復方法
Apple 裝置拒絕 HEVC 母版缺少 hvc1 標籤:使用 ffmpeg -i in.mp4 -c copy -tag:v hvc1 out.mp4 重新封裝
HEVC 母版無法解碼hvc1 在 VAAPI 編碼期間被寫入:編碼時不加標籤,然後使用 -c copy -tag:v hvc1 重新封裝
電視透過 Wi-Fi 播放時卡頓位元率過高(ffprobe 會顯示):以更高的 QP(更小的檔案)重新編碼母版
需要 HEVC 但沒有 VAAPI 編碼器ffmpeg -h encoder=hevc_vaapi 和 ls /dev/dri 會顯示機器有什麼;否則交付 H.264 母版
發布平台拒絕或剪輯影片未標準化:發布兩次處理的副本(-14 LUFS、-1.5 dBTP、線性),而不是母版
手機版太大無法傳送從發布版以較低的 -b:v(references/deliverables.md)重新編碼,或縮短;保持 720p
verify 報告 CHANGED有人編輯了已交付的檔案:從驗證過的副本還原,或重新建構並重新簽核
build 報告 INCOMPLETE缺少必要的交付物或繪畫:製作它,或出於原因故意將其從清單中移除

參考資料

  • references/deliverables.md:完整的 ffmpeg 指令、檢查、書籍、版本和封面

Individual skills in this repo

This repo contains 6 individual skills — each has its own dedicated page.

gallowforge/forge-director

FilmForge director: runs an AI film production end to end (story, style lock, score, paintings, frame QA, motion in code, sound, delivery, archive) through stage gates, so no credit is spent before its gate passes. Keeps the production state file (production.yaml) and the credit ledger, prices the plan against the credits, and always names the one next action. Use this skill whenever the user wants to make, plan, budget, continue or check on a short film, painted film, animated story, music...

gallowforge/forge-frame-qa

FilmForge frame QA: inspects every painting at full size against the character sheets and the continuity ledger, measures colour rules, palette and exposure with tools, scores it on a nine-criterion rubric and decides: accept, fix in code (naming the module and the exact parameters), or repaint (with the root cause and the full corrected prompt). Use this skill whenever paintings, stills, keyframes, character sheets or book pages come back from an image model, when the user asks whether...

gallowforge/forge-motion

FilmForge motion: plans each shot's life in code instead of credits (painted holds brought alive with drifting fog, ash, snow, rain, embers, glints, light sweeps, firelight flicker, heat shimmer, shake, lightning, glass cracks, transitions, golden threads, handwritten words and titles), maps every effect to the painted-film-pipeline renderer's exact parameters, applies frame-QA code fixes, exports the edit timeline and renders the preview; decides when paid video is worth its credits. Use...

gallowforge/forge-painter

FilmForge painter: writes every shot's image prompt from the shot list, the character sheets and the style lock, on a fixed twelve-slot order with continuity anchors (handles, anchors, scale locks, props, states, forbidden-colour clauses); keeps the continuity ledger; lints every prompt before a credit is spent; paints in batches of four and hands each batch to frame QA. Use this skill whenever the user wants image prompts for a film's shots or a picture book's pages, storyboard frames,...

gallowforge/forge-story

FilmForge story: turns a premise, song, poem or myth into a story bible, a timed screenplay and a shot list sized to a credit budget, written as YAML the tools validate, price and cut to music. Use this skill whenever the user has an idea to turn into a short film, painted film, music video or picture book; wants a premise, logline, story bible, beat sheet, screenplay, storyboard or shot list; asks how many shots or how long a film their credits buy; or wants an existing story tightened so it lands, even if they never say 'shot list'.

gallowforge/forge-style-lock

FilmForge style lock: fixes one image model and setting, one look sentence (or two when the drawing itself carries the story), the palette and colour rules, the line, brush and lens language, the character-sheet specs with scale bars, and the prompt grammar every shot must follow, so every painting in a film or book matches. Use this skill whenever the user starts the visual side of a film, music video or picture book, wants consistent characters or one consistent look across many images,...

相關技能