프로젝트 소개

## 개요 Tachikaze는 이미 mp4로 변환된 녹화 파일을 **재인코딩 없이 CM 컷**하는 도구입니다. Amatsukaze에 강하게 영향을 받았으며, "이미 mp4로 만들어버린 녹화에도 Amatsukaze식의 CM 컷을 나중에 적용하고 싶다", "동계통 처리를 macOS / Linux에서도 실행하고 싶다"는 동기에서 제작되었습니다. 본체가 담당하는 것은 주로 "Trim 목록 → 무손실 mp4 추출"이며, CM 감지 자체는 기존 도구(chapter_exe → join_logo_scp)에 맡기는 구성입니다. ## 사용 방법 최단 실행 예시: ```console $ tachikaze auto IN.mp4 -o OUT.mp4 ``` `auto`는 `prepare` → `analyze` → gate → `cut` → `remap-subs`를 대화 없이 실행합니다. gate가 의심스럽다고 판단한 경우 cut 없이 종료되며, `--ignore-gate`로 무시할 수 있습니다. `analyze`/`auto`는 로고 검출을 기본적으로 활성화하고 로고 사각형도 입력에서 자동 추정합니다(`--no-logo`로 비활성화 가능). 판단을 끼고 싶다면 `analyze`로 Trim 목록을 출력한 뒤 `cut`으로 추출하는 2단계 사용법도 가능합니다. 복수 파일 처리는 셸 루프에 맡긴다는 전제로, 출력 이름을 `*_CMcut.mp4`로 고정해 glob 재섭취를 피하는 예시가 제시되어 있습니다. ## 의존성 본체 외에도 다음 외부 도구가 `PATH` 위에 필요합니다. - chapter_exe — 무음·장면 전환 감지 - join_logo_scp — CM 판정(Trim 생성) - dtvindex — 공통 프레임 번호 색인 - ffmpeg / ffprobe — prepare·검증 등 빌드는 `cargo build --release --locked`, 설치에서는 `make install`(기본값은 /usr/local, PREFIX 변경 가능). macOS의 ツールチェーン 절차나 Docker 문서도 준비되어 있습니다(Dockerfile은 공개되어 있으나 빌드된 이미지 레지스트리 배포는 하지 않습니다). ## 알려진 제한사항 - 동작 확인済み 환경은 macOS(Apple Silicon)과 Linux(arm64, Docker). Windows는 미지원 - 영상은 H.264, 오디오는 mp4-atom이 인식하는 Codec(대표 예 Opus / AAC) - GOP를 키 프레임 경계로 반올림하므로 컷 경계 근처 평균 2.1~2.5초의 CM이 잔존(허용하는 방향) - 1프로세스당 입력은 1본 ## 라이선스와 귀속 본체는 MIT(Copyright (c) 2026 Masayuki Mizuno). Amatsukaze 본체는 이식하지 않았으며, 알고리즘 및 파이프라인의 참조원·상상원으로 다룹니다. 로고 검출 일부(src/logo/score.rs, src/logo/interval.rs)는 Amatsukaze 유래 MIT 코드의 이식으로, 원전에 따른 저작권 표기를 보존하고 있습니다. 라이선스 미상의 delogo 유래 코드는 이식하지 않고, 수식에서 새로 작성했습니다. 실행 시 호출되는 외부 도구(chapter_exe / join_logo_scp / dtvindex / ffmpeg)는 GPL 계가 많지만, 별도 프로세스로 실행하는 것뿐 링크나 동일 주소 공간의 공유는 없으며, 주고받이는 파일과 커맨드라인 인수에만 국한됩니다.