Communitygithub.com

eksinge/video-workbench

使用 Remotion 和 HyperFrames 建立或編輯本機影片。將音訊加上無時間戳的 MD/TXT 歌詞或含時間戳的字幕,製成驗證過的歌詞 MV,並採用使用者連續滾動、字形遮罩的進度樣式。同時保留整合性的通用影片工作流程。

video-workbench 是什麼?

此技能「video-workbench」是一個功能全面的影片製作工作台,整合了 Remotion 與 HyperFrames 兩大框架,讓使用者能透過文字指令在本地端直接建立或編輯影片,特別是歌詞 MV。其核心特色在於提供一套精細的歌詞 MV 製作流程:能將純文字歌詞(MD/TXT)或標準字幕檔(SRT/LRC/VTT)與音訊精準對齊,並強制採用獨特的「連續滾動、字形遮罩進度條」視覺風格,該風格會以橙色進度從字形內部逐漸填滿歌詞,取代傳統的淡出或字幕切換。技能同時強化了版本管理,限制每個專案僅保留最新三個渲染版本,確保儲存空間與專案組織的合理性。 此技能支援多種檔案格式與輸入方式,能根據使用者提供的素材內容與明確的引擎偏好,自動判斷使用 Remotion 或 HyperFrames 來處理動畫或畫面。此外,它也具備嚴格的開發規範:不允許 AI 自行為歌曲補寫歌詞、禁止將參考專案的特定參數(如時間偏移、畫面長度)強制套用到新專案,並要求每次編輯前都先讀取最新的使用者要求記錄,以確保繼承關係的正確性。技能本身不提供雲端生成額度、模型或憑證,完全依賴使用者本機的環境與授權服務。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/eksinge/video-workbench/tree/HEAD/skills/video-workbench

在你喜歡的 AI 中提問

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

說明文件

影片工作台

這是 Remotion + HyperFrames 的統一入口技能。保留官方引擎和官方技能,整合本地工作台、素材、預覽和渲染。網頁按鈕直接執行本地程式;是聊天裡的 AI 讀取本技能後操作工具,網頁不會自動讀取或執行技能。

輸入音訊和字幕後直接製作

使用者提供歌曲及 MD/TXT/SRT/LRC/VTT 時,先讀取歌詞 MV 流程和當前字幕樣式規範。僅有音訊而缺少歌詞時,不自行補寫歌曲歌詞;繼續進行畫面/音訊分析,再索取缺少的歌詞。

  • MD/TXT 每一個非空物理換行就是一句,逐行保留文字和順序,不能按逗號合併或自行拆句。音符 ♪ 也屬於文字。
  • MD 無時間戳時,AI 根據實際音訊對齊並審核;同時提供的帶時間戳檔案和音訊內嵌歌詞只用作校時參考,以使用者指定的分句檔案為文字依據。不能按字數平均分配演唱時間。
  • 新 MV 畫面仍按下方 Remotion / HyperFrames 路由製作;字幕預設嚴格使用當前最終樣式。早期的單句消失、兩行合併、0.42 秒階梯滾動和可見橙色大矩形均已被替代。
  • 預設字幕:1920×1080 座標系,Barlow Black 42,米白 #F0ECE5,右對齊 x=1830,行距 40px,透明底、無陰影無描邊。通用時間偏移預設為 0 秒,按實際音訊和使用者反饋調整,只應用一次。此前提前 0.6 秒僅屬於參考歌曲專案,不能套給其他歌曲或使用者。
  • 整段歌詞作為一條剛性傳送帶持續上移;速度按每句實際演唱時長調整,短換氣連續,明顯無詞間隔暫停。舊句保留,橙線高度處逐漸露出,白線高度處逐漸裁掉,使用空間裁切而非淡出。
  • 原橙色進度區域只在歌詞及音符的字形內部顯示;字孔、行間和字外透明。保留 #E85D26、50% 疊色、由下向上增長的進度邏輯。六組參考圖案及未來新增的所有畫面均在歌詞層下方。
  • 新歌曲的內容、總長度、節奏與畫面由實際素材決定,不把上一首歌的 62 行、130 秒切點或六組圖案硬編碼成所有專案的要求。參考曲進度恰為 240 秒;新曲預設隨實際總長填滿,可顯式固定 240 秒。

可複用工具(路徑相對本技能):

  1. scripts/align_lyrics.py:本地音訊 + 無時間戳歌詞 + 可選時間戳參考 → 原始校時提案和審核標記;不會自動把提案冒充已審核結果。
  2. scripts/compile_lyrics.py:已審核的逐行時間 JSON → 當前樣式 ASS、SRT、傳送帶狀態與字形測量記錄。
  3. scripts/render_video.py:本地引擎畫面 + 音軌 + 編譯結果 → 驗證後的成片,可登記並只保留該專案最近三個版本。

