Commit Graph

8 Commits

Author SHA1 Message Date
JianMiau 05f5f67958 修正: 單支影片也輸出到 no_redlight 子資料夾
啟動.bat 只勾選一支影片時走單檔模式,原本會把成品/CSV 放到影片同層,
與多支/整資料夾(輸出到 no_redlight)不一致。改為單檔(未指定 -o)時
同樣輸出到來源同層的 no_redlight,行為統一。

本次修正由 Claude Opus 4.8 (1M context) 協助處理。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 21:03:36 +08:00
JianMiau c015061267 新增起步門檻 depart_seconds: 處理車陣走走停停
- 兩段停車間的行駛(GPS>0)若不超過 depart_seconds(預設5秒),視為仍在等待,
  連同那段短暫蠕動一起剪掉;唯有行駛超過5秒才算真正起步而保留(含整段)
- 合併改在原始停止段層級進行,取代舊的 merge_gap(post-padding 合併)
- 短暫走停的多個小停(各不到 STOP_SECONDS)合併後可一起構成紅燈被移除
- 已用合成情境驗證: 3秒走停被剪、13秒行駛保留、結尾停車砍到底

本次調整由 Claude Opus 4.8 (1M context) 協助開發與處理。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 21:01:01 +08:00
JianMiau ca69c04ccb 結尾停車砍到底: 停到影片結尾不留 keep_after_stop 尾巴
- 停車一路停到影片最後(結尾即 GPS 0)時,沒有起步要留 → 移除段砍到影片結尾,不保留卡達秒數
- 結尾的停車不論長短一律砍(即使不到 STOP_SECONDS 門檻)
- 已用既有 speeds.csv 重放驗證: 最後一段由 11:59~12:09 延伸到 11:59~12:11

本次調整由 Claude Opus 4.8 (1M context) 協助處理。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 20:07:27 +08:00
JianMiau d736cafafb 修正強制壓限: 加 level=disabled 關閉自動回補
alimiter 預設 level 會在壓限後把音量正規化回 0dB,反而造成更多 0dB 破音樣本。
關閉後峰值正確壓在約 -0.45dBFS,真正留下 headroom 防破音(已實測驗證)。

本次修正由 Claude Opus 4.8 (1M context) 協助處理。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 19:49:30 +08:00
JianMiau be5f4a60b8 新增音訊處理: 音量增益 / 強制壓限 / 低通(命名參考 Adobe PR)
- volume_boost: 音量增益(對應 PR 增益/音量),預設開,幅度 volume_boost_percent 預設 +30%(x1.3)
- hard_limiter: 強制壓限(PR Hard Limiter),拉大音量後把峰值壓在 0dB 以下避免破音
- lowpass: 低通(PR Lowpass),濾掉高頻刺耳聲;截止頻率 lowpass_hz 預設 15000Hz
- 處理順序: 音量增益 -> 低通 -> 強制壓限(壓限擺最後當煞車)
- 套用在重編路徑(轉場/xfade)的 acrossfade 之後;單一片段時畫面照樣無損複製只重編音訊
- transition=false(無損)時音訊不處理並提示;已實測同段處理後平均 +2.7dB
- 同步更新 README 參數說明

本次調整由 Claude Opus 4.8 (1M context) 協助開發與處理。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 19:29:44 +08:00
JianMiau cebe6e3bd5 新增剪接點轉場: 畫面淡出淡入 + 聲音恆定功率交叉淡化
- 畫面用 FFmpeg xfade(預設 fadeblack 淡出到黑再淡入),逐段串接並正確計算 offset
- 聲音用 acrossfade 等功率曲線(c1=qsin:c2=qsin)= 恆定功率,與畫面同步重疊
- 開啟轉場會自動重新編碼;偵測到 NVIDIA 顯卡時用 h264_nvenc 硬體加速 4K
- 新增 config 參數: transition / transition_duration / video_transition
- 轉場長度自動夾到比最短片段小,避免 xfade 出錯;單一片段時免轉場直接無損切出
- 已實測 3 段 4K 片段串接,輸出時長與音畫同步皆正確;同步更新 README

本次調整由 Claude Opus 4.8 (1M context) 協助開發與處理。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 18:59:35 +08:00
JianMiau 8f5c01b56c 紅燈移除段改為不對稱偏移(前砍後留)
- 新增 cut_before_stop: 進入紅燈端(速度到 0)移除起點再往前砍,連減速進站一起去掉
- 新增 keep_after_stop: 綠燈起步端(速度從 0 開始跑)移除終點提早結束,多留卡達起步畫面
- 取代原本對稱的 stop_padding;兩者預設皆 2 秒,可於 config.json 調整
- 同步更新 README 參數說明

本次調整由 Claude Opus 4.8 (1M context) 協助處理。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 18:46:33 +08:00
JianMiau 4c38eb68ec 初版: 機車第一人稱影片自動去紅燈工具
- OCR 辨識畫面上的 GPS 時速表,連續停車超過門檻即判定為紅燈並無損剪除
- 中位數平滑濾波 + 補空值 + 相鄰段合併,抗 OCR 在 0 與雜訊間跳動的問題
- 支援 GPU(CUDA) 加速、互動式選單(空白鍵多選)、config.json 設定檔
- 附中文 README 與互動啟動批次檔

本工具由 Claude Opus 4.8 (1M context) 協助開發與處理。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 17:32:27 +08:00