功能說明
將來源影片裁切為垂直(9:16)格式,並嵌入字幕。輸出為單一 H.264/AAC 檔案,適合短影音平台使用。
前置需求
ffmpeg和ffprobe必須在PATH環境變數中- 對
~/workspace/input目錄有讀取權限 - 對
~/workspace/output目錄有寫入權限
環境驗證
在執行任何操作前,請先執行:
command -v ffmpeg && command -v ffprobe
若其中任一命令缺失,請停止並回報:MISSING_DEP: ffmpeg。請勿嘗試使用其他編碼器。
操作步驟
-
確認來源檔案存在:
test -f ~/workspace/input/source.mp4如果檔案不存在,請回報
MISSING_INPUT: ~/workspace/input/source.mp4。 -
在處理檔案前,先探測影片尺寸:
ffprobe -v error -select_streams v:0 -show_entries stream=width,height \ -of csv=p=0 ~/workspace/input/source.mp4 -
確保輸出目錄存在:
mkdir -p ~/workspace/output -
執行裁切:
bash scripts/cut.sh ~/workspace/input/source.mp4 ~/workspace/output/final.mp4 -
確認結果為真實檔案,並回報其路徑與大小:
ls -lh ~/workspace/output/final.mp4
注意事項
- 切勿假設輸入已是 9:16 比例 — 請務必先探測。
- 切勿假設
~/workspace/output目錄已存在 — 請使用mkdir -p建立。 - 切勿在未經使用者確認的情況下覆蓋現有輸出檔案。
- 切勿假設來源檔案一定有音軌 — 請使用以下指令檢查:
ffprobe -select_streams a -show_entries stream=codec_type -of csv=p=0。
輸出結果
~/workspace/output/final.mp4 — H.264 編碼,解析度 1080x1920,AAC 音訊,-crf 20。
錯誤處理
ffprobe執行失敗 → 檔案非有效影片。回報BAD_INPUT。cut.sh非零退出 → 直接顯示其 stderr 內容。請勿盲目重試。- 輸出檔案為 0 位元組 → 回報
EMPTY_OUTPUT並停止處理。