影片步驟疊加報告

一次執行已產生各步驟的螢幕截圖;:func:write_step_video 將它們轉成可分享的逐步走查影 片,每個步驟的畫面停留數秒,並燒入其字幕 —— 以及通過/失敗的色彩橫幅。它是 HTML/JSON 報告的視覺夥伴:審查者可逐步觀看自動化做了什麼。

其編排(哪些畫面、每步重複幾幀、哪段字幕)與 OpenCV 分離:loaderdrawerwriter_factory 三個掛鉤皆可注入,因此組裝邏輯可用假物件進行單元測試,**無需** cv2 / numpy 相依。真實路徑僅在未提供這些掛鉤時才延遲匯入 cv2。不匯入 PySide6

無頭 API

from je_auto_control import VideoStep, write_step_video

steps = [
    VideoStep("step1.png", caption="開啟應用", status="ok"),
    VideoStep("step2.png", caption="送出表單", status="error"),
]
result = write_step_video(steps, "walkthrough.mp4",
                          fps=10, seconds_per_step=2.5)
print(result)   # {output, steps, fps, frame_count}

步驟的 image 可為檔案路徑(以 cv2.imread 讀取)或記憶體中的畫面。statusok / error 會將字幕橫幅著色為綠 / 紅。build_overlay_plan(steps, fps, seconds_per_step) 回傳各步驟的幀計畫而不進行任何 I/O,``render_overlay_frame(frame, caption, status)`` 則燒入單一橫幅 —— 兩者皆可單獨使用。

執行器指令

AC_write_step_video 接受 steps``(``{image, caption, status} 的清單,或視覺化 建構器傳入的 JSON 字串)、output 路徑,以及選用的 fps / seconds_per_step; 回傳 {output, steps, fps, frame_count}。相同操作亦提供為 MCP 工具 ac_write_step_video,以及 Script Builder 中 Report 分類下的指令。