參數及檔案格式見腳本介面。依賴本機 FFmpeg;本地對齊另需 Faster Whisper 和已有模型。技能不包含模型、FFmpeg 或 Node 引擎執行時,不代表已經獲得雲端生成額度。

修改現有專案與保留三個版本

先確認使用者實際播放的檔案和最新版本。只改明確要求的專案與參數;保留原畫面、音軌、鏡頭節奏和既有樣式,除非這次明確要求改變它們。字幕編輯優先重新合成獨立字幕層,複用已驗證的底層畫面,不重繪全部動畫。

使用者要求「再提前 0.2 秒」時,在當前累計偏移上相加,不回到原始版本或重複應用預設偏移。左右邊界使用 x,上下高度使用 y;使用者稱錯軸但幾何意圖明確時,說明解釋並按實際方向執行。文字 y 隨滾動改變,不聲稱它有唯一固定 y。

每個專案只保留最新版、上一版、上上一版共三個成片匯出。 新版生成、解碼及內容檢查通過後,再清理更舊的該專案匯出和對應過時預覽;保留原始素材、字幕來源、工程和對齊證據。若待刪匯出還是工程依賴,先歸入素材並修正引用。按匯出登記順序保留,禁止按整個資料夾的修改時間隨意刪其他專案。細則見歌詞 MV 流程。

本對話相關要求及被替代版本見使用者要求記錄,用於理解繼承關係,不能把被替代參數重新啟用。

先解析現有專案

讀取local-workspace.md瞭解已安裝的工作區和指令。使用者在編輯前,請先開啟其目前的原始碼,因為 Studio 和其他工作階段可能會獨立儲存變更。

  • 現有 Remotion/React 原始碼:保留 Remotion 並讀取 ../remotion-best-practices/SKILL.md 加上對應領域技能。
  • 現有 HyperFrames HTML 原始碼:保留 HyperFrames,讀取 ../hyperframes/SKILL.md 和對應領域技能。
  • 全新的音樂/歌詞/節拍同步影片:偏好使用 HyperFrames 並搭配 ../music-to-video/SKILL.md,除非使用者選擇 Remotion。
  • 全新的 React 驅動資料動畫、可複用 React 影片元件或 Remotion 應用程式:使用 Remotion。
  • 對於其他全新工作,依據要求的輸出使用capabilities.md選擇。遵循明確的引擎選擇。
  • 原始碼遷移與媒體複用是不同概念。只有當使用者明確要求移植原始碼時,才使用 remotion-to-hyperframes。不要承諾原始格式之間能自動往返。

透過媒體連接引擎

使用共享的簡報、分鏡圖、節拍/樂句時間、字幕時間戳和本地媒體。讓原始碼檔案在其原生框架中可編輯。酌情交換 MP4/WebM/MOV、影像序列、WAV、圖片和字幕 JSON/SRT。複製或暫存來源媒體;不要取代使用者的原始檔案。

本地驗證示範將 Remotion 專案渲染成 MP4,將該檔案及其 SHA-256 存入 bridge-manifest.json,並將其放入 HyperFrames 時間軸。這是一個媒體互操作性的範例,而非原始碼轉換器。

保持時鐘分離:Remotion 使用 useCurrentFrame() 及其確定性 React API;HyperFrames 使用可由 hyperframes-core 描述的 seekable 執行時間和時間軸。在創作前請閱讀目前引擎的規則;不要盲目套用引擎特定的限制或語法。

逐步使用完整的技能庫

儲存庫安裝會安裝所有 33 個固定的官方技能及其支援檔案;在聲明它們已就緒前,請先驗證它們是否存在。查閱能力對應表,然後完整閱讀所選技能及其相關參考。索引不能取代一個工作流程的詳細指示。避免將不相關的工作流程載入到狹隘的編輯中。

對於 MV 工作,請先確立音樂來源和所需的視覺風格。在選擇剪輯點前,先分析實際的音軌。對於平和的音樂,偏好樂句和能量變化;對於有明顯節奏感的音樂,偏好節拍錨點。在將歌詞呈現為同步前,請先驗證人聲時間點。當風格尚未決定時,提供一個簡短的代表性片段。

驗證實際交付物

執行所選引擎的檢查;檢查包含匯入影片的影格,並確認匯出檔案中的音訊。一個正常運作的技能安裝、通過的醫生報告、成功的渲染以及使用者對視覺結果的認可是不同的聲明。只報告實際驗證過的狀態。

已安裝的技能不提供憑證、雲端額度、影片生成模型或來源素材。必要時使用使用者已授權的服務。安裝這些技能並不代表授權發佈、雲端上傳、外部回饋、訊息或付費生成;請遵循使用者的指示和主機平台的授權規則。在使用本地整合的包裝函式時,請保持其停用遙測的環境。

相關技能