graph TD ASR[ASR Output] --> TE[Transcription Errors] TE --> CP[CS Termse.g. sorting, overlap] TE --> TL[Toolse.g. DeepSeek, OpenCode] TE --> CN[Chinese Homophonese.g. ๅฐ็ฅ โ ๅฝๆฐ] TE --> FG[Filler Wordse.g. ๅ, ๅ, ๅฆ] style ASR fill:#5e81ac,color:#eceff4 style CP fill:#bf616a,color:#eceff4 style TL fill:#d08770,color:#eceff4 style CN fill:#b48ead,color:#eceff4 style FG fill:#a3be8c,color:#2e3440
graph LR IN["๐ฌ input.mp41116s"] --> SP[Split-c copy] SP --> C1["Chunk 1372s"] SP --> C2["Chunk 2372s"] SP --> C3["Chunk 3372s"] C1 --> DA1["๐ remove-dead-air(FFmpeg silencedetect)"] C2 --> DA2["๐ remove-dead-air"] C3 --> DA3["๐ remove-dead-air"] DA1 --> T1["Trimmed 1330s"] DA2 --> T2["Trimmed 2307s"] DA3 --> T3["Trimmed 3265s"] T1 --> CN["Concat-c copy"] T2 --> CN T3 --> CN CN --> OUT["๐ฌ output.mp4902s (-19%)"] style IN fill:#bf616a,color:#eceff4 style OUT fill:#a3be8c,color:#2e3440 style SP fill:#5e81ac,color:#eceff4 style CN fill:#5e81ac,color:#eceff4 style DA1 fill:#b48ead,color:#eceff4 style DA2 fill:#b48ead,color:#eceff4 style DA3 fill:#b48ead,color:#eceff4
graph TD VID["๐ฌ Input Video"] --> AUD["๐ต Extract Audio16kHz WAV"] AUD --> WH["๐ง Whisperword_timestamps=True"] WH --> WL["Word List(text, start, end)"] WL --> FD["Filler Detectionword-level match"] FD --> RM["Filler Rangesto remove"] RM --> IV["Invert โ KeepRanges"] IV --> FF["๐ฌ FFmpegfilter_complextrim + concat"] FF --> OUT["๐ฌ Clean Video"] style VID fill:#bf616a,color:#eceff4 style WH fill:#5e81ac,color:#eceff4 style FD fill:#b48ead,color:#eceff4 style FF fill:#d08770,color:#eceff4 style OUT fill:#a3be8c,color:#2e3440
graph LR RAW["๐ฌ Raw1116s"] --> SRT["๐ Fix SRTSubtitle Fixes"] SRT --> SIL["๐ Silence Removalremove-silent-gaps"] SIL --> FIL["๐ฃ๏ธ Filler Removalremove-filler-zh"] FIL --> FINAL["๐ฌ Final777s (-30%)"] style RAW fill:#bf616a,color:#eceff4 style SRT fill:#5e81ac,color:#eceff4 style SIL fill:#b48ead,color:#eceff4 style FIL fill:#d08770,color:#eceff4 style FINAL fill:#a3be8c,color:#2e3440
gantt title Video Duration Comparison dateFormat X axisFormat %s section Duration Original :a1, 0, 1116 After Silence :a2, 0, 902 After Fillers :a3, 0, 777 section Savings Silence Removed :b1, 902, 1116 Fillers Removed :b2, 777, 902
graph TD SK["โ๏ธ OpenCode Skills"] --> SRT["๐ fix-srtSRT transcription fixer"] SK --> VAL["โ validate-srtSRT validator"] SK --> SG["๐ remove-silent-gapsSplit + dead air removal"] SK --> FZ["๐ฃ๏ธ remove-filler-zhChinese filler removal"] SG --> DA["๐ง remove-dead-air(dependency)"] style SK fill:#5e81ac,stroke:#88c0d0,color:#eceff4 style SRT fill:#bf616a,color:#eceff4 style VAL fill:#a3be8c,color:#2e3440 style SG fill:#b48ead,color:#eceff4 style FZ fill:#d08770,color:#eceff4 style DA fill:#4c566a,color:#eceff4