JianMiau
|
c4a3fdde97
|
新增 min_real_zeros(真紅燈需≥N個真實0) + keep_after_stop 改 0
- min_real_zeros(3): 一段停止要含至少 N 個『真實讀到的 GPS=0』才算紅燈剪掉,
讀不到(??)不算 → 濾掉『整段都讀不到』的假停車(OCR 失敗區,如 02 的 09:48/20:06)
- keep_after_stop 2->0: 不留卡達緩衝,直接剪到停車結束點(偵測到開始動那一刻)
實測 02: 假停車濾掉剩 9 段紅燈;#3 剪到 03:20、#9 剪到 19:17(真正起步點)。
本次調整由 Claude Opus 4.8 (1M context) 協助處理。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-04 00:02:05 +08:00 |
|
JianMiau
|
b26c32d410
|
改用兩段判定取代中位數平滑: 精準實作穩定起步規則
依使用者定義: 穩定起步 = 一段移動連續 >=DEPART_SECONDS(8)秒、且其中沒有
>=STOP_SECONDS(4)秒的 GPS=0。作法:
- smooth_speeds 改為只做『讀不到當0 + 物理過濾』,不再做中位數(避免視窗糊掉邊界)
- find_keep_intervals 兩段: Pass A 短停(<4s)併入移動; Pass B 短移動(<8s)併入停止
- 移除 depart_min_speed(速度門檻)與中位數,改用零模式判定,更乾淨且邊界精準
- MIN_CONFIDENCE 0.7->0.5(門檻太高會濾掉真實 creep 讀數如 12@0.55)
實測 02: #11(原#9)精準剪到 19:15(符合使用者), #3 保留真起步, #4 排隊龜速全剪。
本次重構由 Claude Opus 4.8 (1M context) 協助處理。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-03 23:33:21 +08:00 |
|
JianMiau
|
9c077284db
|
新增物理合理性過濾 max_accel_kmh: 擋高信心誤讀(暴增不可能加速)
平滑前先剔除『從上一個有效讀數一秒內暴增超過 max_accel_kmh(25)』的讀數,
這類多為高信心 OCR 誤讀(如 4->70->76 conf 0.76~0.78),會造成假性提早起步。
只擋暴增,煞車減速不受限。實測擋掉 02 的 19:18 70/76 誤讀。
註: 雜訊路口的邊界精度受平滑視窗 ±3s 限制,仍有約 5 秒誤差(OCR 品質的物理極限)。
本次調整由 Claude Opus 4.8 (1M context) 協助處理。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-03 23:12:26 +08:00 |
|
JianMiau
|
df85116088
|
新增真起步速度門檻 depart_min_speed: 排隊龜速剪掉、真起步保留
使用者規則: 剪到『穩定起步』為止,之前的停車+龜速蠕動全剪;從穩定起步開始保留。
作法: 把移動段串起來(橋接 <STOP_SECONDS 的 OCR 瞬斷),若整段最高速 < depart_min_speed(15)
表示只是排隊龜速從未真正騎走 → 整段改判停止剪掉;有加速到真速度的(真起步)才保留,
且連龜速起點一起留。
實測 02: #4 由 05:14~07:41 延伸為 05:14~08:13(07:42~08:13 排隊龜速正確剪掉,
原 #5/#6 碎片消失);#3 真起步保留。
(註: creep 起點受平滑視窗 ±3s 影響會有數秒邊界誤差,屬 OCR 雜訊下取捨)
本次調整由 Claude Opus 4.8 (1M context) 協助處理。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-03 22:39:03 +08:00 |
|
JianMiau
|
a972976e71
|
平滑改為『只對可信讀數取中位數、空白跳過』+ 信心門檻 0.7
原本『讀不到一律當0』會把行駛中的慢速起步(creep, 如3/7/12km/h)+空白蓋成停,
誤剪掉起步畫面(實例: 02 的 03:25 起步被剪到 03:32)。
改為: 平滑時跳過空白/低信心,只對可信讀數取中位數;整個視窗都讀不到才當0。
停車段空白被周圍0判成停、行駛段空白被周圍車速判成動,兩者兼顧。
信心門檻 0.5->0.7,濾掉停車時的低信心誤讀(如把0看成70@0.57)。
實測 02: #3 由 03:11~03:32 縮為 03:13~03:20(creep 保留)。
本次調整由 Claude Opus 4.8 (1M context) 協助處理。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-03 22:07:27 +08:00 |
|
JianMiau
|
b8d82bdef5
|
中位數濾波視窗 5 -> 7: 修正行駛中連續讀不到被誤判成停車
'讀不到當0' 遇到行駛中連續 3 格空白時,5 格視窗會被 3 個 0 佔多數而誤判停車,
再被起步門檻串到後面真停車一起誤刪(實例: 02 的 02:50~03:11 時速29~88行駛被剪)。
視窗放大到 7 可容忍最多 3 連續空白,行駛不再誤判;同時仍能蓋掉停車時的孤立誤讀。
實測 02: #3 由 02:50~03:32(42s)縮為 03:11~03:32(21s),只剪真停車;
05:18~07:45 仍正確合為一段。
本次修正由 Claude Opus 4.8 (1M context) 協助處理。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-03 21:33:57 +08:00 |
|
JianMiau
|
4c0f973841
|
讀不到當0 + 起步門檻8秒 + 剪輯log + 轉場改1秒
- smooth_speeds 改為「讀不到(None/??)一律當 GPS=0」,不再前向補值。
停車時 OCR 常讀不到或把 0 誤讀成小數字,當 0 後孤立誤讀會被中位數吃掉,
根本解決假性『起步』把一整段紅燈切兩半的問題(實測 02 的 05:18~07:45 已合為一段)
- depart_seconds 5 -> 8(起步要持續超過 8 秒才算真起步)
- transition_duration 0.5 -> 1.0(淡出淡入改 1 秒)
- 新增剪輯紀錄 <檔名>_cut_log.txt: 列出每段被剪掉的時間範圍與原因、保留片段
- find_keep_intervals 的 removals 改帶原因(dict),process_one 同步更新
- 移除先前嘗試的 depart_min_speed(改用讀不到當0更乾淨)
本次調整由 Claude Opus 4.8 (1M context) 協助開發與處理。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-03 21:07:03 +08:00 |
|
JianMiau
|
44b52a4cf9
|
新增 video_quality 參數控制檔案大小; 修正 NVENC 位元率
- 原本 NVENC 只給 -cq 沒搭 -rc,位元率爆高(約112Mbps),成品比原檔還大
- 改為 -rc vbr -cq,cq 才真正生效;新增 video_quality 參數(預設 30)
- 實測 11 秒 4K 測試片由 161.7MB 降到 74.9MB(-54%)
- video_quality 同時套用到 NVENC -cq 與 x264 -crf;數字越大檔案越小
- 同步更新 README
本次調整由 Claude Opus 4.8 (1M context) 協助處理。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-02 21:36:26 +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
|
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 |
|