影片步驟疊加報告
一次執行已產生各步驟的螢幕截圖;:func:write_step_video 將它們轉成可分享的逐步走查影 片,每個步驟的畫面停留數秒,並燒入其字幕 —— 以及通過/失敗的色彩橫幅。它是 HTML/JSON 報告的視覺夥伴:審查者可逐步觀看自動化做了什麼。
其編排(哪些畫面、每步重複幾幀、哪段字幕)與 OpenCV 分離:loader、drawer 與
writer_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 讀取)或記憶體中的畫面。status 為
ok / 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 分類下的指令。